Java中的"+",什么时候是连接符,什么时候是运算符
今天学习遇到一个有趣的问题,"+"的使用,什么时候是连接符,什么时候是运算符,今天就来聊聊我的理解吧。
在这之前要先知道,无论是运算符还是连接符,在没有括号的情况下,优先级顺序是从左到右依次的。
当"+“两边的操作数,有其中的一个为字符串的时候,”+"为连接符,结果为字符串类型
当"+“两边的操作数,都为数值类型的时候,”+"为运算符,结果为数值类型
举个例子:
public class Test1 {
public static void main(String[] args) {
int a = 10;
int b = 20;
/*从左到右依次看,第一个"+"两边都是数值类型,所以第一个"+"为运算符,运算完成后,结果为数值类型,
然后看第二个,第二个"+"右边为字符串,所以第二个"+"是连接符,结果为字符串类型*/
System.out.println(a+b+"");
/*从左到右依次看,第一个"+"左边为字符串,所以第一个"+"是连接符,连接完成后,结果为字符串类型
然后看第二个,第二个"+"左边为字符串类型,右边为数值类型,所以第二个"+"为字符串连接符*,结果为字符串类型*/
System.out.println(""+a+b);
}
}
结果: