JavaSE(基础篇)——循环结构(for,while,do while)

简介: JavaSE(基础篇)——循环结构(for,while,do while)

目录


1.while循环

2.do......while循环

3.For循环

4、练习

5.break & continue

   1、break 关键字

   2、continue 关键字

   3、两者区别  



1.while循环

while 是最基本的循环,它的结构为:
while( 布尔表达式 ) {
 //循环内容 
}

只要布尔表达式为 true,循环就会一直执行下去。

image.png



【图解】在循环刚开始时,会计算一次 “ 布尔表达式 ” 的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会在开始前重新计算一次判断是否为真。直到条件不成立,则循环结束。

我们大多数情况是会让循环停止下来的,我们需要一个让表达式失效的方式来结束循环。

方式有:循环内部控制,外部设立标志位!等


public static void main(String[] args) { 
int i = 0;
//i小于100就会一直循环 
while (i<100){
 i++; System.out.println(i); 
} 
}

少部分情况需要循环一直执行,比如服务器的请求响应监听等。


public static void main(String[] args) { 
while (true){
 //等待客户端连接
 //定时检查
 //......
 } 
}

循环条件一直为 true 就会造成无限循环【死循环】,我们正常的业务编程中应该尽量避免死循环。会影响程序性能或者造成 程序卡死奔溃!

【案例:计算1+2+3+…+100=?】


public static void main(String[] args) {
 int i = 0;
 int sum = 0;
 while (i <= 100) { 
sum = sum+i; i++; 
}
System.out.println("Sum= " + sum);
 }

2.do......while循环

对于 while 语句而言,如果不满足条件,则不能进入循环。但有时候我们需要即使不满足条件,也至少执行一次。

do…while 循环和 while 循环相似,不同的是,do…while 循环至少会执行一次。


do { 
//代码语句 
}while(布尔表达式);

image.png

注意:布尔表达式在循环体的后面,所以语句块在检测布尔表达式之前已经执行了。 如果布尔表达式的值为 true ,则语句块一直执行,直到布尔表达式的值为 false 。

我们用 do...while 改造一下上面的案例!

public static void main(String[] args) {
 int i = 0;
 int sum = 0;
 do {
 sum = sum+i;
 i++; }while (i <= 100);
 System.out.println("Sum= " + sum); 
}

执行结果当然是一样的!

While 和 do-While 的区别:

while先判断后执行。dowhile是先执行后判断!

Do...while总是保证循环体会被至少执行一次!这是他们的主要差别。

public static void main(String[] args) {
 int a = 0; 
 while(a<0){
 System.out.println(a);
 a++; 
}
System.out.println("-----");
 do{ 
System.out.println(a);
 a++;
 } while (a<0);
 }

3.For循环

虽然所有循环结构都可以用 while 或者 do...while 表示,但 Java 提供了另一种语句 —— for 循环,使一些循环结构变得更加简单。

for 循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。

for 循环执行的次数是在执行前就确定的。语法格式如下:

for(初始化; 布尔表达式; 更新) {
 //代码语句 
}


关于 for 循环有以下几点说明:


1.最先执行初始化步骤。可以声明一种类型,但可初始化一个或多个循环控制变量,也可以是空语 句。


2.然后,检测布尔表达式的值。如果为 true,循环体被执行。如果为false,循环终止,开始执行循

环体后面的语句。

3.执行一次循环后,更新循环控制变量(迭代因子控制循环变量的增减)。

4.再次检测布尔表达式。循环执行上面的过程。

【演示: while 和 for 输出】

