public void increment(){
int zero = 0;
int oneA = zero++; // Compiles
int oneB = 0++; // Doesn't compile
int oneC = getInt()++; // Doesn't compile
}
private int getInt(){
return 0;
}
Run Code Online (Sandbox Code Playgroud)
它们都是int的,B&C为什么不编译?是否与++运营商的不同之处有关= 0 + 1;?
操作的参数无效++/ -
尝试编译
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int x = in.nextInt()++;
}
}
Run Code Online (Sandbox Code Playgroud)
给出错误java: unexpected type; required: variable; found: value。
使用+ 1而不是++解决此错误。
我知道区别是“将变量的值加1”和“将值增加1”。
但是我从没碰到能带来改变的代码。有人可以解释吗?