Czytałem, że w Java7 możemy teraz napisać ten zabawny oświadczenie:Znaczenie 0_0 w Javie 7
public static boolean isZero(int O_O){
return O_O == 0_0;
}
Pytanie brzmi: Co dokładnie 0_0
oznacza w tym kontekście?
Czytałem, że w Java7 możemy teraz napisać ten zabawny oświadczenie:Znaczenie 0_0 w Javie 7
public static boolean isZero(int O_O){
return O_O == 0_0;
}
Pytanie brzmi: Co dokładnie 0_0
oznacza w tym kontekście?
Podkreślenie znaków w literałach numerycznych jest dozwolone w Javie 7 tylko dla celów czytelności. Od javadocs:
w Java SE 7 i później, dowolną ilość znaków podkreślenia (_) może pojawić się w dowolnym miejscu pomiędzy cyfr w numerycznym dosłowne. Ta funkcja umożliwia, na przykład, do oddzielnych grup cyfr numerycznych literałów, które mogą poprawić czytelność kodu
Wow, popatrz na ten numer! – iamnotmaynard
O co do cholery! +1 ode mnie X_X – Bart
Kiedy widzę wspinaczkę numerową, nie mogę się oprzeć dodaniu – arynaq
podkreślenia są valid w liczbach, o ile nie są one pierwszym znakiem, ostatnia znaków lub bezpośrednio po każdej stronie 0x
, 0b
itp. Zasadniczo między cyframi. Na przykład: 4_294_967_296
jest bardziej standardowym zastosowaniem.
Twój kod sprawdzi, czy przekazana int jest równa zero.
Jednak nie jest to liczba dziesiętna, ale raczej ósemkowa. 0_12
nie jest równy 12
ani 1_2
. Zamiast tego pierwsze jest równe 10 w systemie dziesiętnym.
Literały binarne zostały dodane w Javie 1.7.
W Javie 7 można dodać podkreślenia w celu zwiększenia czytelności numeru literałów:
int oldMillion = 1000000;
int newMillion = 1_000_000;
Jest to szczególnie przydatne w przypadku danych binarnych:
byte oldMax = 0b01111111;
byte newMax = 0b0111_1111;
Czy to próbował? –
http://docs.oracle.com/javase/7/docs/technotes/guides/language/underscores-literals.html –
Dostaję retrospekcje do Fortran, które zezwalają na spacje w liczbach dla "czytelności" –