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()
2 Antworten
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.
Der Compiler macht aus "x % 2" sowieso automatisch "x & 1", von daher hast du schon Recht: Lieber guten Stil bevorzugen! :)
if (zahl % 2 == 0)
// ist teilbar
else
// ist nicht teilbar
% ist der Modulo-Operator, ermittelt den Rest bei Division.
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.
was ist ein Modulo-Operator? :D