### 连接其他数据类型

字符串也可同其他基本数据类型进行连接。如果将字符串同这些数据类型数据进行连接，会将这些数据直接转换成字符串。例如：

例 在项目中创建类 Link，在主方法中创建数值型变量，实现将字符串与整型、浮点型变量相连的结果输出。

public class Link {

public static void main(String args[]) { // 主方法

int booktime = 4; // 声明的 int 型变量 booktime

float practice = 2.5f; // 声明的 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 运行结果

为什么会这样呢？这是由于运算符是有优先级的，圆括号的优先级最高，所以先被执行。然后再将结果与字符串相连。