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

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.

TeeTier  10.01.2016, 09:15

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

0
if (zahl % 2 == 0)
// ist teilbar
else
// ist nicht teilbar

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

disg21  09.01.2016, 22:36

was ist ein Modulo-Operator? :D

0
Schachpapa  09.01.2016, 23:03
@Unkreatiiiev

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.

3