1.基本数据类型精度
数据类型按容量大小排序为:char,byte,short -->int -->long --> float --> double
2.类型转换
自动类型转换是指一个容量小数据类型转换容量大的数据类型
强制类型转换是指强制容量大的数据类型转换为容量小数据类型
注意:
- 强制转换时有可能失真
- 当char、byte、short之间做运算时,默认的结果为int类型
- boolean类型不可以转换为其它的数据类型
- 字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型
3.字符串与基本数据运算
字符串与基本数据类型之间的运算:只能是连接运算 + 得到的结果仍为字符串
package com.yyx.pratice; public class JavaPratice { public static void main(String[] args) { short s1=1; /* * s1=s1+1; * s1是short型,1是int型(1会被自动归为int型),二者相加, * 首先s1会被自动转为int型,相加的结果也就为int型。然而表达式的左边: * s1是short型。此时就需要把表达时的右侧的数据类型强制转换为shor型, * 所以s1=s1+1;存在问题,会报出编译错误,正确的写法应该是s1=(short)(s1+1); */ s1=(short) (s1+1); s1+=1; //不会更改s1的数据类型 /* * 自动类型转换 */ int s2=s1; short s3=2; /* * 当char、byte、short之间做运算时,默认的结果为int类型 * 需要强制转换 */ short s4=(short) (s3+s3); long l1=235654756756346546l; /* * 强制转换时有可能失真 * 运行结果-1307060558 */ System.out.println((int)l1); /* * 字符串与基本数据类型之间的运算:只能是连接运算 + 得到的结果仍为字符串 * 运行结果 abc2 */ String str="abc"; System.out.println(str+s3); } }