快读掌握JAVA流程控制的循环结构

流程控制的 循环结构

今天我们来讲一下流程控制的 循环结构。

循环的第一种较为简单的循环结构。(while 循环)

下面是while循环的流程结构

while(循环条件){

               循环体

}

循环体的的规则有哪些呢?

1.当判断条件成立时,运行循环体。

2当判断条件不成立时,结束循环。

3.当判断条件恒成立时,会出现死循环。

快读掌握JAVA流程控制的循环结构

当然出现死循环也不要怕。我们可以给死循环写一个方法来结束死循环。(下面我会举例子给大家)

现在来说一下循环语句的执行顺序

先执行循环条件,在执行循环体,当循环条件一直成立时,循环体会一直执行。

直到循环条件不成立时,才会停止循环。

接下我写一个例子给大家。

题目;打印十遍睡觉

我们大家一起来找一下思路

我们昨天学到if的时候是不是要先声明一个变量?

这里我们这个变量不叫变量叫做初始化循环增量

那么第一步应该;声明一个初始化循环增量

那第二步我们是不是应该寻找这个循环的判断条件呢?

答案是:是的。

上面说

while(循环条件){

               循环体

}

这是循环的流程结构。那我们是不是还缺少一个循环体没有构思呢。

所以我们第三步就是写循环体对吧。

接下来我们来写一下。

public static void main (String[]agre){

int  number = 0; //初始化循环增量

while(number<10){  //循环条件

    System.out.println("睡觉")//循环体 注意;一定要写循环变量不然会变成死循环。


    number++;

}

}

下面我们再来练习几道题

打印1-100的数

public static void main (String[]agre){

int  num= 0;

while(num<101){

Systrm.out.println("num")

num++;

}

打印1-10的和

int number = 0;

int number1 = 0;

while(number<11)}

number = number+number1;

number++;

{

System.out.println("number")

}

银行定期存款五年以上的利率为7.5%

现在小明要存10000元存十年,那小明十年以后的存款是多少钱呢

提示 (上一年本金=本金+利息)

public static void main (String[]agre){

 int num = 1;

double money=10000;

 int year = 10;

while(num<year){

money = money+(money*0.075);

num++;

}

System.out.println("money");

}

循环体2

为了反方便快捷我就用数字来表示do while 循环体的流程顺序了

循环体流程结构

do{                    

      //  1️⃣循环体 (循环体的内容)

}while(循环条件){ // 2️⃣

}

do while 循环体的规则

看上面的循环流程循序就知道。

先执行循环体(不管有没有循环条件。或者有循环条件不管它成立与否都会先执行循环体)然后在判断循环条件 ,如果循环条件成立 那么好,就继续执行循环体,如果循环条件不成立循环就会立即结束。

昨天说了变量今天还要提到变量 (重点)

不同的作用域中,变量名可以重复。相同的作用域中,变量名不可以重复。

那到底什么事作用域呢?

通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。

接下来我们通过大量的联系来回顾一下昨天的Scanner这条语句,巩固理解一下今天这个do while循环的流程。

题目1:

 从周一开始打印 并询问明天上班不 输入上班继续打印 反之 停止程序

