可以把多个字符串连接成一个字符串,也可以把已创建的字符串与其它数据类型进行连接,不论用什么方式连接字符串,最后都会产生一个新的String对象。
使用“+”运算符连接
使用“+”运算符可以完成多个字符串的连接功能,“+”运算符可以连接多个字符串并产生一个新的String对象。
例如:
String szTempA = "小明" + "正在学习Java编程。";
String szTempB = "他对编程很感兴趣";
System.out.println( szTempA + szTempB );
在上面的例句中,String对象szTempA使用“+”运算符连接两个字符串常量进行初始化。Println方法输出szTempA和szTempB连接后的String对象。
案例1:创建两个String对象,将两个Stirng对象连接后输出,查看输出结果。
在PbaseUnit11项目unit包下创建ConnectStringSample1类。代码如下:
/**
* @Title: ConnectStringSample1.java
* @Packageunit
* @Description: Java基础知识课程案例
* @author编程训练营
* @date
* @versionV1.0
*/
packageunit;
/**
* @ClassName: ConnectStringSample1
* @Description: 字符串(字符串的连接)案例1
* @author编程训练营
* @date
*
*/
publicclassConnectStringSample1 {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param@param args 参数
* @return void 返回类型
* @throws
*/
publicstaticvoidmain(String[] args) {
// 创建String对象
String szTempA = new String("今天天气不错!");
// 创建String对象
String szTempB = "我要出去玩!";
// 连接szTempA和szTempB
String szTempC = szTempA + szTempB;
// 输出szTempC
System.out.println(szTempC);
}
}
程序结构分析
代码分别创建了szTempA、szTempB、szTempC三个String对象,szTempA和szTempB连接后再赋值给szTempC。
程序执行结果如下图所示:
使用“+=”运算符连接
可以使用“+=”运算符对已声明的字符串对象,进行字符串的多次连接赋值操作。
例如:
String szTempA = "小明";
szTempA += "正在学习Java编程。";
System.out.println( szTempA );
在上面的例句中,创建了String对象szTempA,szTempA的值为“小明”,然后使用“+=”运算符连接字符串“正在学习Java编程。”,此时Java编译器会重新创建一个String对象,该对象的值为szTempA的值和字符串常量“正在学习Java编程。”连接后的内容。
案例2:循环接收用户输入的字符串,并连接赋值给已创建的String对象。用户输入quit退出循环。输出String对象的值。
在PbaseUnit11项目unit包下创建ConnectStringSample2类。代码如下:
/**
* @Title: ConnectStringSample2.java
* @Packageunit
* @Description: Java基础知识课程案例
* @author编程训练营
* @date
* @versionV1.0
*/
packageunit;
importjava.util.Scanner;
/**
* @ClassName: ConnectStringSample2
* @Description:字符串(字符串的连接)案例2
* @author编程训练营
* @date
*
*/
publicclassConnectStringSample2 {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param@param args 参数
*
* @return void 返回类型
* @throws
*/
publicstaticvoidmain(String[] args) {
String szTemp = "";
Scanner sc = new Scanner(System.in);
System.out.println("输入quit退出程序");
// 循环条件设置为true
while(true) {
String s = sc.nextLine();
if( s.equals("quit") )
break;
// 连接用户输入的字符串
szTemp += s;
}
System.out.printf("您输入的内容为:%s",szTemp);
}
}
程序结构分析
代码创建一个内容为空的String对象szTemp,用于接收用户输入的字符串。循环开始之前,提示用户输入quit退出程序,在循环体内,判断用户是否输入了quit:如果用户输入了quit,使用break语句退出循环;否则使用“+=”运算符将用户输入的字符串连接到szTemp。
程序执行结果如下图所示:
连接其它数据类型对已创建的字符串对象,使用“+”或“+=”运算符不仅可以连接字符串类型,也可以连接其它数据类型。
案例3:创建一个String对象,实现String对象连接int和double型变量,并输出连接后String对象。
在PbaseUnit11项目unit包下创建ConnectStringSample3类。代码如下:
/**
* @Title: ConnectStringSample3.java
* @Packageunit
* @Description: Java基础知识课程案例
* @author编程训练营
* @date
* @versionV1.0
*/
packageunit;
/**
* @ClassName: ConnectStringSample3
* @Description: 字符串(字符串的连接)案例3
* @author编程训练营
* @date
*
*/
publicclassConnectStringSample3 {
/**
* @Title: main
* @Description: Java程序入口main方法
* @param@param args 参数
* @return void 返回类型
* @throws
*/
publicstaticvoidmain(String[] args) {
// 创建一个String对象
String szTemp = "小明身高";
intheight = 170;
doubleweight = 71.5;
// 连接整型变量
szTemp += height;
szTemp += "厘米;";
szTemp += "小明体重";
// 连接double型变量
szTemp += weight;
szTemp += "kg。";
System.out.println(szTemp);
}
}
程序结构分析
代码通过“+=”运算符,对已创建的String对象szTemp分别连接int和double类型变量。
程序执行结果如下图所示: