1.int:整型,4个字节,-21个多亿到21个多亿
- 整数直接量默认为int类型,但不能超出范围,若超范围则发生编译错误
- 两个整数相除,结果还是整数,小数位无条件舍弃(不会四舍五入)
- 运算时若超范围,则发生溢出(溢出不是错误,但是需要避免)
//1)int:整型,4个字节,-21个多亿到21个多亿
int a = 25; //25为整数直接量,默认为int型
//int b = 10000000000; //编译错误,100亿默认为int类型,但超出范围了
//int c = 25.678; //编译错误,整型变量中不能装小数
System.out.println(5/2); //2
System.out.println(2/5); //0
System.out.println(5/2.0); //2.5
int d = 2147483647; //int的最大值
d = d+1;
System.out.println(d); //-2147483648(int的最小值),发生溢出了
2.long:长整型,8个字节,很大很大很大
- 长整型直接量需在数字后加L或l
- 运算时若有可能溢出,建议在第1个数字后加L
//2)long:长整型,8个字节,很大很大很大
long a = 25L; //25L为长整型直接量
//long b = 10000000000; //编译错误,100亿默认为int类型,但超出int范围了
long c = 10000000000L;
//运算时若有可能溢出,建议在第1个数字后加L
long d = 1000000000*2*10L;
System.out.println(d); //200亿
long e = 1000000000*3*10L;
System.out.println(e); //不是300亿
long f = 1000000000L*3*10;
System.out.println(f); //300亿
3.double:浮点型,8个字节,很大很大很大
- 浮点数直接量默认为double型,若表示float需在数字后加F或f
- double和float型数据参与运算时,有可能会发生舍入误差,精确场合不能使用
//3)double:浮点型,8个字节,很大很大很大
double a = 3.14; //3.14为浮点型直接量,默认double型
float b = 3.14F; //3.14F为float型直接量
double c = 12340000000000000000000000.0;
System.out.println(c); //1.234E25,科学计数法表示,相当于1.234*(10的25次幂)
double d=3.0,e=2.9;
System.out.println(d-e); //0.10000000000000009,有可能发生舍入误差
4.boolean:布尔型,1个字节
- 只能存储true或false
//4)boolean:布尔型,1个字节
boolean b1 = true; //true为布尔型直接量
boolean b2 = false; //false为布尔型直接量
//boolean b3 = 25; //编译错误,布尔型只能取值为true或false
5.char:字符型,2个字节
- 采用Unicode字符集编码格式,一个字符对应一个码,表现的形式是字符char,但本质上是码int(0到65535之间), ASCII码:‘a’—97 ‘A’—65 ‘0’—48
- 字符型直接量必须放在单引号中,有且仅有一个字符
- 特殊符号需通过来转义
//5)char:字符型,2个字节
char c1 = '女'; //字符女
char c2 = 'f'; //字符f
char c3 = '6'; //字符6
char c4 = '*'; //字符*
//char c5 = 女; //编译错误,字符型直接量必须放在单引号中
//char c6 = ''; //编译错误,必须有字符
//char c7 = '女性'; //编译错误,只能有1个字符
char c8 = 65; //0到65535之间----一般不这么用
System.out.println(c8); //println()输出时会依据c8的数据类型来显示
//若c8为char型,则显示为字符
//若c8为int型,则显示为数字
char c9 = '\';
System.out.println(c9); //
6.String:字符串类型
- java.lang.String使用final修饰,不能被继承
- java中的String在内存中采用Unicode编码方式,任何一个字符占用两个字节的编码
- 字符串底层封装的是一个字符数组
- 字符串一旦创建,对象内容永远无法改变,但字符串引用可以重新赋值------不变对象
- 长整型直接量需在数字后加L或l
- 运算时若有可能溢出,建议在第1个数字后加L
//2)long:长整型,8个字节,很大很大很大 long a = 25L; //25L为长整型直接量 //long b = 10000000000; //编译错误,100亿默认为int类型,但超出int范围了 long c = 10000000000L; //运算时若有可能溢出,建议在第1个数字后加L long d = 1000000000*2*10L; System.out.println(d); //200亿 long e = 1000000000*3*10L; System.out.println(e); //不是300亿 long f = 1000000000L*3*10; System.out.println(f); //300亿3.double:浮点型,8个字节,很大很大很大
- 浮点数直接量默认为double型,若表示float需在数字后加F或f
- double和float型数据参与运算时,有可能会发生舍入误差,精确场合不能使用
//3)double:浮点型,8个字节,很大很大很大 double a = 3.14; //3.14为浮点型直接量,默认double型 float b = 3.14F; //3.14F为float型直接量 double c = 12340000000000000000000000.0; System.out.println(c); //1.234E25,科学计数法表示,相当于1.234*(10的25次幂) double d=3.0,e=2.9; System.out.println(d-e); //0.10000000000000009,有可能发生舍入误差4.boolean:布尔型,1个字节
- 只能存储true或false
//4)boolean:布尔型,1个字节 boolean b1 = true; //true为布尔型直接量 boolean b2 = false; //false为布尔型直接量 //boolean b3 = 25; //编译错误,布尔型只能取值为true或false5.char:字符型,2个字节
- 采用Unicode字符集编码格式,一个字符对应一个码,表现的形式是字符char,但本质上是码int(0到65535之间), ASCII码:‘a’—97 ‘A’—65 ‘0’—48
- 字符型直接量必须放在单引号中,有且仅有一个字符
- 特殊符号需通过来转义
//5)char:字符型,2个字节 char c1 = '女'; //字符女 char c2 = 'f'; //字符f char c3 = '6'; //字符6 char c4 = '*'; //字符* //char c5 = 女; //编译错误,字符型直接量必须放在单引号中 //char c6 = ''; //编译错误,必须有字符 //char c7 = '女性'; //编译错误,只能有1个字符 char c8 = 65; //0到65535之间----一般不这么用 System.out.println(c8); //println()输出时会依据c8的数据类型来显示 //若c8为char型,则显示为字符 //若c8为int型,则显示为数字 char c9 = '\'; System.out.println(c9); //6.String:字符串类型
- java.lang.String使用final修饰,不能被继承
- java中的String在内存中采用Unicode编码方式,任何一个字符占用两个字节的编码
- 字符串底层封装的是一个字符数组
- 字符串一旦创建,对象内容永远无法改变,但字符串引用可以重新赋值------不变对象



