class Main {
public static void main (String[] args){
long value = 1024 * 1024 * 1024 * 80;
System.out.println(Long.MAX_VALUE);
System.out.println(value);
}
}
wyjściowa wynosi:Pomnożenie długich wartości?
9223372036854775807 0
Jest to poprawne, jeśli long value = 1024 * 1024 * 1024 * 80L;
!
arytmetyczna na, powiedzmy, 'short's nie odbywa jak' short's, jak to się robi 'int's . –
Tom: To bardzo interesujące, nigdy bym tego nie wiedział. Właśnie przetestowałem to z dwoma szortami (w C#, ale podobną akcją), i to Zrobiło matematykę jako Integer ... To musi być po prostu użycie Int jako wartości domyślnej dla zwykłych typów numerycznych. – Erich
tj. krótki x = 0; krótki y = 0; x = x + y; podaje błąd niedopasowania typu. – pmu