public static void main(String[] args) {
 int a = 1; //初始化 
while(a<=100){ 
//条件判断 
System.out.println(a); 
//循环体 a+=2; 
//迭代 }
System.out.println("while循环结束!");
 for(int i = 1;i<=100;i++){
 //初始化//条件判断 //迭代 
System.out.println(i);//循环体
 }
System.out.println("while循环结束!"); 
}

我们发现, for 循环在知道循环次数的情况下,简化了代码,提高了可读性。我们平时用到的最多的也是我们的for 循环!

4、练习

【练习 1 :计算 0 到 100 之间的奇数和偶数的和】

public class java1 {
    public static void main(String[] args) {
        int i = 0;
        int j = 0;
        for (int i1 = 100; i1 > 0; i1--) {
            if (i1%2==0){
                i += i1;
            }else{
                j += i1;
            }
        }
        System.out.println("基数和"+j);
        System.out.println("偶数和"+i);

【练习 2 :用 while 或 for 循环输出 1-1000 之间能被 5 整除的数,并且每行输出 3 个】

public static void main(String[] args) {
 for(int j = 1;j<=1000;j++){
 if(j%5==0){
 System.out.print(j+"\t");
 }
if(j%(5*3)==0){
 System.out.println(); 
}
 } 
}

【练习 3 :打印九九乘法表】

public class java1 {
    public static void main(String[] args) {
        for (int i = 1 ; i < 10 ;i++) {
            for (int i1 = 1; i1 < i+1; i1++) {
                System.out.print(i+"*"+i1+"="+i*i1+"\t");
            }
            System.out.println();
        }

5.break & continue

1、break 关键字

break 主要用在循环语句或者 switch 语句中,用来跳出整个语句块。

break 跳出最里层的循环,并且继续执行该循环下面的语句。

【演示:跳出循环】

public class java1 {
    public static void main(String[] args) {
        for (int i1 = 100; i1 > 0; i1--) {
            if (i1==80){
                break;
            }else{
                System.out.println(i1);
            }
        }

输出:

image.png



2、continue 关键字

continue 适用于任何循环控制结构中。作用是让程序立刻跳转到下一次循环的迭代。

在 for 循环中, continue 语句使程序立即跳转到更新语句。

在 while 或者 do…while 循环中,程序立即跳转到布尔表达式的判断语句。

【演示】

public class java1 {
    public static void main(String[] args) {
        for (int i1 = 0; i1 < 10; i1++) {
            if (i1==5){
                continue;
            }else{
                System.out.println(i1);
            }
        }

输出:

image.png



我们可以看到并没有5。


3、两者区别  

break 在任何循环语句的主体部分,均可用 break 控制循环的流程。 break 用于强行退出循环,不执行循环中剩余的语句。(break 语句也在 switch 语句中使用 )

continue 语句用在循环语句体中,用于终止某次循环过程,即跳过循环体中尚未执行的语句,接着进行下一次是否执行循环的判定。


相关文章
|
12月前
|
Java
【JAVASE】循环结构 上
【JAVASE】循环结构
|
12月前
|
机器学习/深度学习 Java C语言
【JAVASE】循环结构 中
【JAVASE】循环结构
|
12月前
|
Java
【JAVASE】循环结构 下
【JAVASE】循环结构
|
3月前
|
Java 程序员
14. 【Java教程】Java 循环语句
14. 【Java教程】Java 循环语句
25 3
|
4月前
|
Java 测试技术 索引
滚雪球学Java(14):快速入门JavaSE-for循环语句,轻松掌握编程技巧
【4月更文挑战第3天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
50 1
滚雪球学Java(14):快速入门JavaSE-for循环语句,轻松掌握编程技巧
|
4月前
|
存储 Java
滚雪球学Java(13):掌握JavaSE-Switch条件语句,提高编程效率
【4月更文挑战第2天】🏆本文收录于「滚雪球学Java」专栏,专业攻坚指数级提升,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
63 0
滚雪球学Java(13):掌握JavaSE-Switch条件语句,提高编程效率
|
Java C语言
《JavaSE-第三章》之运算符
《JavaSE-第三章》之运算符
Java 流程控制语句——循环结构
Java 流程控制语句——循环结构
Java 流程控制语句——循环结构
|
算法 Java 开发者
【JavaSE专栏10】Java的顺序结构、选择结构和循环结构
【JavaSE专栏10】Java的顺序结构、选择结构和循环结构
|
Java Linux C语言
【JavaSE】逻辑控制语句
顺序结构比较简单,即程序按照代码书写的顺序一行一行执行下去。