Java小陷阱
2015-10-18 22:02
351 查看
基本数据类型与字符串的连接
在Java中,+不仅可作为加法运算符使用,还可作为字符串连接运算符使用。
当把任何基本数据类型的值与字符串值进行连接运算时,基本类型的值将自动类型转换为字符串类型。
public class PrimitiveAndString { public static void main(String[] args) { //下面的语句输出 7Hello! System.out.println(3 + 4 + "Hello!"); //下面的语句输出 Hello!34 System.out.println("Hello!" + 3 + 4); //下面的语句输出 Hello!a7 System.out.println("Hello!" + 'a' + 7); //下面的语句输出 104Hello! System.out.println('a' + 7 + "Hello!"); } }
上面程序中第一个”3 + 4 + "Hello!"“的表达式,这个表达式先执行”3 + 4“运算,这是执行两个整数之间的加法,得到7,然后进行”7 + "Hello!"“的运算,此时会把7当成字符串进行处理,从而得到7Hello!。
第二个,对于”"Hello!" + 3 + 4“表达式,先进行”"Hello!" + 3“运算,得到一个Hello!3字符串,再和4进行连接运算,4也被转换成字符串进行处理,最后得到Hello!34。
第三个表达式”"Hello!" + 'a' + 7“同第二个类似。
对于最后一个表达式”'a' + 7 + "Hello!"“,先进行”'a' + 7“加法运算,其中'a'自动提升到int类型,编程a对应的ASCⅡ值:97,从”97+7“将得到104,然后进行”104 + "Hello!"“运算,104会自动转换成字符串,将变成两个字符串的连接运算,从而得到104Hello!。
相关文章推荐
- [JavaWeb基础] 024.Socket编程之简单的聊天程序
- Struts2-类型转换
- JAVA小知识
- Java正则表达式
- SpringMVC Media Type
- java 堆和栈
- kafka本地环境的搭建,以及本地java测试的调用
- java查找一个字符串出现最多字母的次数
- eclipse的正确使用方式
- myeclipse 2014 安卓开发环境的搭建
- spring @order
- Spring boot mongo pom
- java实现压缩、解压缩的常见问题Memo
- 在MyEclipse中导入dom4j包
- Java核心技术第11章(2)
- java synchronized详解
- 浅析java异常处理机制—中级篇
- JAVA 文件编码转换
- [leetcode]Reorder List
- java NIO