一、字符的 + 操作
将字符型的变量与数字型的变量相加时,是用字符在计算机底层对应的数值(ASCII码)来进行计算的。
算数表达式中包含多个基本数据类型的值的时候,整个算术表达式的类型会自动进行提升。
提升规则:
- byte类型、short类型和char类型将被提升到int类型;
- 整个表达式的类型自动提升到表达式中最高等级操作数同样的类型,等级顺序:
byte、short、char < int < long < float < double
;
二、字符串的 + 操作
测试代码:
package com.company;
public class Main {
public static void main(String[] args) {
System.out.println("ci"+"kian");
System.out.println("cikian"+666);
System.out.println(666+"cikian");
System.out.println("cikian"+6+66);
System.out.println(6+66+"cikian"); //先进行算术运行,在进行连接操作
};
};
测试结果:
总结:
当“+”操作出现在字符串之间时,“+”代表字符串连接符,而非算术运算;
出现连续“+”操作时,从左到右依次执行。
(这里注意一下,从左到右依次执行时,如果像“测试代码”中有注释的代码那样,会先进行算术运算,遇到字符串时再进行连接操作,遇到字符串后,其后方的所有数字或者字符串都执行连接操作,不再进行算数运算。
如:
System.out.println(6+66+"cikian"+6+66+666);
这句代码输出的是:72cikian666666
。)