连接其他数据类型

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

  在项目中创建类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相连后的结果输出。在这里booktimepractice都不是字符串,当它们与字符串相连时会自动将其转化成字符串形式,然后参与连接。但是最后的“一共花费42.5小时学习”的结果肯定是不对的。

 注意:只要“+”运算符的一个操作数是字符串,编译器就会将其它操作数转化成字符串形式,所以应小心的将其他数据类型与字符串相连,例如把与字符串相连的算数表达式用“()”括号括起来。以免得到意想不到的结果。

如果将上例中的输出语句修改为:

System.out.println("我每天花费" + booktime + "小时看书;" + practice

                        + "小时上机练习,一共花费" + (booktime + practice) + "小时学习");

则实例运行结果如图2所示。

 

        2  运行结果

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