0038 类型的转换
前面我们说过数据是具有类型的,这就好像人是具有不同的职业的。我们在使用一个数据的时候,应该在内心明确的了解这个数据的类型是什么。
有些一些编程的语言需要非常明确的确定数据的类型,就比如 C 语言。那么其中的数据如果需要进行类型的转换,也要有明确的操作,才能够改变这个数据的类型。
也有一些编程的语言,它的数据类型是模糊的,就比如 JavaScript。对于一个变量没有明确的去说明类型,你赋予它字符串的值,那它就是个字符串,赋予它数字的值,它就是一个数字。在进行计算时,如果参与计算的数据类型不同,它会尝试自动的进行类型的转换,使的类型一致,然后进行计算。对于这样的语言,一般编程新人是会觉得非常开心的,因为少了分辨类型这个巨大的麻烦。但事实上无论使用的是怎样的语言,在内心都必须明确当前数据的类型,这是非常重要的。
数据的转换需要注意到一些方面,比如能不能转换。"123"
,我们知道这是一个字符串,因为它使用引号进行标记了,但如果说把它转换成为数字类型,显然我们知道这是可行的。但如果是这样的字符串呢:"嘿,我是一个字符串"
,显然它是不能够被转换为数字的。
自动转换的结果是不是和我们预期的相同。"123"+456
,这样的计算应该得出怎样的结果?这要看程序如何进行类型的转换,如果它把两者都转换为数字,那么结果应该是 579,就是把两者相加。但如果程序把它们都转换为了字符串,字符串的相加可能是(这个在不同的语言下是有区别的)将字符串连接在一起,那么得到的结果就是:"123456"
。如何知道程序对于类型自动转换的规则?这个有人列出了许多具体的都有关系,但是我记不住,所以我倾向于在使用的时候实际去运行尝试一下,反正随手写一个类型转换的小案例,也就一句代码,运行一下就可以得到明确的结果。
然后有许多类型可以转换为布尔型,大概的规则是存在即为真,不存在即为假。所以 0 为假,1 为真。当然 2 也为真……可以以此类推,但我举例不过来。不过一般情况下,如果我们想设置一个为真的条件,简单书写的话都会使用数字 1,而不是其他数字。就像我们前面所演示到的那样。因为如果把布尔型转换为数字,那么得到的结果就是 0 和 1。
无论你在什么平台看到这些内容,如果你读了并且读懂了,那么就拍拍小老鼠或者点个赞或者留个言,总之让小老鼠感受到你的存在,这样会给他坚持更新的动力。如果你没有读慬,那么就在评论中留言,大家一起探讨。
就这样,就这么简单。