转换与ASCII码表
- 数据类型的转换
- 自动转换
- 代码示范
- 强制转换
- 强制转换注意事项
- ASCⅡ表
数据类型的转换
在有些时候我们想要的数据类型,并不符合我们当时所需要的数据类型,这是我们需要把我们不需要的类型转至我们所需要的数据类型上,所以我们今天来说一下,数据类型之间啊的转换以及一些注意事项。所有图,都是在学习视频中整理的,还有些自己找的。
自动转换
自动转换,通俗的来说,就是计算机帮你进行转换。此时没有什么特殊的输入格式,计算机会自动处理
对于隐式和显式,就是有无特殊的输入格式(自己理解的)。
代码示范
强制转换
强制转换有自己特殊的输入格式,而且要注意强制转换双方的范围,是否有数据溢出的现象。
注意这里我们右侧增加了东西,例如(int),右侧一定要输入想要强制转换的类型。图中是一个示范,将long类型,强制转换为int,100L在iint的范围之内所以可以转换,超过范围,只会显示小范围的最大边界。
举例,因为long是8字节,int是4字节,所以是一半,并不是因为数据范围是什么关系而画的。第二点,如果用超出int的最大边界且在long的最大范围边界之内,将long类型强制转换为int类型,此时就会发生数据溢出,从而导致错误。这样转换过来的数据,只会显示int的最大边界,所以转换时,一定要注意范围。
强制转换注意事项
第一点,就如上面介绍的,不注意范围,可能会导致数据溢出,从而导致错误。
第二,三点也是比较重要的,会涉及到一些基础知识。
第21行,就是对数据溢出的演示,只会显示int的最大边界。
第25行,再次强调x3(重要的事情说三遍),对于浮点型转整数型,并不是四舍五入,而是舍弃掉小数点后面的说有东西就算你是3.99,保留整数位,只能留下3,拿小本本记下。
第32行和第42行,byte和short会被晋升为int类型,在进行转换,但是于此同时我们要开始注意输出部分的数据类型,那可能会有人问,为什么第32行输出是int,42行输出还是short,解释一下,还是范围的问题,在第42行中,虽然已经被提升为int类型,但是究其根本,他的范围还在short类型里面,所以在这里用int还是short都是可以输出的,不需要疑惑,所以第32行,的输出也是同样的道理。
ASCⅡ表
对于上面字符‘A’,为什么会输出65,大家可能会有一些疑问,这个疑问会在这个模块进行解答。首先我们先引入ASCⅡ表。
这只是最最常用的一部分表的集合,这个图来自于百度,在这里大家大可不不必全部几下,只需要记住几个特殊的就可以。
0–>48, A–>65 ,a–>97 ,这都是按顺序排的,如果小学数学和英语你没有划水,那么就可以知道后面的对应关系。
好奇的同学,会拿汉字进行测试,这一点我早就想到,其实每一个字符都有对应的ASCⅡ对应值,但是因为并不常用,所以就不推荐大家知道,中国汉字那么多,如果让你一个个把对应的值都记录下来,相信你也不会同意的。
如果好奇想知道其他的字符对应什么汉字,请去Unicode,对照;
算啦,看在up这么好的份上,送上两个传送门;
链接: link.
链接: link.
请大家,自行玩耍!祝大家今天快乐!