2013-07-29 7 views
14

Ich habe gelesen, dass in Java7, können wir jetzt diese lustige Aussage schreiben:Bedeutung der 0_0 in Java 7

public static boolean isZero(int O_O){ 
    return O_O == 0_0; 
} 

Die Frage ist: Was genau macht 0_0 in diesem Zusammenhang?

+8

Sie es versucht haben? –

+2

http://docs.oracle.com/javase/7/docs/technotes/guides/language/underscores-literals.html –

+0

Ich bekomme Rückblenden zu Fortran, die Leerzeichen in Zahlen für "Lesbarkeit" erlaubten –

Antwort

42

Unterstreichungszeichen in numerischen Literalen sind in Java 7 nur zum Zweck der Lesbarkeit zulässig. Von der javadocs:

In Java SE 7 und höher, eine beliebige Anzahl von Unterstrichen (_) können erscheinen überall zwischen den Ziffern in einer numerischen Literal. Diese Funktion ermöglicht es Sie, , beispielsweise auf getrennte Gruppen von Ziffern in numerisch Literale, die die Lesbarkeit des Codes

+8

Wow, sieh dir diese Zahl an! – iamnotmaynard

+0

O was zum Teufel! +1 von mir X_X – Bart

+0

Wenn ich eine Zahl klettern sehe, kann ich nicht widerstehen, – arynaq

8

Unterstreichungen sind valid in Zahlen verbessern können, solange sie nicht das erste Zeichen sind, zuletzt Zeichen, oder direkt auf beiden Seiten 0x, 0b usw. Grundsätzlich zwischen Ziffern.

Zum Beispiel ist 4_294_967_296 eine Standardanwendung davon.

Ihr Code überprüft, ob der übergebene int gleich null ist.

Dies ist jedoch kein dezimaler int, sondern ein oktaler int. 0_12 ist nicht gleich 12 oder 1_2. Stattdessen ist Ersteres gleich 10 in Dezimal.

Binärliterale wurden in Java 1.7 hinzugefügt.

15

In Java 7 können Sie Unterstrichen fügen Sie die Lesbarkeit von Zahlenliterale zu erhöhen:

int oldMillion = 1000000; 
int newMillion = 1_000_000; 

Es ist besonders nützlich, mit binären Daten:

byte oldMax = 0b01111111; 
byte newMax = 0b0111_1111;