Java 在前面是什么意思?
大家好,我有一个很简单的问题,我不明白。我试过用谷歌搜索,但没有找到明确的答案 以下语句后面的x是什么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
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*2x=4
如果你知道x+=y
的意思,那么x-=y
、x*=y
、x/=y
和x%=y
都应该是直观的。看,事实上,这并不意味着。1) 有一个类型转换,2)忽略运算符优先级。事实上,x*=
的真正意思是x=()(x*())代码>。是的,在某些情况下,类型转换和/或优先级将起作用。@StephenC更新了我的答案。