Long类型变量末尾要加上L或者l标记。一般用大写L,因为小写l看起来像数字1
package LongTest;
public class LongTest{
public static void main(String[] args)
{
byte b1 = 125;//占8位,范围在-128~127
short s1 = 12345;//占16位,范围在-32768~32767
int i1 = 425565;//占32位,范围在-2147483648~2147483647
/*下面的一行编译时会报错,提示过大的整数。这时因为如果一个整数写在源代码中,系统默认为int,5432453432424 已经超过了int的范围。如果解决这个问题,
必须告诉系统,该数字是个long类型。解决方法在该数字后加上一个L 或者l . 即long l1 =5432453432424L ;或者long l1 =5432453432424l ;
*/
long l1 =5432453432424;//占64位,范围在-9223372036854775808 ~9223372036854775807
}
}
注意1. 不能将超出范围的数值直接赋给一个变量。比如: byte b1 = 457;
2. 在给变量赋值时,也可以指定相应的进制,正常情况下是10进制,但是如果在数值前面加了符号0,表示是八进制,如果加了符,0x或者0X,表示是十六进制。
例如下面的代码
int i2 = 12;
int i3 = 012;
int i4 = 0x12;
System.out.println("i2 = "+ i2);
System.out.println("i3 = "+ i3);
System.out.println("i4 = "+ i4);
打印出的结果为:
i2 = 12
i3 = 10
i4 = 18