Do czego służy operator `?`?

Do czego służy operator `?`?
Mateusz Jurkiewicz
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 4
0
Kopiuj
class A{
	public static void main (String [] args ){
		int x=4;
		x=x==4?x/2:x%2;
		System.out.println (x);
	}
}

Czy może mi ktoś wytłumaczyć jak program oblicza to równanie?

Patryk27
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Wrocław
  • Postów: 13042
7

Najpierw poprawmy formatowanie:

Kopiuj
x = (x == 4) ? (x / 2) : (x % 2);

Teraz: ? to ternary operator - tłumaczy się go tak:

Kopiuj
if (x == 4) {
  x = x / 2;
} else {
  x = x % 2;
}

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.