一、字面常量
字符串常量 | " " |
整型常量 | 100 |
浮点数常量 | 3.14 |
字符常量 | ' ' |
布尔常量 | true false |
空常量 | null |
二、数据类型
1.基本数据类型
四类:整型、浮点型、布尔型、字符型
八种:
类型 | 数据类型 | 关键字 | 占用 |
整型 | 字节型 | byte | 1字节 |
短整型 | short | 2字节 | |
整型 | int | 4字节 | |
长整型 | long | 8字节 | |
浮点型 | 单精度浮点数 | float | 4字节 |
双精度浮点数 | double | 8字节 | |
字符型 | / | char | 2字节 |
布尔型 | / | boolean | / |
tips:
Java中没有0假1真,只有true和false
Java中没有无符号类型
不论是16位系统还是32位系统,byte占1字节,short占2字节,int占4字节,long占8字节
整型、浮点都有符号
三、变量
局部变量在使用前必须初始化
1.整型变量
(1)整型(包装类型:Integer)
int型变量的范围:Integer.MIN_VALUE~Integer.MAX_VALUE(即:-2^31~2^31-1)
直接赋值的值大于(小于)这个类型的范围会报错,但是使用Integer.MIN_VALUE(Integer.MAX_VALUE)不会
int a =2147483648 #错误,超出范围
int a =Integer.MAX_VALUE +1 #正确
(2)长整型(包装类型:Long)-2^63~2^63-1
long类型变量的初始值之后加l或L,一般用L
long a =10L
(3)短整型(包装类型:Short)-2^15~2^15-1
(4)字节型(包装类型:Byte)-128~127
2.浮点型
(1)单精度(包装类型:Float)
float a=45.2f
(2)双精度(包装类型:Double)
3.字符型 (包装类型:Character)
4.布尔类型 (包装类型:Boolean)
四、类型转换
1.自动类型和转换(隐式)
范围小->范围大
2.强制类型转换(显式)
范围大->范围小
可能精度丢失,且不一定成功,不相干的类型不能相互转换
五、类型提升
1.int和long
int会提升为long
int a =10;
long b=20;
int c=a+b;#编译出错,int+long->long+long->赋值给int会丢失数据
long d=a+b;#编译成功
2.byte和byte
低于4字节的类型会先提升为int
byte a=10;
byte b=20;
byte c=a+b;#编译报错,a和b相加会先提升为int,再赋值给int,会丢失
byte c=(byte)a+b;
六、字符串类型转换
1.字符串拼接用+
2.int转String
int a=10;
#方法一
String s=a+"";
#方法二
String s=String.valueof(a);
3.String转int
String s="100";
int a=Integer.parseInt(str);