Java学习:数据类型转换注意事项
数据类型的转换
当数据类型不一样时,将会发生数据类型转换。
自动类型转换(隐式)
1.特点 :代码不需要进行特殊处理,自动完成。
2.规则 :数据范围从小到大。
//左边是long类型,右边是默认的int类型,左右不一样 //将右边的int常量,交给左侧的long变量进行存储 //int--> long ,符合数据范围从小到大的要求 long num1 = 100; System.out.println(num1); double num2 = 2.5F; System.out.println(num2)
强制类型转换(显式)
1.特点 :代码需要进行特殊处理,不能自动完成。
2.格式 :范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据;
//左边是int类型,右边是long类型,不一样 //long --> int,不是从小到大 //不能发生自动类型转换 //范围小的类型 范围小的变量名 = (范围小的类型)原本范围大的数据; int num1 = (int) 100L; System.out.println(num1)//100 int num2 = (int)777777777777L; System.out.println(num2);//170532704 int num3 = (int)3.77; System.out.println(num3);//3 所有小数被舍弃 char zifu = 'A'; System.out.println(zifu + 1);//66 这里的A被当作65处理
注意事项:
1.强制类型转换一般不推荐使用,因为有可能发生精度损失,数据溢出。
2.byte/short/char这三种类型都可以发生数学运算,例加法“+”
3.byte/short/char这三种类型在运算的时候,都会被首先提升成为int类型,然后再计算。
4.Boolean类型不能发生数据类型转换
数字和字符的对照关系表(编码表)
ASCII码表:American Standard Code for Information Interchange,美国信息交换标准代码。
Unicode码表:万国码。也是数字和符号的对照关系,开头0-127部分和ASCII一样,但是从128开始包含有更多字符。
48 --- ’0‘ 65 --- ’A‘ 97 --- ’a'
愿路途漫长,以后莫失莫忘。 愿你不骄不躁,安稳顺心。
作者:菜鸟-传奇
本文版权归作者和博客园共有,重在学习交流,不以任何盈利为目的,欢迎转载。
敲敲小黑板:《刑法》第二百八十五条 【非法侵入计算机信息系统罪;非法获取计算机信息系统数据、非法控制计算机信息系统罪】违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。