1.整形
bit是计算机中的最小存储单位。
byte是计算机中的基本存储单元。
1MB=1024KB——1KB=1024B(byte)
public class JavaTest { public static void main(String[] args) { byte b1 = 18; byte b2 = -128; //b2 = 128;超出范围,编译失败。 //声明long类型的变量,必须以L(l)结尾。 short s1 = 128; int i1 = 1234; long l1 = 999999L; } }
2.浮点型
float尾数可以精确到7位有效数字。
double是float的两倍,通常用它。
public class JavaTest { public static void main(String[] args) { double d1 = 12.4; //声明float型需要在结尾加上F(f)。 float f1 = 12.4f; } }
3.字符型
char(1字符=2字节)
public class JavaTest { public static void main(String[] args) { //定义char型变量,用一对英文单引号('')包住一个字符。 char c1 = 'a'; //char c2 = 'ab';编译不通过。 char c3 = '中'; char c4 = '1'; //也可以使用转义字符 char c5 = '\n'; //也可以使用Unicode值 char c6 = '\u0043'; } }
常用转义字符
转义字符 | 说明 |
---|---|
\b | 退格符 |
\n | 换行符 |
\t | 制表符 |
\r | 回车符 |
\" | 双引号 |
\' | 单引号 |
\\ | 反斜杠 |
4.布尔型boolean
boolean bl1 = true; boolean bl2 = false;
5.自动类型提升
当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的数据类型,需要用容量大的数据类型变量来接收。(容量大小是说表示数的范围大小,而不是所占存储空间大小,比如long比float容量小)
byte,char,short–>int–>long–>float–>double
特别的,当byte,char,short数据类型的变量之间或自己做运算时,结果为用int型接收。
6.强制类型转换
格式:(目标类型)xxx
可能导致精度损失
自动类型提升顺序反过来
double d1 = 12.9; //精度损失1 int i1 = (int)d1; //截断操作,结果为12 //没有精度损失 long l1 = 123; short s1 = (short)l1; //结果为123 //精度损失2 int i2 = 128; byte b1 = (byte)i2; //结果为-128(byte(-128~127)最大为127,所以超出就循环)
7.注意