9.2连接字符串

对于已声明的字符串,可以对其进行相应的操作,连接字符串就是字符操作中较简单的一种。可以对多个字符串进行连接,也可使字符串与其他数据类型进行连接。

9.2.1 连接多个字符串

使用"+"运算符可实现连接多个字符串的功能。"+"运算符可以连接多个String对象并产生一个新的String对象。

【例1】先连接一副对联的上、下联,再分行输出在控制台上

在项目中创建Join类,在主方法中创建两个String型变量,它们的值分别是"春色绿千里"和"马蹄香万家",使用"+"运算符连接这两个String型变量和"\n",在控制台上输出连接后的字符串。实例代码如下:

java 复制代码
public class Join{    //创建类
    public static void main(String args[]){    //主方法
        String s1 = new String("春色绿千里");    //声明String对象s1
        String s2 = new String("马蹄香万家");    //声明String对象s2
        String s = s1+"\n"+s2;    //将对象s1、"\n"和对象s2连接并将结果赋值给s
        System.out.println(s);    //将s输出
    }
}

运行结果如下:

春色绿千里

马蹄香万家

9.2.2连接其他数据类型

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

【例2】统计每天的阅读和上机时间

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

java 复制代码
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 +"小时上机练习");
    }
}

运行结果如下:

我每天花费4小时看书;2.5小时上机练习

本实例实现的是将字符串常量与整型变量booktime和浮点型变量practice相连后的结果输出。在这里booktime和practice都不是字符串,当它们与字符串相连时会自动调用toString()方法并转换成字符串形式,然后参与字符串连接。

误区警示:

只要"+"运算符的一个操作数是字符串,编译器就会将另一个操作数转换成字符串形式,所以应谨慎地将其他数据类型的数据与字符串相连,以免出现意想不到的结果。

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

System.out.println("我每天花费"+booktime+"小时看书;"+(practice+booktime)+"小时上机练习");
则例2修改后的运行结果如下:

我每天花费4小时看书;6.5小时上机练习

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

相关推荐
Chester_19995 小时前
CSP202203C.计算资源调度器
开发语言·数据结构·c++·蓝桥杯
裕晟资质规划6 小时前
武器装备科研生产单位保密资质申请方法论:条件模型与流程拆解
人工智能·算法
EXI-小洲6 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
会周易的程序员6 小时前
给 PLC 写一个字节码虚拟机:STVM 虚拟机架构设计
开发语言·c++·虚拟机·软plc·iec61131·stvm
机器视觉知识推荐、就业指导6 小时前
为什么老说“纯 Qt 没啥就业市场”?
开发语言·qt
telepan6 小时前
Qt 开发避坑与性能指南:如何优雅、安全地定义全局常量字符串?
开发语言·qt
m0_695251497 小时前
Qt MaintenanceTool 使用国内镜像加速下载(超详细教程)
开发语言·qt
2601_961901707 小时前
SpringBoot使用Nacos进行application.yml配置管理
java·spring boot·spring
en.en..7 小时前
C语言 标准输入 / 输出缓冲区
算法
何以解忧,唯有..7 小时前
LangChain 工具调用(Tool Calling)实战指南
java·前端·langchain