use*_*994 4 java increment pre-increment post-increment
我知道StackOverflow上有很多关于这个主题的问题.但我仍然有点困惑,不确定何时使用这些操作.我正在通过旧考试来学习考试.其中一种方法可以获得残疾人无障碍且可用的教室数量.我写了计数器方法,但不确定我是否应该预先增加或增加计数器.我很困惑它如何在方法中使用return语句.我仍然没有得到该方法将在下面返回的值.其他问题没有显示方法中的返回值,因此我很困惑它实际上是如何工作的.这是代码:
public int howManyHandi()
{
int counter= 0;
for (int i = 0; i < _clsrms.length; i++){
if (_clsrms[i].handicappedSuitable() && _clsrms[i].isAvailable()){
++counter;
}
}
return counter;
}
Run Code Online (Sandbox Code Playgroud)
如果要在该表达式中使用变量的递增值,则使用PRE-increment.而POST递增在递增之前使用原始值.
每当您的代码遇到PRE增量时,它会增加内存中该变量的值,然后加载该值并继续读取表达式.
POST增量相反,它将该变量的值加载到内存中,然后递增该值并继续读取表达式.
为了更清楚,请考虑这一点
int i = counter++;
Run Code Online (Sandbox Code Playgroud)
相当于
int i = counter;
counter = counter + 1;
Run Code Online (Sandbox Code Playgroud)
鉴于
int i = ++counter;
Run Code Online (Sandbox Code Playgroud)
相当于
counter = counter + 1;
int i = counter;
Run Code Online (Sandbox Code Playgroud)
编辑:我的StackOverflow评论不起作用,所以我将在这里编辑它.
我在说什么,只有在表达式中使用该值时才有意义.
sum = 0
counter = 0;
sum = (++counter)+(++counter)+(counter++)
Run Code Online (Sandbox Code Playgroud)
评估为
sum = 0
counter = 0
//For first ++counter
counter = counter + 1
sum = counter
//For second ++counter
counter = counter + 1
sum = sum + counter
//For first counter++
sum = sum + counter
counter = counter + 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8820 次 |
| 最近记录: |