java基本数据类型及相互间的转换
2016-02-12 16:42
507 查看
1.首先复习一下java的基本数据类型,见下图
2.比较他们的字节数
备注:1字节(Byte)=8位(Bit)
3.转换中的知识点
*java中整数类型默认的int类型;小数类型默认的double;
*char 可以当做一中特殊的整数类型;
*int无法转换为boolean;
*小数类型转为整数类型,小数可能被舍弃,所有出现精度损失,所以需要强制转换;
*boolean 类型不能转换成任何其它数据类型;
4.四则运算中
/*
1、如果两个操作数中有一个是double类型,另一个就会转换为double类型;
2、否则,如果有一个操作数是float,另一个就会转化为float;
3、否则,如果有一个操作数是long,另一个就会转换为long;
4、否则,两个操作数都将转换为int类型。
*/
*面试陷阱
*面试陷阱2:
5.最后是从小到大顺序图一张
2.比较他们的字节数
备注:1字节(Byte)=8位(Bit)
3.转换中的知识点
*java中整数类型默认的int类型;小数类型默认的double;
*char 可以当做一中特殊的整数类型;
*int无法转换为boolean;
*小数类型转为整数类型,小数可能被舍弃,所有出现精度损失,所以需要强制转换;
*boolean 类型不能转换成任何其它数据类型;
byte b2 = 120; //没报错的原因: //编译时候,进行检查,看赋值大小是否超过变量的类型所容纳的范围 //如果超过,报错:从int转换到byte可能会有损失,如果没超过,编译通过
float f3 = 100L; 这种情况,整数部分,可以直接赋值给float整数部分
float f1 = 100.9; 这种情况,因为默认的是double,如果这样转换,有可能失去小数点,必须强制转换
long l3 = 1000.9f; 小数转为整数,小数可能丢失,需要强制转换
double d2 = 10.9d; int i2 = d2; //错误: 不兼容的类型: 从double转换到int可能会有损失
char c1 = 'a'; int i3 = c1; //自动转换 int i4 = 100; //char c2 = i4;// 错误: 不兼容的类型: 从int转换到char可能会有损失
4.四则运算中
/*
1、如果两个操作数中有一个是double类型,另一个就会转换为double类型;
2、否则,如果有一个操作数是float,另一个就会转化为float;
3、否则,如果有一个操作数是long,另一个就会转换为long;
4、否则,两个操作数都将转换为int类型。
*/
*面试陷阱
byte b1 = 10; byte b2 = 11; //错误: 不兼容的类型: 从int转换到byte可能会有损失 //否则,两个操作数都将转换为int类型。 byte b3 = b1 + b2 //错误 byte b3 = (byte)(b1 + b2); //正确
*面试陷阱2:
short s1 = 1; s1 = s1 + 1; //错误: 不兼容的类型: 从int转换到short可能会有损失 short s2 = 1; s2 += 1; // 等同于short s2 = (short)(s2 + (short)1); //正确
5.最后是从小到大顺序图一张
相关文章推荐
- Java正则表达式特殊字符
- java基础15迭代器
- Windows 安装 JDK 环境变量设置
- How to solve “Dynamic Web Module 3.1 requires Java 1.7 or newer” in Eclipse
- java基础15迭代器
- Map 集大成者
- java字符操作获取汉字的拼音以及其它经常使用工具
- Java学习笔记4-反射
- 在java中的基础点
- Spring解析(一) IOC容器
- spring(AOP)多个切面
- java基础20递归
- Java认证考试实例疑难辨析(7)
- Eclipse调试程序的方法
- java休眠
- 《Java程序设计》第三章-基础语法
- java中常用的工具类
- java调用R语言--以Rserve方式
- java.lang.NoClassDefFoundError: ognl/PropertyAccessor解决的方法
- java 程序自动升级引起环境变量的问题