字符串也可同其他基本数据类型进行连接。如果将字符串同这些数据类型数据进行连接,会将这些数据直接转换成字符串。例如:
例 在项目中创建类Link,在主方法中创建数值型变量,实现将字符串与整型、浮点型变量相连的结果输出。
public class Link
{
public static void
main(String args[]) { // 主方法
int
booktime = 4; // 声明的int型变量booktime
float
practice =
// 将字符串与整型、浮点型变量相连,并将结果输出
System.out.println("我每天花费" + booktime + "小时看书;" + practice
+
"小时上机练习,一共花费" +
booktime + practice + "小时学习");
}
}
运行结果如图1所示。
图1 运行结果
本实例实现的是将字符串常量与整型变量booktime和浮点型变量practice相连后的结果输出。在这里booktime和practice都不是字符串,当它们与字符串相连时会自动将其转化成字符串形式,然后参与连接。但是最后的“一共花费42.5小时学习”的结果肯定是不对的。
注意:只要“+”运算符的一个操作数是字符串,编译器就会将其它操作数转化成字符串形式,所以应小心的将其他数据类型与字符串相连,例如把与字符串相连的算数表达式用“()”括号括起来。以免得到意想不到的结果。
如果将上例中的输出语句修改为:
System.out.println("我每天花费" + booktime + "小时看书;" + practice
+ "小时上机练习,一共花费" + (booktime + practice) + "小时学习");
则实例运行结果如图2所示。
图2 运行结果
为什么会这样呢?这是由于运算符是有优先级的,圆括号的优先级最高,所以先被执行。然后再将结果与字符串相连。