Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.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_Logic_Assign - Fatal编程技术网

Java 在前面是什么意思?

Java 在前面是什么意思?,java,logic,assign,Java,Logic,Assign,大家好,我有一个很简单的问题,我不明白。我试过用谷歌搜索,但没有找到明确的答案 以下语句后面的x是什么 int x = 2; int y = 1; x *= y + 1; 我知道答案是4,但我不明白为什么是4。只是需要弄清楚x*的确切含义。谢谢 这个x*=符号意味着x=x*你在等号后面加上的结果 x*=y+1将变为x=x*(y+1)。在等于之后放置的表达式将首先计算,然后与x相乘。结果将转换为赋值变量(x)的类型 当然x是4,如果你不明白最后一句话,你可以这样读 x = x * y + 2

大家好,我有一个很简单的问题,我不明白。我试过用谷歌搜索,但没有找到明确的答案

以下语句后面的x是什么

int x = 2;
int y = 1;
x *= y + 1;

我知道答案是4,但我不明白为什么是4。只是需要弄清楚x*的确切含义。谢谢

这个
x*=
符号意味着
x=x*
你在等号后面加上的结果


x*=y+1
将变为
x=x*(y+1)
。在等于之后放置的表达式将首先计算,然后与x相乘。结果将转换为赋值变量(x)的类型

当然x是4,如果你不明白最后一句话,你可以这样读

x = x * y + 2

我想这句话就是你为什么要问的

x *= y + 1;
这是英语的简写

x = x * (y + 1);

当第一个变量与左侧的变量(将被分配)相同时,这也适用于其他运算符,如-和+。

x=x*y+1
<代码>x=2*1+1<代码>x=2*2
x=4
如果你知道
x+=y
的意思,那么
x-=y
x*=y
x/=y
x%=y
都应该是直观的。看,事实上,这并不意味着。1) 有一个类型转换,2)忽略运算符优先级。事实上,
x*=
的真正意思是
x=()(x*())。是的,在某些情况下,类型转换和/或优先级将起作用。@StephenC更新了我的答案。