昨天我们讲到java中的数据类型,今天我们继续
基本数据类型还有一个布尔(boolean)类型
布尔型是一种起到判断作用的数据类型。boolean类型的值非常简单,只有true和false,表示真与假
例如:
java中没有提供表示字符串的基本数据类型,而是通过String类来表示字符串,由于字符串是多个字符组成,因此字符串要使用双引号括起来。例如:
注意,String中单引号,双引号反斜杠都有特殊的用途,如果一个字符串中包含了这些特殊字符,则应当使用转义字符的表示形式。我们看下面的例子,我们用String来表明一个路径用第一种方法是不行的编译器都给我们报红线了,代表我们这里错了,我们应该用第二种方式。
基本类型的自动转换
在java程序中,不同的基本类型的值经常要进行互相转换。java语言提供的7种数值类型之间可以互相转换,有两种类型转换方式:自动类型转换和强制类型转换。
自动类型转换
java所有的数值型变量都可以互相转换,如果系统支持把某种基本类型的值直接赋予给另一种基本类型的变量,则这种方式称为自动类型转换。当把一个表数范围小的数值或变量直接赋给另一个表数范围大的变量时,系统将可以进行自动类型转;否则就需要强制转换。
表数范围小的可以向表数范围大的进行自动转换,就好比有两瓶水,把小瓶的水倒入大瓶中时不会有任何问题。
下图是java支持自动类型转换的类型
不仅如此,当把任何基本类型的值和字符串进行连接运算时,基本类型的值将自动类型转换成字符串类型,虽然字符串类型不是基本类型,而是引用类型。因此,如果希望吧基本类型的值转换成对应的字符串时,可以把基本类型的值和一个空字符串进行连接。
看下面的图:
强制类型转换
如果希望把自动转换那图右边的类型转换成左边的类型,那就必须进行强制转换,当进行强制转换时有可能会造成数据丢失。就好比把大瓶子的水倒入小瓶子,如果大瓶子的水不多还好,但是如果大瓶子的水很多,那就会溢出,从而损失。强制类型转换的语法格式是:(目标类型)value
我们来看下图
从图中可以看出,当试图进行强制转换时,必须额外小心,因为非常容易引起信息丢失。
表达式类型的自动提升
当一个算术表达式中包含多个基本数据类型的值时,整个算术表达式的数据类型将发生自动提升。java定义了如下的自动提升规则。
所有的byte类型、short类型和char类型将被提升到int类型
整个算术表达式的数据类型自动提升到表达式中最高等级操作同样的类型。
我们来看例子:
下面来看一个正确例子:
好,我们今天就讲到这里。下节我们讲解运算符。
版权声明:原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明,否则将追究法律责任。https://blog.kokojia.com/kokoxu/b-106.html