public static void main (String[]agre){

//先定义一个初始化循环增量 int num = 1;

Scanner scanner  = new Scanner(System.it);

String work ="";

do{

System.out.println("星期"+num);

System.out.println("你明天上班吗?输入:上班或者不上班");

work =scanner  nextLine();

number++;

}while(work.equals(上班)&&num<8);

{

接下来我们讲一下死循环 和如何跳出死循环

我们先来写一个死循环。

public static void main (String[]agre){

 int a = 1;

 int b = 100;

while(a<b){

Systrm.out.println(a);

}

}

答案会无限循环1

那么我们要如何结束他呢

public static void main (String[]agre){

 int c = 0;

 int a = 1;

 int b = 100;

while(a<b){   /输出值为TURE 所以无限循环

if(c ==2){

break;    /停止循环的关键。

System.out.println("停止循环")

c++;

}

Systrm.out.println(a);

}

}

这样就停止循环了



接下来我们就要讲我们的重重之重了!!!

for循环

for循环的流程结构

for(表达式(定义循环增量):判断循环的条件:表达式(循环增量增加)){

                                                     循环体

}

接下里我们随便写一个程序

需求用for循环打印十个睡觉

public static void main (String[]agre){

           1         2        3

for(int = a; a<10;a++){

                    4

System.out.println("睡觉")

    }

}

我们一起来看一下for循环执行的顺序

1-2-4-3-2-4-3  初始循环增量只循环一次。

在这里我们就可以突出说一下作用域的作用了请看下面截图

快读掌握JAVA流程控制的循环结构

看我们的

Eclipse报错是什么。

快读掌握JAVA流程控制的循环结构

我们将发生错误的话移到FOR循环里

快读掌握JAVA流程控制的循环结构

他就没有错误了。这说明什么?

我们再看一个图同样的位置我们多声明了一个初始循环增量

快读掌握JAVA流程控制的循环结构

这下应该明白作用域的作用了吧。

number 报错的原因是因为他们都在main入口函数的作用域里所以报错了。

接下来我们练几道题。

题目1:使用for循环求1-10的和。

public static viod main(String[]agre){

int num = 0;

for(int number = 1;number<11;number++){

 num= num+number;

}

System.out.println(num);

}

题目2:使用for循环 在1-100中 找出7的倍数的个数

public static void main(String[]agre){

int num =0;

for(int number = 1; number<101;number++){

if(num%7 == 0){

//System.out.println("number");这个的作用是输出那些数是7的倍数,可以省略。

num++;

}

System.out.orintln("num");

}

}

前面讲了这么多大家一起来回顾一下。while 和do while的区别是什么?

如果循环的增量只是用来控制循环的次数
再循环的外面不需要使用时可以选取for循环。
反之循环增量在循环外  你还要继续使用或者操作
这是 你可以选用while循环


for循环的嵌套


public static void main (String[]agre){

for(;;){                               外层循环结构

          循环体1

}for(;;){                             内层循环结构

          循环体2

}

}

}

接下来我们做一个题。

题目一

用for循环打印下面图形

****
****
****
****

public static void main(Srting[]agre){

         1                    2            3

for(int num= 0;num<4;num++){

           4                 5            6

for(int nuu = o;nuu<4;nuu++){

}                    7

System.out.print("*"); //打印*

}                    8

System.out.println(); //换行

}

提示;初始循环增量在程序中只运行一次。

我们来看一下程序运行的顺序 我们从上面标出来

1-2-4-7-6-5-7-6-5-7-6-5-7-6-5-7(当nuu<4不成立时,结束本次循环体内循环)

8-3-2-5-7-6-5-7-6-5-7-6-5-7-6   (当内循环条件再次不成立时,结束本次循环内循环)

8-3-2-5-7-6-5-7-6-5-7-6-5-7-6 

8-3-2-5-7-6-5-7-6-5-7-6-5-7-6

程序结束打印出

****
****
****
****

题目二

打印一个三行六列的矩形

public class lianxi1 {
public static void main(String[]agre) {
    for(int num =0;num < 3;num++ ) {
        for(int nuu = 0; nuu <6;nuu++) {
            System.out.print("*");
        }
        System.out.println();
    }
}
}   

题目三

打印一个尖向下的三角形

public class lianxi1 {
public static void main(String[]agre) {
    //打印一个尖向下的三角形
    for(int num =0;num < 5;num++ ) {
        for(int nuu = num; nuu <5;nuu++) {
            System.out.print("*");
        }
        System.out.println();
    }
}
}   

题目四

打印一个尖向上的三角形

public class lianxi1 {
public static void main(String[]agre) {
    for(int num =0;num < 5;num++ ) {
        for(int nuu = 0; nuu <num;nuu++) {
            System.out.print("*");
        }
        System.out.println();
    }
}
}   

题目五

1
12
123
1234
12345       

public class lianxi1 {
public static void main(String[]agre) {
    for(int num =1;num < 6;num++ ) {
        for(int nuu = 1; nuu <=num;nuu++) {
            System.out.print(nuu);
        }
        System.out.println();
    }
}
}   
题目六

打印

1*1=1    
2*2=2    2*2=4    
3*3=3    3*3=6    3*3=9    
4*4=4    4*4=8    4*4=12    4*4=16    
5*5=5    5*5=10    5*5=15    5*5=20    5*5=25    
6*6=6    6*6=12    6*6=18    6*6=24    6*6=30    6*6=36    
7*7=7    7*7=14    7*7=21    7*7=28    7*7=35    7*7=42    7*7=49    
8*8=8    8*8=16    8*8=24    8*8=32    8*8=40    8*8=48    8*8=56    8*8=64    
9*9=9    9*9=18    9*9=27    9*9=36    9*9=45    9*9=54    9*9=63    9*9=72    9*9=81   


public class lianxi1 {
public static void main(String[]agre) {
    for(int ni =1 ;ni<=9;ni++){
        for(int nu = 1;nu<=ni;nu++) {
        System.out.print(ni + "*"+ ni + "=" +ni*nu +"\t");
        
    }
          System.out.println();
}
    }
}  

我们做了这么多练习应该总结出来一个规律

for循环的外循环控制行数

内层循环控制  每一行 有多少个元素。

今天知识量还是很大的大家回去一定要多多复习多多写题。