java数据类型转换总结
2017-09-21 18:14
387 查看
数据转换一般跟类型的所占空间大小有关,八大基本数据类型所占大小:
byte:1个字节
short、char:2个字节
int、float:4个字节
long、double:8个字节
自动转换
是指不需要书写代码,由系统自动完成的类型转换。要求如下:
1、两种数据类型彼此兼容;如数值型与布尔型不兼容则无法转换
2、类型存储范围由小到大:byte→short(char)→int→long→float→double
例1:byte可以自动转换成int类型
例2:表达式自动转换
例3:运算符赋值的自动转换
例4:自动转换成字符串
手动转换
类型储存范围由大到小
结果会造成精度丢失
例:由short类型转换byte类型
由此可以表明:在转换期间16位的short转8位的byte类型,会丢失8位的数据;
其它类型依次类推
byte:1个字节
short、char:2个字节
int、float:4个字节
long、double:8个字节
自动转换
是指不需要书写代码,由系统自动完成的类型转换。要求如下:
1、两种数据类型彼此兼容;如数值型与布尔型不兼容则无法转换
2、类型存储范围由小到大:byte→short(char)→int→long→float→double
例1:byte可以自动转换成int类型
byte a = 1; int b = a; 虚拟机首先将byte类型a转换成int类型,再赋值给b
例2:表达式自动转换
byte a1 = 1; byte a2 = 2; byte a3 = a1 + a2; 这样写会报错,在表达式运算期间会自动提升至int类型再做运算,正确写法: byte a1 = 1; byte a2 = 2; int a3 = a1 + a2;
例3:运算符赋值的自动转换
short a = 3; int i = 5; s += i; System.out.println(s); 输出结果为:8 类推:+=、-=、*=、/=、%=都可以自动完成转换
例4:自动转换成字符串
String a = "aaa"; int b = 3; System.out.println(a + b); 输出结果为:aaa3
手动转换
类型储存范围由大到小
结果会造成精度丢失
例:由short类型转换byte类型
short a = 853; //853二进制为00000011 01010101(short为2字节16位) byte b = (byte)a; //用(数据类型)添加在属性前边实现强制转换 System.out.println(b); 输出结果为:85 //85二进制为01010101(byte为1字节8位)
由此可以表明:在转换期间16位的short转8位的byte类型,会丢失8位的数据;
其它类型依次类推
相关文章推荐
- java数据类型转换小总结
- 黑马程序员_Java基础(数据类型,数据类型转换,scanner语句总结)
- java中String类型转换成基本数据类型总结
- java中数据类型转换总结
- java学习总结(16.05.23)java数据类型的转换
- date数据类型再java中的转换总结
- 3.6 java基础总结①包装类,基本数据类型,String相互间转换
- Java中八种基本数据类型占用字节空间总结和数据类型之间的转换
- Java学习总结之数据类型转换
- java基础学习总结二(标识符、字符集、数据类型以及类型转换)
- java中数据类型转换总结
- Java基础小知识——基本数据类型和字符串以及字节数组的转换
- JAVA基本数据类型与其他语言数据类型之间的转换方法
- 简要JAVA数据类型转换
- java数据类型转换
- Java中数据类型之间的转换
- Java数据类型间的相互转换
- JAVA 中常用数据类型转换
- JAVA数据类型转换
- Java 数据类型 和 与String之间的转换