Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java算术运算符,请解释输出_Java - Fatal编程技术网

Java算术运算符,请解释输出

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开始

因为+和-具有相同的优先级,所以它将具有从右到左的关联性。 所以我认为任何像13--14++15这样的表达式都将被视为13-(-14++15),输出将是12,但输出是42。
有人能解释一下输出吗?

如果您从左到右(像Java那样)计算表达式,您可以从
13--14
开始,它与
13-(-14)
相同,即27
27++15
是42。

如果从左到右计算表达式(就像Java那样),则从
13--14
开始,这与
13--14
相同,后者是27
27++15
是42。

如果从左到右计算表达式(就像Java那样),则从
13--14
开始,这与
13--14
相同,后者是27
27++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);
     }
}