这在java中做什么?我不知道';我不明白——变量

这在java中做什么?我不知道';我不明白——变量,java,Java,我知道变量-,等于变量-1,但什么是-,变量等于,当它在数组括号中时,它有什么特殊的作用吗?我想这会从数组中删除一些东西,我真的不理解这里的代码。代码设置size=size-1,然后将size的元素复制到I它只是等效于: array[i] = array[--size]; array[index]返回index位置的array中的元素 --value表示将值评估为value=value-1,然后在操作中应用新值。您的代码与: size-=1; array[i] = array[size];

我知道变量-,等于变量-1,但什么是-,变量等于,当它在数组括号中时,它有什么特殊的作用吗?我想这会从数组中删除一些东西,我真的不理解这里的代码。

代码设置
size=size-1
,然后将
size
的元素复制到
I

它只是等效于:

array[i] = array[--size];

array[index]
返回
index
位置的
array
中的元素


--value
表示将值评估为
value=value-1
,然后在操作中应用新值。

您的代码与:

size-=1;
array[i] = array[size];

前缀减量与后缀非常相似,唯一的区别是它的计算结果是减量后的结果,而不是减量前的值。

变量大小是在代码的前面定义的。变量名前面的--infort导致在执行该行代码之前减少1。例如,如果大小变量设置为5,则在赋值之前,大小变量将减少到4,然后执行数组[i]=数组[4]的赋值。

它只是执行以下操作:

size--;
array[i] = array[size];
--变量
表示预减量。这是第一个值将被递减,然后使用。

i——我做的基本上是相同的事情:它们从i中减去1。不同的是,我会在一个动作完成后减去1,而我会在动作开始前减去1。这在for循环的情况下更有意义:

size-=1;
array[i] = array[size];
在这种情况下,for循环将在i等于5的情况下运行,然后在循环结束时,它将重复,但减去1。 如果情况是这样的:

for (i = 5; i > 0; i--) {...}
在循环运行之前,我将从中减去1,因此它将立即以0开始,但另一方面,当i=0时,它也将在末尾运行

--size
就像说
size
的值减去1。

--
从变量中减去一个,但是
--
(或
++
)的位置控制变量何时递减

  • array[--size]
    在访问数组之前减去一

  • array[size-->
    将在访问数组后减去一


相关:
--变量
与之类似,只是它的计算结果是递减后的值。不,不是。另一种情况是这样的。它们中的任何一个会保存变量的新值,还是只是临时的?这个开头的解释是正确的,但是for循环的例子是不正确的:{…}将首先以i=5运行,然后再由'--i'或'i--'递减,这在本例中是相同的。
for (i = 5; i > 0; --i) {...}