变量数据类型及其转换
1,变量的分类——按数据类型
数值型:
-
Java 的整型常量默认为 int 型,声明 long 型常量须后加 ‘l’ 或 ‘L’
-
Java 的浮点型常量默认为 double 型,声明 float 型常量,须后加 ‘f’ 或 ‘F’。
有时不加L也可正常运行是因为默认成了int型,然后将int赋给long,属于自动类型提升了;但一旦超过int容量,则报错“过大的整数”。
F必须加上,long为正数类型中最大的数据类型,而float小于double。
字符型:
布尔类型:
-
boolean 类型适于逻辑运算,一般用于程序流程控制:
-
if条件控制语句;
-
while循环控制语句;
-
do-while循环控制语句;
-
for循环控制语句;
-
boolean类型数据只允许取值true和false,不可以0或非 0 的整数替代true和false,这点和C语言不同。
2,基本数据类型转换
布尔的变量因为只有true 和false 所以不讨论。
容量大小指的是表数的范围大小,比如:float容量大于long容量;
-
自动类型转换:容量小的类型自动转换为容量大的数据类型。数据类型按容量大小排序为:
-
有多种类型的数据混合运算时,系统首先自动将所有数据转换成容量最大的那种数据类型,然后再进行计算。
-
byte,short,char之间不会相互转换,他们三者在计算时首先转换为int类型。
-
当把任何基本类型的值和字符串值进行连接运算时(+),基本类型的值将自动转化为字符串类型。
3,强制类型转换
-
自动类型转换的逆过程,将容量大的数据类型转换为容量小的数据类型。使用时要加上强制转换符(()),但可能造成精度降低或溢出,格外要注意。
-
通常,字符串不能直接转换为基本类型,但通过基本类型对应的包装类则可以实现把字符串转换成基本类型。如: String a = “43”; int i = Integer.parseInt(a);
boolean类型不可以转换为其它的数据类型
4,String类型变量的使用:
-
string属于引用数据类型,译为字符串;
-
声明string类型变量时,使用一对“”;(字符数不限制,可为0,char型只能输入一个字符)
-
可以和八种基本数据类型变量进行运算,且只能是连接运算,运算结果为String类型;
-
+左右两边若存在string类型,则为连接运算,不存在,则为简单的加法运算;
练习:
①
②
③