【视频+图文新手也友好】Java ++i(前自增)和i++(后自增)用法详解

437 阅读3分钟

明明书上写的++i(前自增)和i++(后自增)作用是不一样的。

但是在我眼中看来它们的作用却好像一样??

这个难题怎么破?快来观看这期【图文+视频】吧。

让你快速掌握++i(前自增)和i++(后自增)。

视频讲解:

点击此处即可到B站观看

知识点讲解:

  • ++i前自增:
  1. 使用i,使i的值加1
  2. 因此执行完++i后,整个表达式i的值均为i+1
  • i++后自增:
  1. 使用i,使i的值加1
  2. 因此执行完i++后,整个表达式的值为i
  3. i的值变为i+1
  • ||:逻辑或:
  1. 只要有一个条件结果为true即为true
  2. 所有条件结果均为false才为false

例题1分析:(i与j均为后自增)

package com.task03;

public class P044_ {

	public static void main(String[] args) {
		int i = 0, j = 1;
		if ((i++ == 1) || (j ++== 2)) {//此时i++==0   j++==1
			j = 42;
		}
		System.out.println("i=" + i + ",j=" + j);//i=1,j=2
	}
}

1.初始化 i=0 j=1

由于后自增是使用i之后,使i的值加1

执行i++后,整个表达式的值为i,而i的值变为i+1

2.所以执行i++后,整个表达式的值为i即为0 不满足i++ == 1的条件

​ 同理执行j++后,整个表达式的值为j即为1 不满足j++ == 2的条件

3.因此不能执行 j=42;

4.因为执行i++后,i的值变为i+1,j的值变为j+1

​ 所以在执行输出语句后 i=1,j=2

例题1图片:(i与j均为后自增)

在这里插入图片描述

例题2分析:(i为后自增,j为前自增)

package com.task03;

public class P044_ {

	public static void main(String[] args) {
		int i = 0, j = 1;
		if ((i++ == 1) || (++j == 2)) {//此时i++==0   ++j==2
			j = 42;
		}
		System.out.println("i=" + i + ",j=" + j);//i=1,j=42
	}
}

1.初始化 i=0 j=1

由于前自增:在使用j,使j的值加1

因此执行完++j后,整个表达式j的值均为i+1

2.所以执行i++后,整个表达式的值为i即为0 不满足i++ == 1的条件

​ 而执行++j后,整个表达式的值为j+1即为2 满足++j == 2的条件

3.执行 j=42;

4.因为执行i++后,i的值变为i+1,j变为42

​ 所以在执行输出语句后 i=1,j=42

例题2图片:(i为后自增,j为前自增)

在这里插入图片描述

前自减(--i)和后自减(i--)也是一样的,大家可以用这里的例子代码,自己消化理解一下。这样效果会更好,记忆会更加深刻!期待你们在评论区交作业喔~

推荐你看:

如果你觉得这篇文章还不错,麻烦帮我点个赞鸭!可以让更多人看到这篇文章。让我有动力继续更技术文~

在这里插入图片描述