Java基础(04)——Java语法结构(循环结构)

Java中的语法结构

    • 版权声明
    • 循环结构
    • 1、for循环
    • 2、while循环
    • 3、do...while循环
    • 4、控制语句及break和continue的区别


版权声明

  • 本文原创作者:清风不渡
  • 博客地址:https://blog.csdn.net/WXKKang

循环结构

前面,我们学习了Java中的顺序结构语句和选择结构语句,现在,就让我们来学习一下Java基本语句结构中的第三个——循环结构

同样,我们先从思路入手:之前我们讲,程序执行一段代码的时候就像是一个人在读一篇文章,他既可以按照文章的顺序读下去,又可以根据自己的喜欢去有选择性的读文章;那么,他是否可以根据自己的喜好,将一段自己喜欢的文字来阅读多遍呢,答案肯定是可以的呀。

同样,在Java中也可以根据需要将一段代码重复进行多次的运行,这就是循环语句

  1. for循环
  2. while循环
  3. do…while循环
  4. 特殊语句:break和continue

下面,就让我们来将它们逐一击破吧 ~ ~

1、for循环

  • 特点:开发者明确知道了循环的次数,用于执行已知循环次数的语句
  • 语法
for(初始化表达式;条件表达式;迭代表达式){
	循环体;
}
  • 执行流程
  1. 执行初始化表达式
  2. 判断条件表达式,如果满足条件(即返回值为true)就执行循环体中的代码,如果不满足条件(即返回值为false)则结束循环
  3. 执行循环体语句
  4. 执行迭代表达式(通常为自增或自减)
  5. 回到第2步继续

流程图如下:
Java基础(04)——Java语法结构(循环结构)_第1张图片
理解了这些,就让我们来做一个简单的例子巩固一下吧 ~ ~

例:还有两天就到建国七十周年了,小明想用Java给伟大的祖国母亲庆生,请帮他在控制台打印十遍“祖国我爱你”吧。

没有学到for循环的时候,我们是不是会像下面这样做呢?

public class Demo{
	/*
	原创作者:清风不渡
	博客地址:https://blog.csdn.net/WXKKang
	*/
	public static void main(String[] args){
		System.out.println("祖国我爱你");
		System.out.println("祖国我爱你");
		System.out.println("祖国我爱你");
		System.out.println("祖国我爱你");
		System.out.println("祖国我爱你");
		System.out.println("祖国我爱你");
		System.out.println("祖国我爱你");
		System.out.println("祖国我爱你");
		System.out.println("祖国我爱你");
		System.out.println("祖国我爱你");
	}
}

这样是不是和上一篇中判断季节的时候不用case穿透一样麻烦呢,那么我们现在有了for循环后,我们可以这样做:

public class Demo{
	/*
	原创作者:清风不渡
	博客地址:https://blog.csdn.net/WXKKang
	*/
	public static void main(String[] args){
		for(int i=1;i<=10;i++){
			System.out.println("祖国我爱你");
		}
	}
}

相比之下,这样是不是简单了很多呢,肯定是的呀,这样既可以将一段代码重复使用,又大大减少了我们的工作量,是不是很划算嘞 ~ ~

2、while循环

  • 特点:用于执行未知次数的循环,只有满足条件才能循环
  • 语法
初始化语句;
while(判断条件语句){
	循环体语句;
	控制条件语句;
}
  • 执行流程:
  1. 执行初始化语句
  2. 执行判断条件语句,如果满足判断条件(即返回值为true)就执行循环体语句,如果不满足判断条件(即返回值为false)则结束循环
  3. 执行循环体语句
  4. 执行控制条件语句
  5. 回到第2步继续

流程图如下:
Java基础(04)——Java语法结构(循环结构)_第2张图片
那么,上面的例题是否可以用while循环来实现呢,答案当然是对的,现在就让我们来一起做一下吧:

public class Demo{
	/*
	原创作者:清风不渡
	博客地址:https://blog.csdn.net/WXKKang
	*/
	public static void main(String[] args){
		int i = 1;
		while(i<=10){
			System.out.println("祖国我爱你");
			i++;
		}
	}
}

学习了这些,是不是更加可以感受到Java的灵活呢,还有其他的解决方法吗?当然有呀,下面就让我们再来学习一种循环结构吧 ~ ~

3、do…while循环

  • 特点:还是用于执行未知循环次数的语句
  • 与while循环的区别:对于while语言而言,如果不满足条件,则不能进入循环,但有时候我们需要即使不满足条件,也至少执行一次,而do…while循环就具备这一功能。
  • 语法:
初始化语句;
	do{
		循环体语句;
		控制条件语句;
	}while(判断条件语句);
  • 执行流程:
  1. 执行初始化语句
  2. 执行循环体语句
  3. 执行控制条件语句
  4. 执行判断条件语句,如果满足判断条件(即返回值为true)就执行循环体语句,如果不满足判断条件(即返回值为false)则结束循环
  5. 回到第2步继续

流程图如下:
Java基础(04)——Java语法结构(循环结构)_第3张图片
那么,现在就让我们用这个方法来解决上面的问题吧:

public class Demo{
	/*
	原创作者:清风不渡
	博客地址:https://blog.csdn.net/WXKKang
	*/
	public static void main(String[] args){
		int i = 1;
		do{
			System.out.println("祖国我爱你");
			i++;
		}while(i<=10);
	}
}

这样,我们又学习了一种方法,这样我们就可以面对不同的需求来使用不同的方法了,Java的世界还真是多姿多彩呀 ~ 现在就来让我们学习本篇的最后一个小知识点吧,但是它也是很重要的哟。

4、控制语句及break和continue的区别

还记得switch…case语句中的break吗?它的功能是跳出switch语句;同样,它也可以使用在循环语句中,像这样的语句还有几个,我们将它们统一称为控制语句,下面我来给大家介绍一下吧。

  • break语句:跳出本层的循环(只跳出包含此语句的循环);
  • continue语句:跳过此次循环,直接进入到下一轮循环中(直接跳到控制条件语句)
  • return语句:返回
  • goto语句:此语句尽量少用,因为这不利于结构化程序设计

下面就来举个例子感受一下breakcontinue的区别吧:

例:打印1~10,当打印到5的时候执行break或者continue,体会它们有什么区别

break:

public class Demo{
	/*
	原创作者:清风不渡
	博客地址:https://blog.csdn.net/WXKKang
	*/
	public static void main(String[] args){
		for(int i=1;i<=10;i++){
			if(i==5){
				break;
			}
			System.out.println("i="+i);
		}
	}
}

运行结果:
循环图片

continue:

public class Demo{
	/*
	原创作者:清风不渡
	博客地址:https://blog.csdn.net/WXKKang
	*/
	public static void main(String[] args){
		for(int i=1;i<=10;i++){
			if(i==5){
				continue;
			}
			System.out.println("i="+i);
		}
	}
}

运行结果:
Java基础(04)——Java语法结构(循环结构)_第4张图片
这样,我们是否能明确的看出它们的不同了呢,break是直接结束本层循环,而continue则是跳过本次循环进入控制条件语句。

好啦,今天的学习就到这里吧,我还是那个java界的小学生,一起努力吧!!
欢迎各位看官评论探讨哟 ~ ~ 小生在此谢过了 ~ ~

你可能感兴趣的:(java基础)