从零学Java(23)之 for 语句

Posted 编程界明世隐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从零学Java(23)之 for 语句相关的知识,希望对你有一定的参考价值。

作者简介

作者名:编程界明世隐
简介:CSDN博客专家,从事软件开发多年,精通Java、javascript,博主也是从零开始一步步把学习成长、深知学习和积累的重要性,喜欢跟广大ADC一起打野升级,欢迎您关注,期待与您一起学习、成长、起飞!

导航

✪ 从零学Java系列目录索引
◄上一篇  【22】do while 语句
►下一篇  【24】foreach 语句

热门专栏推荐

【1】Java小游戏(俄罗斯方块、飞机大战、植物大战僵尸等)
【2】JavaWeb项目实战(图书管理、在线考试、宿舍管理等)
【3】JavaScript精彩实例(飞机大战、贪吃蛇、验证码等)
【4】Java小白入门200例
【5】从零学Java、趣学Java
【6】Idea从零到精通

引言

♀ 小AD:明哥,我有个问题
♂ 明世隐:很好,敏而好学、不耻上问。
♀ 小AD:不对耶明哥,应该是不耻下问。
♂ 明世隐:不耻上问
♀ 小AD:是不耻下问,我上学的时候就是这样的。
♂ 明世隐:在明哥这就是不耻上问,行不行?
♀ 小AD:行吧,太坏了你,欺负人吗你。
♂ 明世隐:就欺负你咋了,天天给当辅助,我还不能硬气一回了吗?
♀ 小AD:行行行!那我能问了吗?
♂ 明世隐:说吧
♀ 小AD:就之前while循环的时候,我看你会用break主动退出,那我能不能不用break的方式啊,我事先就设定好循环多少次的。
♂ 明世隐:就比如你跑操场20圈,每一圈同样要停下来歇一会,这种?
♀ 小AD:20圈你要我死啊,3圈不能再多了。
♂ 明世隐:那有,我可以叫你新的循环,叫“ for 循环”
♀ 小AD:看名字很简单的样子。
♂ 明世隐:那开始吧。

概述

for 语句是应用最广泛、功能最强的一种循环语句。大部分情况下,for 循环可以代替 while 循环、do while 循环。

for 语句语法格式如下所示。

for(赋值语句;条件语句;迭代语句) {
语句块;
}

for 循环语句执行的过程为:
首先执行赋值语句 进行初始化,然后判断条件语句 的值是否为 true,如果为 true,则执行循环体语句块;否则直接退出循环。最后执行迭代语句,改变循环变量的值,至此完成一次循环。接下来进行下一次循环,直到条件语句 的值为 false,才结束循环。

实例1

普通的 for 循环

public class For {

	public static void main(String[] args) {
		for (int i = 0; i < 5; i++) {
			System.out.println("打印:"+i);
		}
	}
}

运行结果:

打印:0
打印:1
打印:2
打印:3
打印:4

非常简单,也是最基本的for语句。

♀ 小AD:for 括号里面的三段内容?能解释下吗?
♂ 明世隐:行,第一段 int i = 0 这个好理解,就是声明一个变量 i,这个i初始值为0,并且作用范围是这个for循环对应的大括号里面,大括号外面是访问不到的。
♀ 小AD:这个能看懂。
♂ 明世隐:第二段 i < 5 是条件语句,就是每次要不要执行这个for循环里面的代码,就要先判断这个条件,像现在i=0,是小于5的吧,所以开始执行循环里面的代码。
♀ 小AD:打印 0
♂ 明世隐:对,然后等循环体的代码执行会,这个时候执行,for的第3段 i++ ,就 i 递增为1 。
♀ 小AD:完成了第一次循环?
♂ 明世隐:对,这个时候再用第二段 i<5进行判断。
♀ 小AD:i = 1 小于5,然后继续执行咯,打印出1。
♂ 明世隐:然后再执行 i++ ,i 编程2,重复上述过程,当i=5 的时候,条件判断语句 i<5成立不 ?
♀ 小AD:不成立,所以不执行for循环里面的代码了吗?
♂ 明世隐:对,所以循环就会被退出了。
♀ 小AD:所以最后打印到4就没有打印了。
♂ 明世隐:明哥这样解释清楚不?
♀ 小AD:非常nice。

实例2

更换 赋值语句,将初始化i=0改为i=2,看效果

public class For {

	public static void main(String[] args) {
		for (int i = 2; i < 5; i++) {
			System.out.println("打印:"+i);
		}
	}
}

运行结果:

打印:2
打印:3
打印:4

可以看到打印也是从2开始的。

实例3

修改条件语句,将i<5 改为i<4

public class For {

	public static void main(String[] args) {
		for (int i = 2; i < 4; i++) {
			System.out.println("打印:"+i);
		}
	}
}

运行结果:

打印:2
打印:3

可以看到4没有被打印了,因为条件限制了必须小于4,当 i递增到4的时候判断条件为false,for 循环被退出了。

实例4

修改迭代语句,比如删除 i++,则会死循环,一直打印 2;

public class For {

	public static void main(String[] args) {
		for (int i = 2; i < 4; ) {
			System.out.println("打印:"+i);
		}
	}
}

运行结果:

打印:2
打印:2
打印:2
打印:2
打印:2
打印:2

