黑马程序员—Java基础学习笔记之数据类型转换(自动转换和强制转换)
2014-03-11 13:33
861 查看
----------- android培训、java培训、java学习型技术博客、期待与您交流! -----------
结果报错:损失精度,分析如下:
1st. byte b=3
——>3是int型,但系统会先判断3是不是在byte范围内(-128~127),在,所以int型的3可以放进byte类型的b中去,此条代码也就是初始化
2nd b=b+2——> b是byte型,2是int型,两者类型不同,一个占1个8位,另一个占4个8位,需要系统自动类型提升,最终结果为int型,占4个8位,而b是byte型,占1个8位,所以报错提示有损精度
3rd. 在此就需要“强制转换”,——>b=(byte)(b+2)强制转换为byte类型再赋进b中
下面是正确的强制转换例子
其中具体转换过程分析如下:
其最高位为1,即表示负数,在java中数据表现形式是三种即十进制,八进制,十六进制,在此需要将其转换为相应十进制,遵从负数二进制转换算法:取反,再加1,得出最终结果-127
注意:数据类型转换时,低位转高位——>数据类型提升;
高位转低位——>首先判断是否超过低位的取值范围,再做相应转换
----------- android培训、java培训、java学习型技术博客、期待与您交流! -----------
/*数据类型转换*/ class Demo { public static void main(String[] args) { byte b=3; b=b+2; System.out.println("b"); } }
结果报错:损失精度,分析如下:
1st. byte b=3
——>3是int型,但系统会先判断3是不是在byte范围内(-128~127),在,所以int型的3可以放进byte类型的b中去,此条代码也就是初始化
2nd b=b+2——> b是byte型,2是int型,两者类型不同,一个占1个8位,另一个占4个8位,需要系统自动类型提升,最终结果为int型,占4个8位,而b是byte型,占1个8位,所以报错提示有损精度
3rd. 在此就需要“强制转换”,——>b=(byte)(b+2)强制转换为byte类型再赋进b中
下面是正确的强制转换例子
class Demo1 { public static void main(String[] args) { //byte b=129; //编译错误,因为129超过byte取值范围 -128~127 byte b=(byte)129;//强制类型转换 System.out.println(b);//保留后8位 10000001 01111111=-127 } }
其中具体转换过程分析如下:
其最高位为1,即表示负数,在java中数据表现形式是三种即十进制,八进制,十六进制,在此需要将其转换为相应十进制,遵从负数二进制转换算法:取反,再加1,得出最终结果-127
注意:数据类型转换时,低位转高位——>数据类型提升;
高位转低位——>首先判断是否超过低位的取值范围,再做相应转换
----------- android培训、java培训、java学习型技术博客、期待与您交流! -----------
相关文章推荐
- java 从零开始,学习笔记之基础入门<数据类型的转换>(五)
- 第二十一篇 Java 数据类型的定义 ,以及基础类型的自动转换和强制转换
- 黑马程序员-JAVA学习笔记-基本数据类型及其转换
- 黑马程序员--Java基础学习笔记【数组操作、基本数据类型包装类】
- 黑马程序员J_ava学习笔记_Java中的基本数据类型转换详解
- 黑马程序员_java基础学习笔记01_变量,数据类型,运算符
- 【Java基础之数据类型转换】数据类型自动转换和强制转换、及相关常见面试题(如return (short)x / y* 2; 的返回类型)
- Java语言基础数据类型转换之强制转换
- JAVA学习(三):Java基础语法(变量、常量、数据类型、运算符与数据类型转换)
- daliu_it java基础笔记之 变量和数据类型以及数据类型之间的转换以及转义字符
- ios学习笔记之基础数据类型的转换
- 黑马程序员 JAVA基础--关键字,标识符,运算符,二进制的转换的学习笔记
- java语言基础(8)——数据类型转换(默认转换和强制转换)
- 【学习笔记三】最基本的JAVA基础[数据类型,运算符]
- Java学习笔记8. 数据类型的转换
- Java基础学习笔记(一)基本数据类型
- java基础学习笔记——基本数据类型对象包装类
- 黑马程序员【android】Java的数据类型的学习笔记二
- java基础学习笔记之数据类型
- Java基础学习笔记(一)基本数据类型