JAVA 的数据类型
四、基本数据类型
1、分类:数值类型和布尔类型(boolean)
(1)数值类型:分为整数类型、浮点类型和字符型。
(6)浮点类型:分为float和double
float:4字节 单精度
double:8字节 双精度 范围更大,更准确
java中所有的小数默认都是double,除非float f=1.1f;
(7)字符型:a.编码:unicode
b、2个字节表示一个字符
c、char char c=‘c’ ‘’只能放一个
d、0-65535,从0开始,没有负数
e、根据的是unicode码表,数值65码值
2、布尔类型(boolean):(1)、一般用于逻辑判断
(2)、1个字节只用了1位
(3)开关 true false
五、引用数据类型
1、数组
2、类
3、接口
六、运算符
1 、算数运算符:+,-,*,/,++(自增符号),--(自减符号)
i++:先赋值再运算 ++i:先运算再赋值
2、赋值运算符:=
3、可扩展运算符:+=,-=,*=,/=,%=
4、关系运算符:<,>,<=,>=,==,!= 所有的关系运算符返回值是boolean,要么真,要么假
5、位运算符
七、类型转换
1、分类:自动类型转换和强制类型转换
2、自动类型转换:
(1)byte b=10;只要是在-128-127之间,可以自动转换成byte
(2)int c=b+10; 数值运算时,会尽量往精确度高的方向提升。体现在,byte+int=int;int+float=float
(3)byte b=10+7; 可以编译成功,因为右面是常量(=)
(4)byte b=10;byte c=5;b=b+c; 因为右面是常量,编译器阶段检查不出是否在范围内
(5)特殊:b+=(b+10) 成功,因为特殊,扩展赋值符
如果是扩展赋值符,右面就不用管了,全都能编译成功,底层已经做了自动类型强转
(6)char c='a';c+1 根据unicode编码表,去查找码值,在和数值相加
(7)b=b+10;b+=10;
b=b+10;编译失败,因为右面是变量,编译器不能在编译的时候不能确定右面的值是否在-128-127之间
b+=1;编译成功,因为扩展运算符,编译器底层自动类型强转
b+=(b+10);编译成功,因为扩展符赋值符会默认将右面强转
3、强制类型转换
(1)b=(byte)(b+10);精度丢失,出现负数
(2)char c='a';(char)(c+1) 根据码值去相应的unicode码表找相应的字符
4、两个数运算时候,类型的一致