Tag: 预增量

后增量行为

我有一点疑问。为什么下面的代码是打印值i = 2。 int i=2; i=i++; System.out.println(i); 有人可以解释一下第2行的情况。 所以这里做++没有意义吗? 谢谢

对变量的赋值没有效果?

当我这样做:count = ++ count; 为什么我会收到警告 – 对变量计数的赋值没有效果? 这意味着计数递增,然后分配给自己或其他东西? 它和++ count一样吗? count = count ++会发生什么? ? 为什么我没有收到警告呢?

什么时候在Java中使用post增量和pre增量

我知道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; }

Java:pre-postfix运算符优先级

关于Java中的运算符优先级,我有两个类似的问题。 第一: int X = 10; System.out.println(X++ * ++X * X++); //it prints 1440 根据Oracle教程 : postfix(expr ++,expr–)运算符的优先级高于prefix(++ expr, – expr) 所以,我想评估顺序: 1) first postfix operator: X++ 1.a) X++ “replaced” by 10 1.b) X incremented by one: 10+1=11 At this step it should look like: System.out.println(10 * ++X * X++), X = 11; 2) second […]

预增量运算符是否是线程安全的?

我正在用java制作一个相互竞争的汽车程序。 每辆车都是一个单独的线程。 当汽车完成比赛时,每个人都称这种方法。 我已经在不同的定时器速度下测试了这个方法,它似乎工作正常。 但我确实意识到每个线程都在访问变量carsComplete,有时是在同一时间(至少在date命令给我的范围内)。 所以我的问题是:这个方法是线程安全的吗? public static String completeRace() { Date accessDate = new Date(); System.out.println(“Cars Complete: ” + carsComplete + ” Accessed at ” + accessDate.toString()); switch(++carsComplete) { case 1: return “1st”; case 2: return “2nd”; case 3: return “3rd”; default: return carsComplete + “th”; } }

++ x比Java中的x ++更有效吗?

在编程课程中,教授教我们x++和++x ,x是整数。 他说,在这种情况下,我们可以放置x++或++x , ++x更有效(虽然很少,但理论上仍然更有效)。 但我忘记了原因 。 有谁知道? 这是Java。

Java增量和赋值运算符

我对post ++和pre ++运算符感到困惑,例如在下面的代码中 int x = 10; x = x++; sysout(x); 会打印10? 它打印10,但我预计它应该打印11 但是当我这样做的时候 x = ++x; instead of x = x++; 它将按照我的预期打印11个,那么为什么x = x ++; 不改变x的值?