加号和字符串拼接符号

先通过案例直观地体会一下:

public static void main(String[] args) {
 System.out.println(1); // 1
 System.out.println(1 + 2); // 3
 System.out.println("1 + 2 = " + 1 + 2); // 1 + 2 = 12
 System.out.println("1 + 2 = " + (1 + 2)); // 1 + 2 = 3
 System.out.println(1 + 2 + " = 1 + 2"); // 3 = 1 + 2
 System.out.println('2'); // 2
 System.out.println('2' + '2'); // 100
 System.out.println("" + '2' + '2'); // 22
 System.out.println('你' + '好')// 43229
 // System.out.println(''); 
}

通过上面的案例,可以得出如下总结:

  1. +在没有碰到字符串的时候,作用是数值运算的加法作用,当第一次遇到字符串的时候,将成为字符串连接符,其后所有的量都将先被转换为字符串然后做拼接。
  2. 括号的优先级高于字符串连接符。
  3. 字符参与运算的时候会转变为其对应的ASCII码。
  4. 没有单个的空字符。如果在程序中定义char c = '';或者直接使用空字符,将发生Invalid character constant的错误,译为“无效的字符常数”。但是在打印单个字符的时候,首先将字符转换成字符串,转换之后是字符本身而不是字符对应的 ASCII 码。

你可能感兴趣的:(编程基础)