Java 类型转换
两种方式:自动类型转换、强制类型转换
自动类型转换
就类似于将小瓶中的水倒入大瓶中,没有溢出现象。
Java 支持的“自动类型转换”的类型图:
强制类型转换
类似于将大瓶中的水倒入小瓶中,可能有溢出现象。
浮点数强制转换为整数时,Java 将直接截断浮点数的小数部分。
float num = 1.5f;
System.out.println((int) num);// 1
表达式类型自动提升
当一个算术表达式中包含多个基本上数据类型的值时,整个算术表达式的数据类型就会发生自动提升,规则:
1、 所有 byte、short、char 提升为 int
2、 整个算术表达式的数据类型自动提升与表达式中最高等级操作数同样的类型。
值得一提的是,如果表达式中包含字符串,则要区别对待。
把加号 “+” 放在字符串和基本数据类型之间时,这个加号就是一个字符串连接符,而不是进行加法运算。
String str1 = 1 + 'a' + "hello";
System.out.println(str1);// 98hello
String str2 = "hello" + 'a' + 1;
System.out.println(str2);// helloa1