1. 字符串的“+”操作
注意点:
- 当“+”操作临近的前后出现字符串时,这个“+”是字符串连接符,而不是算术运算符。他会将前后的数据进行拼接,并产生一个新的字符串。
- 当进行连续“+”操作时,从左到右逐个执行
- 字符串只有“+”操作
例如:
System.out.println(“abc” + true);//“abctrue”
- 此时的true是一个布尔类型的常量值,所以可以直接和abc进行拼接(就相当于数字13)
int age = 18;
System.out.println(“我的年龄是” + age + “岁”);
//“我的年龄是18岁”
- 此时的age是一个变量,在执行“+”操作时,会将变量里的值拿出来,用拿出来的值进行拼接操作。
System.out.println(“我的年龄是” + “age” +“岁”);
//“我的年龄是age岁”
- 而此时的“age”是字符串“age”,并没有存储什么值,所以在进行“+”操作时,是直接进行拼接操作
System.out.println(1 + 2 + “abc” + 2 + 1);
//“3abc21”
2. 字符的“+”操作
注意点:
- 当字符+字符,字符+数字时,会先通过ASCII码表查询到字符对应的数字,再把数字进行计算。
- 当字符+字符串时,因为“+”临近的操作有字符串,所以并不进行计算操作,不用将字符转为ASCII码表中对应的数字,而是直接进行拼接。
例如:
System.out.println(1 + ‘a’);//98
System.out.println(‘a’ + “abc”);//“aabc”
System.out.println(‘a’ + 1 + “abc”);//“98abc” - 'A’对应的数字为65,'a’对应的数字为97
- 字符还有“- * / %”运算,和数字的相同
3. 自增自减运算符,有两种使用情况:
- 单独使用:++和–无论是放在前边还是后边,单独写一行(这一行就只有++a;或a++;)结果是一样的,例如++a;和a++;都是a=a+1;
- 参与计算:
一. int a = 10;
int b = a++;//先用后加,即先把a的值赋给b,再对a进行a = a + 1。也就是说,运算时(a++)的值是10
二. int a = 10;
Int b = ++a;//先加后用,即先对a进行a = a + 1,再把a的值赋给b。也就是说,运算时(++a)的值是11 - 通常写代码时,都是把自增自减运算单独写一行,方便理解,方便操作。