Java算术运算符,请解释输出
因为+和-具有相同的优先级,所以它将具有从右到左的关联性。 所以我认为任何像13--14++15这样的表达式都将被视为13-(-14++15),输出将是12,但输出是42。Java算术运算符,请解释输出,java,Java,因为+和-具有相同的优先级,所以它将具有从右到左的关联性。 所以我认为任何像13--14++15这样的表达式都将被视为13-(-14++15),输出将是12,但输出是42。 有人能解释一下输出吗?如果您从左到右(像Java那样)计算表达式,您可以从13--14开始,它与13-(-14)相同,即2727++15是42。如果从左到右计算表达式(就像Java那样),则从13--14开始,这与13--14相同,后者是2727++15是42。如果从左到右计算表达式(就像Java那样),则从13--14开始
有人能解释一下输出吗?如果您从左到右(像Java那样)计算表达式,您可以从
13--14
开始,它与13-(-14)
相同,即2727++15
是42。如果从左到右计算表达式(就像Java那样),则从13--14
开始,这与13--14
相同,后者是2727++15
是42。如果从左到右计算表达式(就像Java那样),则从13--14
开始,这与13--14
相同,后者是2727++15
是42。如果从左到右计算表达式(就像Java那样),则从13--14
开始,这与13--14
相同,后者是27<代码>27++15是42。从左到右计算它是13-(-14)+(+15)所以13+14+15=42从左到右计算它是13-(-14)+(+15)所以从左到右计算它是13-(-14)+(+15)所以13+14+15=42从左到右计算它是13-(-14)(+15)(+15)所以13+14+15=42你可以看13--14++15
像13-(-14)
,它像13+14
,它是27
,然后是+(+15)
,它像+15
,它等于42。你可以看13--14++15
像13-(-14)
,这就像是13+14
,它是27
,然后是+(+15)
,它就像+15
,它等于42。你可以看看13--14++15
就像13-(-14)
,它就像13+14
,它是27
,然后是(+15)
,这就像是+15
,等于42。你可以看13--14++15
就像13-(-14)
,这就像13+14
,这是27
,然后是+(+15)
,就像+15
,它等于42。从左到右的关联性意味着A op B op C
是(A op B)op C
,而不是A op(B op C)
。谢谢奥利弗!!我已经编辑了这个问题and-运算符具有从右到左的结合性;二进制运算符(即加法和减法)是从左到右的。从左到右的关联性意味着A op B op C
是(A op B)op C
,而不是A op(B op C)
。谢谢Oliver!!我已经编辑了这个问题and-运算符具有从右到左的结合性;二进制运算符(即加法和减法)是从左到右的。从左到右的关联性意味着A op B op C
是(A op B)op C
,而不是A op(B op C)
。谢谢Oliver!!我已经编辑了这个问题and-运算符具有从右到左的结合性;二进制运算符(即加法和减法)是从左到右的。从左到右的关联性意味着A op B op C
是(A op B)op C
,而不是A op(B op C)
。谢谢Oliver!!我已经编辑了这个问题and-运算符具有从右到左的结合性;二进制运算符(即加法和减法)从左到右。
public class MainClass
{
public static void main(String[] args)
{
int i = 13 - - 14 + + 15;
// evaluate this as Right to Left associativity
// so (13 - (-14)) + + 15 = 27 + +15 = 42 --> correct
System.out.println(i);
}
}