1.是什么
自增(Increment)是编程中常见的一种操作,用于将变量的值增加1。在大多数编程语言中,自增有两种形式:前缀自增(++i)和后缀自增(i++)。这两种形式在表达式中的行为略有不同,主要区别在于自增操作发生的时机。
一般记忆:
-
前缀自增(++i)先增加1后赋值
-
后缀自增(i++)先赋值后增加1
让我们来看两道例题吧!(大家可以试着做做,做完后可以对答案喔)
例题①:
public class Test {
public static void main(String[] args){
int i = 9;
i++;
System.out.println(i);
}
}
例题②:
public class Test {
public static void main(String[] args){
int i = 9;
++i;
System.out.println(i);
}
}
答案:例题①和②都是10
解释:例题①是先赋值后增加1,但是i++并没有赋值这步操作,因为没有变量接收,所以它直接自增1后输出(下面我会再举个例子进一步解释)
例题②:先增加1后赋值,自增1后输出来。
如果对例题①有困惑的小伙伴可以再看例题③:
public class Test {
public static void main(String[] args){
int i = 9;
i = i++;
System.out.println(i);
}
}
答案:9
仔细对比发现:不同点在于有没有变量,有变量的情况下,i++是先赋值后增加1,所以i直接赋值就是9,在输出结果之后再增加1。
总结:看自增前是否有变量!!!
注意这种情况:
public class Test {
public static void main(String[] args){
int i = 9;
System.out.println(i++);
}
}
像这种直接输出的情况等同于上面的有变量赋值的情况,可以这么理解:赋值变量 i 再进行输出相当于直接输出i++,这里也是有变量赋值的过程,遵循先赋值再自增!!!输出结果是9
下面为了加强巩固,我们再看两道例题:
public class Example {
public static void main(String[] args) {
int a = 5;
int b = a++;
System.out.println("a = " + a);
System.out.println("b = " + b);
}
}
答案:a=6,b=5。 b被赋值为a的当前值5,然后a自增为6
增加难度!!!
public class Example {
public static void main(String[] args) {
int i = 1;
int j = i++ + ++i + i++ + ++i;
System.out.println("i = " + i + ", j = " + j);
}
}
答案:i=5, j=12
解释:
#红色标记是步骤,蓝色圈圈是对应的值,j最后的结果是蓝色圈圈相加
1.1. 适用类型
- 自增运算符(
++
)只能用于整数类型的变量,包括byte
、short
、int
、long
等。它们不能用于浮点数(如float
、double
)或字符(char
)类型的变量,因为这些类型的变量增加1在逻辑上可能不是简单的递增操作(特别是对于浮点数和字符)。
1.2. 注意事项
- 自增运算符只能用于变量,不能用于常量或表达式的结果。例如,
1++
或(x + 1)++
都是非法的,因为它们试图对常量或表达式的结果进行自增操作。
好啦,相信大家都掌握好这些知识啦,还有什么建议或补充欢迎来评论区喔!