Суффиксы типов в Java
Сразу после цифр можно поставить букву.
Ее называют суффиксом. Буква задает
тип самого числа. Например, буква L
задает long:
long num = 100L;
System.out.println(num); // выведет 100
Буква f задает float:
float num = 3.14f;
System.out.println(num); // выведет 3.14
Буквы пишут и большими, и маленькими:
long num = 100l;
System.out.println(num); // выведет 100
И так тоже:
float num = 3.14F;
System.out.println(num); // выведет 3.14
Буква L не обязательна, если число входит
в int, а тип long уже написан слева:
long num = 100;
System.out.println(num); // выведет 100
Без буквы целое имеет тип int, если оно
в него входит:
int num = 50;
System.out.println(num); // выведет 50
Если целое в int не входит, без буквы
L программа не собирается:
long num = 3000000000L;
System.out.println(num); // выведет 3000000000
Дробь без буквы имеет тип double:
double num = 3.14;
System.out.println(num); // выведет 3.14
В тип float дробь без буквы f
не кладут. Буква нужна, даже если float
уже написан слева.
Дан следующий код:
long num1 = 100;
int num2 = 50;
double num3 = 2.5;
System.out.println(num1);
System.out.println(num2);
System.out.println(num3);
Скажите, соберется ли этот код без суффиксов.
Какой тип у числа 50, если буквы
после него нет?
Какой тип у числа 3.14, если буквы
после него нет?
Какой тип у записи 3.14f?
Какой тип у записи 100L?
Дан следующий код:
long num = 3000000000;
Скажите, соберется ли этот код.