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

Do czego służy operator `?`?
Mateusz Jurkiewicz
  • Rejestracja:ponad 5 lat
  • Ostatnio:ponad 5 lat
  • 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?

edytowany 4x, ostatnio: cerrato
Patryk27
Jak dobrze zatytułować wątek? + kod powinien być wrzucony w backtiki: `
Patryk27
Moderator
  • Rejestracja:prawie 18 lat
  • Ostatnio:prawie 2 lata
  • 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;
}

edytowany 1x, ostatnio: Patryk27

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.