范围计算式:, n是类型的字节数*8。
byte:
所能表示的数值范围: [-128,127]
所占的内存空间长度: 1字节/8位
short:
所能表示的数值范围: [-32768,32767]
所占的内存空间长度: 2字节/16位
int:
所能表示的数值范围: [-2147483648,2147483647]
所占的内存空间长度: 4字节/32位
long:
所能表示的数值范围: [-9223372036854775808,9223372036854775807]
所占的内存空间长度: 8字节/64位
/* 错误的赋值 */
/* 将超出类型所能表示的范围的数值赋值给类型,会发生编译错误 */
public class HelloWorld {
public static void main(String []args) {
byte a = -129; /* 下限溢出 */
byte b = 128; /* 上限溢出 */
System.out.println(a);
}
}
/**
Main.java:3: error: incompatible types: possible lossy conversion from int to byte
byte a = -129;
^
Main.java:4: error: incompatible types: possible lossy conversion from int to byte
byte b = 128;
^
2 errors
*/
/* 需要强制类型转换 */
public class HelloWorld {
public static void main(String []args) {
byte a = (byte)-129;
byte b = (byte)128;
System.out.println(a); //127
System.out.println(b); //-128
}
}
Java中各种类型的字面量
类型 字面量 int 1 long 1L float 1.0f double 1.0 char '1' 字符串 "1" 引用类型 null
Java 方法中的局部变量,使用是必须初始化。无论该类型是基本类型,还是引用类型。
自增自减运算符的结果始终是右值,即对一个基本类型变量,作自增和自减操作之后,不能再对表达式进行上述操作。