Java 使用不同运算符的字符串操作
我用了这句话Java 使用不同运算符的字符串操作,java,concatenation,string-formatting,string-concatenation,type-promotion,Java,Concatenation,String Formatting,String Concatenation,Type Promotion,我用了这句话 System.out.println("Y"+90+90); Java给出的答案是Y9090。我理解Java是如何做这个操作的。如果使用运算符+,则字符串将与文本连接。因此,首先将Y与90串联,形成Y90作为新字符串,然后再次将Y90与90串联,形成Y9090作为结果字符串 当我将上述表达式更改为: System.out.println("Y"+90-90); Java显示了一个错误。在本例中,Y与90连接,形成一个新字符串Y90。这个新字符串面向-运算符并产生错误 但如果我
System.out.println("Y"+90+90);
Java给出的答案是Y9090
。我理解Java是如何做这个操作的。如果使用运算符+
,则字符串将与文本连接。因此,首先将Y
与90串联,形成Y90
作为新字符串,然后再次将Y90
与90
串联,形成Y9090
作为结果字符串
当我将上述表达式更改为:
System.out.println("Y"+90-90);
Java显示了一个错误。在本例中,Y
与90
连接,形成一个新字符串Y90
。这个新字符串面向-
运算符并产生错误
但如果我写这封信:
System.out.println("Y"+90*90);
它将答案显示为Y8100
怎么可能呢?它应该产生一个错误,或者Java应该为第二个语句(如
Y0
)产生一个类似的答案,而不产生错误。使用这两个加号,操作符从左到右求值,因此“Y”+90+90
等于(“Y”+90)+90
对于优先级相同的加号和减号,情况也是如此<代码>“Y”+90-90等于(“Y”+90)-90
)。不能从字符串中减去数字,因此会出现编译错误
加上一个加号和一个乘法器,乘法具有更高的优先级,因此“Y”+90*90
是“Y”+(90*90)
,编译起来很好
如果有疑问,请添加括号以表明您的意图。谢谢……我没有想到这一点。我以为这会是一些规则。@JayeshSonkusare你是什么意思?有一些规则——定义非常明确的规则。