java是一门强类型语言,这意味着每个变量都声明了一种类型。java有8中基本类型,其中包括4种整型类型,2种浮点型类型,一种字符型类型和一种布尔类型。
整型
整型及存储整数的类型,Java种有四种整型基本类型,如下表:
| 类型 | 字节数 | 范围 |
|---|---|---|
| byte | 1字节 | $-2^7$$2^7$-1 (-128 |
| short | 2字节 | $-2^{15}$$2^{15}$-1 (-32768 |
| int | 4字节 | $-2^{31}$$2^{31}$-1(-21亿 |
| long | 8字节 | $-2^{63}$~$2^{63}$-1 |
注意事项:
- 整型类型声明时,如果赋值的数字超过整型的范围,idea编译器会报错,如:
//大于127,编译报错
byte b = 256
- 赋值可以由低字节类型直接赋值到高字节类型,如:
//正确写法
byte b = 127;
int i = b;
当由高字节类型向低字节类型赋值时,编译器会报错,此时需要类型强转,如:
//强转后编译通过,但是由于值超过byte的范围,此时打印b,b的值为-67
int i= 189;
byte b = (byte) i;
3.声明long类型时,需要在数字后面标l或L,不加l默认为int类型,如:
long l = 213434342543656L;
//此时默认为int类型,编译报错,超出int类型取值范围
long l = 213434342543656;
浮点型
浮点型用于存储小数,java中有两种浮点型基本类型,如下:
| 类型 | 长度 | 符号位 | 指数位 | 尾数位 |
|---|---|---|---|---|
| float | 32位 | 1位 | 8位 | 23位 |
| double | 64位 | 1位 | 11位 | 52位 |
| 注意事项: | ||||
| 1.java中的小数默认为double类型,如果要使用float类型需要在小数后加f或F。 |
//编译错误
float f = 3.13;
//编译正确
float f = 3.13f;
2.浮点数存在误差,如计算2.0-1.1得到的结果将是0.8999999999999999,因为利用2进制无法表示出所有的分数。
字符型
char用于表示单个字符,长度为2个字符,赋值时使用'',如下:
char c = 'A';
注意事项: 1.char类型只能赋值单个字符,并用''引用,利用”“的为字符串
//编译报错
char c = 'aaa';
2.char类型可以直接转换为int类型,转换后的值为字符对应的ascii码
char c = 'a';
int i = c; // i=97
布尔型
boolean 类型用于表示逻辑判断的结果,有true和false两个值,长度为一个字节
boolean b = true;
注意事项: 1.boolean 类型与整型无法转换
//错误
if(0){
}