版权声明
- 本文原创作者:清风不渡
- 博客地址:https://blog.csdn.net/WXKKang
循环结构
前面,我们学习了Java中的顺序结构语句和选择结构语句,现在,就让我们来学习一下Java基本语句结构中的第三个——循环结构
同样,我们先从思路入手:之前我们讲,程序执行一段代码的时候就像是一个人在读一篇文章,他既可以按照文章的顺序读下去,又可以根据自己的喜欢去有选择性的读文章;那么,他是否可以根据自己的喜好,将一段自己喜欢的文字来阅读多遍呢,答案肯定是可以的呀。
同样,在Java中也可以根据需要将一段代码重复进行多次的运行,这就是循环语句。
- for循环
- while循环
- do…while循环
- 特殊语句:break和continue
下面,就让我们来将它们逐一击破吧 ~ ~
1、for循环
- 特点:开发者明确知道了循环的次数,用于执行已知循环次数的语句
- 语法
for(初始化表达式;条件表达式;迭代表达式){
循环体;
}
- 执行流程
- 执行初始化表达式
- 判断条件表达式,如果满足条件(即返回值为true)就执行循环体中的代码,如果不满足条件(即返回值为false)则结束循环
- 执行循环体语句
- 执行迭代表达式(通常为自增或自减)
- 回到第2步继续
流程图如下:
理解了这些,就让我们来做一个简单的例子巩固一下吧 ~ ~
例:还有两天就到建国七十周年了,小明想用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(判断条件语句){
循环体语句;
控制条件语句;
}
- 执行流程:
- 执行初始化语句
- 执行判断条件语句,如果满足判断条件(即返回值为true)就执行循环体语句,如果不满足判断条件(即返回值为false)则结束循环
- 执行循环体语句
- 执行控制条件语句
- 回到第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(判断条件语句);
- 执行流程:
- 执行初始化语句
- 执行循环体语句
- 执行控制条件语句
- 执行判断条件语句,如果满足判断条件(即返回值为true)就执行循环体语句,如果不满足判断条件(即返回值为false)则结束循环
- 回到第2步继续
流程图如下:
那么,现在就让我们用这个方法来解决上面的问题吧:
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语句:此语句尽量少用,因为这不利于结构化程序设计
下面就来举个例子感受一下break和continue的区别吧:
例:打印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);
}
}
}
运行结果:
这样,我们是否能明确的看出它们的不同了呢,break是直接结束本层循环,而continue则是跳过本次循环进入控制条件语句。
好啦,今天的学习就到这里吧,我还是那个java界的小学生,一起努力吧!!
欢迎各位看官评论探讨哟 ~ ~ 小生在此谢过了 ~ ~