package alx.p04_operatory;

public class Leniwosc1 {
	public static void gorliwa() {
		// opertor "gorliwy"
		// zawsze oblicza obie strony wyrażenia logicznego, a dopiero potem daje wynik false / true
		if(lewy() & prawy()) {
			System.out.println("prawda");
		} else {
			System.out.println("fałsz");
		}
	}

	public static void leniwa() {
		// operator "leniwy"
		// jeśli lewa strona rozstrzyga o ostatecznym wyniku, to prawa strona nie jest sprawdzana
		if(lewy() && prawy()) {
			System.out.println("prawda");
		} else {
			System.out.println("fałsz");
		}
	}

	private static boolean lewy() {
		System.out.print("lewy ");
		return false;
	}

	private static boolean prawy() {
		System.out.print("prawy ");
		return true;
	}

	public static void main(String[] args) {
		System.out.println("wersja gorliwa");
		gorliwa();
		
		System.out.println("\nwersja leniwa:");
		leniwa();
	}
}