实例5

将迭代语句放到代码块里面执行,修改实例4的代码,将i++ 放到代码块里面也是可以的。

public class For {

	public static void main(String[] args) {
		for (int i = 2; i < 4; ) {
			System.out.println("打印:"+i);
			//迭代语句放这里也可以
			i++;
		}
	}
}

运行结果:

打印:2
打印:3

♀ 小AD:可以这么多写法啊,那是不是很high啊。
♂ 明世隐:high是high,但是不建议这么做,还是按照一般for循环的写法来写,这样比较好理解,也统一。
♀ 小AD:嗯,有道理,不然你一套我一套就没法看了 。
♂ 明世隐:是的
♀ 小AD:明哥,那我迭代语句可以为空,也就是放到代码里面,其他语句可以为空不?
♂ 明世隐:刚不是说了不玩那么花吗?
♀ 小AD:单纯好奇,我就想知道,也不一定非得这么用,知道这些个知识没毛病吧。
♂ 明世隐:我可以很负责任的告诉你,是可以的。
♀ 小AD:真的吗?
♂ 明世隐:那我来举例给你看。

实例6

初始语句为空,意思就是我们可以不将初始语句放到for这里,可以放到外面。

public class For {

	public static void main(String[] args) {
		int i = 2;
		for (; i < 4; ) {
			System.out.println("打印:"+i);
			//迭代语句放这里也可以
			i++;
		}
	}
}

实例7

条件语句也为空(会死循环)

public class For {

	public static void main(String[] args) {
		int i = 2;
		for (;;) {
			System.out.println("打印:"+i);
			//迭代语句放这里也可以
			i++;
		}
	}
}

运行结果:

打印:2
打印:3
打印:4
打印:5
打印:6
打印:7
打印:8

实例8

参考之前的做法,将条件语句放到代码块里面,要借助 break 来退出。

public class For {

	public static void main(String[] args) {
		int i = 2;
		for (;;) {
			System.out.println("打印:"+i);
			//迭代语句放这里也可以
			i++;
			//设定退出条件
			if(i>=4){
				break;//终止for循环
			}
		}
	}
}

运行结果:

打印:2
打印:3

♂ 明世隐:就问你花不花?
♀ 小AD:明哥这玩的也太花了吧。
♂ 明世隐:但是不建议这么做吧,有时候确实要用到的话就用,尽量不这么用,还是常规一些的好,比较好理解。
♀ 小AD:嗯,我明白了,哎呀,明哥真的知识太丰富了,一个个的都给我讲的明明白白。
♂ 明世隐:你别给我安排的明明白白就行了。
♀ 小AD:这就给你安排一下。

public class LearnForDemo {

	public static void main(String[] args) {
		System.out.println("游戏开始!");
		System.out.println("明世隐牵着小AD走发育路。");
		for(int i=1;i<=5;i++){
			System.out.println("对方来抓,小AD闪现跑路,明世隐被杀第"+i+"次,送对方射手经济!");
		}
		System.out.println("明哥心态爆炸,游戏结束!");
		System.out.println("带不动,明哥跑路了");
	}
}

运行结果:

游戏开始!
明世隐牵着小AD走发育路。
对方来抓,小AD闪现跑路,明世隐被杀第1次,送对方射手经济!
对方来抓,小AD闪现跑路,明世隐被杀第2次,送对方射手经济!
对方来抓,小AD闪现跑路,明世隐被杀第3次,送对方射手经济!
对方来抓,小AD闪现跑路,明世隐被杀第4次,送对方射手经济!
对方来抓,小AD闪现跑路,明世隐被杀第5次,送对方射手经济!
明哥心态爆炸,游戏结束!
带不动,明哥跑路了

♂ 明世隐:就你懂事,安排的明白。
♀ 小AD:那必须的,我天赋就是高,一学就会。
♂ 明世隐:那我走?
♀ 小AD:别走。
♂ 明世隐:我去跟打野了,这家伙给我安排的,心态爆炸,拜拜了您嘞。
♀ 小AD:别。。。。

小结

这节总结了“ for 语句 ”,希望能对大家有所帮助,请各位小伙伴帮忙 【点赞】+【收藏】+ 【评论区打卡】, 如果有兴趣跟小明哥一起学习Java的,【关注一波】不迷路哦。

评论区打卡一波让我知道你,明哥会持续关注你的学习进度哦!

导航

✪ 从零学Java系列目录索引
◄上一篇  【22】do while 语句
►下一篇  【24】foreach 语句

热门专栏推荐

【1】Java小游戏(俄罗斯方块、飞机大战、植物大战僵尸等)
【2】JavaWeb项目实战(图书管理、在线考试、宿舍管理等)
【3】JavaScript精彩实例(飞机大战、贪吃蛇、验证码等)
【4】Java小白入门200例
【5】从零学Java、趣学Java
【6】Idea从零到精通

以上是关于从零学Java(23)之 for 语句的主要内容,如果未能解决你的问题,请参考以下文章

从零学Java(24)之 foreach 语句

从零学Java(25)之 break语句详解

从零学Java(26)之 continue语句详解

从零学Java(22)之do while 语句

从零学Java(20)之switch case语句,小AD变身中路城管大队!

从零学Java(21)之while 语句,小AD竟然想躺着上王者!