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

...komplette Frage anzeigen

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.

Antwort bewerten Vielen Dank für Deine Bewertung
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.

Antwort bewerten Vielen Dank für Deine Bewertung
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

Was möchtest Du wissen?