`

java 陷阱 3 最后的笑声

    博客分类:
  • java
阅读更多
下面的程序打印的内容?

Java代码
public class LastLaugh{   
  public static void main(String[] args){   
    System.out.println("H"+"a");   
    System.out.println('H'+'a');   
  }   
}  

这个程序不会打印HaHa,它打印的是Ha169.

对于第一个输出,调用打印的是Ha,它执行一个字符串连接,而对第二个调用,'H'和'a'是字符型字面常量,所以+操作符执行的是加法而不是字符串连接。



那么应该怎样将字符连接在一起?可以使用类库。例如,可以使用一个字符串缓冲区

Java代码
StringBuffer sb = new StringBuffer();   
sb.append('H');   
sb.append('a');   
System.out.println(sb);  

那么做可以正常运行,但很丑陋,还有办法避免这种啰嗦的方法,可以通过确保至少一个操作数为字符串类型,来强制+操作符执行字符串连接操作,而不是加法操作,惯用法是用一个空字符串("")。



当且仅当+操作符操作数至少有一个是String类型时,才会执行字符串连接操作。

分享到:
评论

相关推荐

    Java 陷阱

    《Java陷阱:开源与专有的拉锯战》 在IT界,Java无疑是最具影响力的编程语言之一,然而,它的光环背后却隐藏着一系列被称为“Java陷阱”的问题。这些问题不仅涉及技术层面,更触及到开源软件许可协议的核心。本文将...

    Java面试---陷阱一箩筐

    Java面试---陷阱一箩筐-----------------------------

    Java Scjp 陷阱大全

    3. **异常处理**:Java强制要求捕获或声明异常,不正确的异常处理可能导致程序中断。`try-catch-finally`结构的使用,以及理解检查型异常和运行时异常的区别至关重要。 4. **多线程**:Java提供了丰富的多线程支持...

    java版amr文件转mp3

    Java版的AMR文件转MP3工具是一种编程解决方案,它利用特定的类库,如JAVE(Java Audio Video Encoder),将AMR编码的音频文件转换为MP3格式,以便于在Web上直接播放。AMR(Adaptive Multi-Rate)是主要用于语音编码...

    在java程序中实现wav文件转MP3

    在Java编程环境中,将WAV音频文件转换为MP3格式是一项常见的需求,特别是在处理音频数据时。本示例介绍如何利用LAME库在Java程序中实现这个功能,并且能够自定义MP3文件的码率。LAME是一个高效的MP3编码器,广泛用于...

    Java陷阱--面试题集

    JAVA面试的一些基础问题,和易混淆问题!

    JAVA_API1.6文档(中文)

    java.lang.management 提供管理接口,用于监视和管理 Java 虚拟机以及 Java 虚拟机在其上运行的操作系统。 java.lang.ref 提供了引用对象类,支持在某种程度上与垃圾回收器之间的交互。 java.lang.reflect 提供类...

    Computer Graphics Using Java 2D and 3D -- 计算机图形学(应用Java2D和3D)

    Java 2D API是Java平台的标准组件,它扩展了基本的Java图形库,提供了一个高级的绘图系统,可以创建高质量的矢量图形、文本和位图图像。Java 2D支持以下核心概念: 1. **坐标系统**:Java 2D使用笛卡尔坐标系,其中...

    java源码包---java 源码 大量 实例

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    Java 面经手册·小傅哥.pdf

    这是一本以面试题为入口讲解 Java 核心内容的技术书籍,书中内容极力的向你证实代码是对数学逻辑的具体实现。当你仔细阅读书籍时,会发现Java中有大量的数学知识,包括:扰动函数、负载因子、拉链寻址、开放寻址、...

    java3d-1_3_1-windows-i586-opengl-sdk.exe

    java3d-1_3_1-windows-i586-opengl-sdk.exe

    java实现rtsp/rtmp转m3u8/flv/hls/mp4等实现web直播和回放

    3. **FLV (Flash Video)**:这是一种基于Flash的视频格式,广泛应用于早期的在线视频播放,但由于Flash已逐渐被淘汰,现在更多地用于与RTMP协议结合的直播系统中。 4. **HLS (HTTP Live Streaming)**:苹果公司推出...

    基于Java的(SM2_SM3_SM4)国密算法java源代码及工具类及测试demo

    这里的“基于Java的(SM2_SM3_SM4)国密算法java源代码及工具类及测试demo”是一个关于如何在Java环境中实现中国国家标准加密算法的资源包。下面我们将详细探讨这些算法的核心概念、用途以及如何在Java中应用。 1. ...

    java开源包3

    JoSQL(SQLforJavaObjects)为Java开发者提供运用SQL语句来操作Java对象集的能力.利用JoSQL可以像操作数据库中的数据一样对任何Java对象集进行查询,排序,分组。 搜索自动提示 Autotips AutoTips是为解决应用系统对于...

    JAVA PUZZLERS(JAVA 解惑)中英文

    3. **最佳实践**:除了揭示问题,作者还会给出避免这些陷阱的最佳实践,帮助读者提高代码质量,减少潜在的bug。 4. **语言规范**:书中的谜题也涉及了Java语言的规范,如何时应该使用final关键字,如何正确地处理多...

    02第二讲:Java客户端方面陷阱.ppt

    02第二讲:Java客户端方面陷阱.ppt

    JAVA API官方中文版手册chm文件文档

    JAVA API官方文档中文版软件包 java.applet java.awt java.awt.color java.awt.datatransfer java.awt.dnd java.awt.event java.awt.font java.awt.geom java.awt.im java.awt.im.spi java.awt.image ...

    java实现snmp数据包发送和接收资料

    最后,通过引擎发送PDU,并等待响应。 4. 接收SNMP响应: 当发送请求后,需要监听SNMP引擎的响应。这通常涉及设置一个回调处理器,用于处理接收到的PDU。从响应PDU中,可以提取到设备返回的数据,例如设备状态、...

    java转js工具

    Java到JavaScript转换工具有助于开发者将已有的Java代码库移植到JavaScript环境中,这在Web开发中尤其有用,因为JavaScript是浏览器端的主要脚本语言。这样的工具能够帮助开发者利用Java的强大功能来构建前端应用,...

    java源码包2

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java...

Global site tag (gtag.js) - Google Analytics