强烈注意
强制类型转换一般不推荐使用,因为有可能发生精度损失、数据溢出
byte、short/char这三种类型都可以发生数学运算,例如加法+
byte、short/char这三种类型都可以发生数学运算,都会被首先提升成为int类型,然后再计算
boolean类型不能发生数据类型转换
浮点转成整数,直接取消小数点,可能造成数据损失精度。
int 强制转成 short 砍掉2个字节,可能造成数据丢失。
// 定义s为short范围内最大值 short s = 32767; // 运算后,强制转换,砍掉2个字节后会出现不确定的结果 s = (short)(s + 10);
ASCII编码表
public class demo02 { public static void main(String[] args) { //字符类型变量 char c = 'a'; int i = 1; // 字符类型和int类型计算 System.out.println(c+i); // 输出结果是98 // } } }
在计算机的内部都是二进制的0、1数据,如何让计算机可以直接识别人类文字的问题呢?就产生出了编码表的概念。
编码表 :就是将人类的文字和一个十进制数进行对应起来组成一张表格。
将所有的英文字母,数字,符号都和十进制进行了对应,因此产生了世界上第一张编码表ASCII
(American Standard Code for Information Interchange 美国标准信息交换码)。
(Unicode码表:万国码、也是数字和符号的对象照关系,开头0-127部分和ASCII完全一样,但是从128开始包含有更多字符)
小贴士:
在char类型和int类型计算的过程中,char类型的字符先查询编码表,得到97,再和1求和,结果为98。char类型提升
为了int类型。char类型内存2个字节,int类型内存4个字节。
原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/270610.html