Java (&"x2B;&"x2B;c)&;(c+;+;)?

Java (&"x2B;&"x2B;c)&;(c+;+;)?,java,operators,increment,Java,Operators,Increment,(++c)和(c++)之间有什么区别 比方说 c=4 我知道对于(++c),你会把增量4增加1,所以增加5,但是对于(C++)< p> C++和++c都增加了它们所应用的变量。C++返回的结果是变量在增量之前的值,而++C返回的结果是变量在应用增量后的值。 例如: public class IncrementTest{ public static void main(String[] args){ System.out.println("***Post increment test**

(++c)和(c++)之间有什么区别

比方说 c=4


<>我知道对于(++c),你会把增量4增加1,所以增加5,但是对于(C++)

< p> C++和++c都增加了它们所应用的变量。C++返回的结果是变量在增量之前的值,而++C返回的结果是变量在应用增量后的值。 例如:

public class IncrementTest{
public static void main(String[] args){

    System.out.println("***Post increment test***");
    int n = 10;
    System.out.println(n);      // output  10
    System.out.println(n++);    // output  10
    System.out.println(n);      // output  11

    System.out.println("***Pre increment test***");
    int m = 10;
    System.out.println(m);      // output  10
    System.out.println(++m);    // output  11
    System.out.println(m);      // output  11
}
}
有关更多信息,请阅读以下内容:
或者在java中使用google post increment和pre increment

事实上,这是误导
c++
++c
是返回值的表达式。这不是两种说法<当
++c
返回更新后的值时,code>c++只返回上一个值。您应该链接Java语言规范的相关部分:这个主题非常清楚(例如)。我注意到您编辑了“表达式”,但它仍然具有误导性。没有“先执行表达式,然后将值增加1”<代码>c++是表达式<代码>c增加1。这个表达式返回一个值,它是
c
@Tunaki的前一个值,让我想一下反对的理由是什么。请给我一秒钟。好吧,你仍然有“先…然后”的概念,这是不正确的:“首先计算表达式,然后将值增加1”。我认为您应该仔细阅读有关这方面的说明,以澄清您的想法:)。它读起来很简单:这取决于你所说的“步骤”。从技术上讲,它是字节码级别的指令。第一步是“增量
c
”,第二步是“返回值”。这是变化的第二步(增量之前或之后的值)。这是一个应该在你脑海中敲响铃铛的问题,让你思考——让我试试。。。