Frage von TotalConquest, 36

Wie kann man in Java in einer if-Anweisung schreiben, dass eine Zahl durch 2 teilbar sein soll?

Der Code schaut so aus (was soll ich in die Klammer schreiben?)!! if()

Antwort
von Schachpapa, 17

Im Prinzip könntest du auch

if (zahl & 1 == 0) ...

schreiben und würdest damit das niederwertigste Bit prüfen. Das geht dann aber nur für 2 und lässt sich nicht auf beliebige Teilbarkeitsprüfungen übertragen. Ob's ein paar Nanosekunden schneller ist, müsste man mal ausprobieren. Ich würde es eher nicht als guten Programmierstil bezeichnen.

Kommentar von TeeTier ,

Der Compiler macht aus "x % 2" sowieso automatisch "x & 1", von daher hast du schon Recht: Lieber guten Stil bevorzugen! :)

Antwort
von Schachpapa, 28
if (zahl % 2 == 0)
// ist teilbar
else
// ist nicht teilbar

% ist der Modulo-Operator, ermittelt den Rest bei Division.

Kommentar von disg21 ,

was ist ein Modulo-Operator? :D

Kommentar von Unkreatiiiev ,

?!?

Kommentar von Schachpapa ,

habe ich doch geschrieben. Der Modulo-Operator (auch Rest-Operator genannt) ermittelt den Rest bei Division.

Beispiel 26 durch 7 ist 3 Rest 5:

Nach der Anweisung a = 26 % 7 hat a den Wert 5

Zur ursprünglichen Frage: Bei Division durch 2 kann nur Rest 0 oder 1 auftreten. 0 heißt gerade, 1 heißt ungerade.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten