📜  Java的i++ 和 ++i 有什么区别?

📅  最后修改于: 2021-09-11 04:36:57             🧑  作者: Mango

++i 和 i++ 都将i的值加 1,但方式不同。如果++在变量之前,则称为预增量运算符,如果在变量之后,则称为后增量运算符。

Java的增量有两种方式,

1) Post-Increment (i++):如果我们想使用当前值,我们在我们的语句中使用 i++,然后我们想将i的值增加 1。

2) Pre-Increment(++i) :如果我们想将i的值增加 1 然后在我们的语句中使用它,我们在我们的语句中使用 ++i。

例子

int i = 3;
int a = i++; // a = 3, i = 4
int b = ++a; // b = 4, a = 4

示例 1

Java
// Java program to demonstrate pre and post increment
// operators
  
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
        // initialize i
        int i = 0;
        System.out.println("Post-Increment");
  
        // i values is incremented to 1 after returning
        // current value i.e; 0
        System.out.println(i++);
  
        // initialized to 0
        int j = 0;
        System.out.println("Pre-Increment");
  
        // j is incremented to 1 and then it's value is
        // returned
        System.out.println(++j);
    }
}


Java
// Applying increment operator on a constant value
  
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        int x = ++10;
  
        System.out.println("Hello");
    }
}


输出
Post-Increment
0
Pre-Increment
1

示例 2:不能对常量值应用增量运算符(++)

Java

// Applying increment operator on a constant value
  
import java.io.*;
  
class GFG {
    public static void main(String[] args)
    {
  
        int x = ++10;
  
        System.out.println("Hello");
    }
}

输出

prog.java:8: error: unexpected type
          int x = ++ 10;
                     ^
  required: variable
  found:    value
1 error