流程控制-循环结构

 【1】语法结构:
while (布尔表达式) {
            循环体;
}
在循环刚开始时,会计算一次“布尔表达式”的值,若条件为真,执行循环体。而对于后来每一次额外的循环,都会再开始前重新计算一次。
语句中应有使循环趋向于结束的语句,否则会出现无限循环–––"死"循环。
while循环结构流程图如图所示:

【2】练习:1+2+3+4+5

public class TestWhile{
        public static void main(String[] args){
                //功能:1+2+3+4+5
                //1.定义变量:
                int num1 = 1;
                int num2 = 2;
                int num3 = 3;
                int num4 = 4;
                int num5 = 5;
                //2.定义一个求和变量,用来接收和:
                int sum = 0;
                sum += num1;
                sum += num2;
                sum += num3;
                sum += num4;
                sum += num5;
                
                //3.输出和
                System.out.println(sum);
        }
}

上述代码缺点:变量的定义个数太多了
解决:

public class TestWhile{
        public static void main(String[] args){
                //功能:1+2+3+4+5
                //1.定义变量:
                int num = 1;
                //2.定义一个求和变量,用来接收和:
                int sum = 0;
                sum += num;
                num++;
                sum += num;
                num++;
                sum += num;
                num++;
                sum += num;
                num++;
                sum += num;
                num++;
                
                //3.输出和
                System.out.println(sum);
        }
}

上述代码缺点:重复写的代码太多了
解决:---》引入java中循环结构:

public class Test009 {
    public static void main(String[] args){
        //功能:1+2+3+4+5
        //1.定义变量:
        int num = 1;//[1]条件初始化
        //2.定义一个求和变量,用来接收和:
        int sum = 0;
        while(num<=5){//[2]条件判断
            sum += num;//[3]循环体
            num++;//[4]迭代
        }
        //3.输出和
        System.out.println(sum);
    }
}

总结:
【1】循环作用:将部分代码重复执行。
                                循环只是提高了程序员编写代码的效率,但是底层执行的时候依然是重复执行。
【2】循环四要素:

初始化谁,就判断谁,判断谁,就迭代谁
执行过程:[1][2][3][4] [2][3][4] [2][3][4]。。。。

【3】循环的执行过程:

【4】验证循环的执行过程:

练习

【1】1+2+3+4+5+。。。。+100
【2】2+4+6+8+。。。。+998+1000
【3】5+10+15+20+。。。+100
【4】99+97+95+。。5+3+1
【5】1*3*5*7*9*11*13

public class TestWhile02{
        public static void main(String[] args){
                /*
                【1】1+2+3+4+5+。。。。+100
                int i = 1;
                int sum = 0;
                while(i<=100){
                        sum += i;
                        i++;
                }
                System.out.println(sum);
                【2】2+4+6+8+。。。。+998+1000
                int i = 2;
                int sum = 0;
                while(i<=1000){
                        sum += i;
                        i = i+2;
                }
                System.out.println(sum);
                【3】5+10+15+20+。。。+100
                int i = 5;
                int sum = 0;
                while(i<=100){
                        sum += i;
                        i = i+5;
                }
                System.out.println(sum);
                
                【4】99+97+95+。。5+3+1
                int i = 99;
                int sum = 0;
                while(i>=1){
                        sum += i;
                        i = i-2;
                }
                System.out.println(sum);
                【5】1*3*5*7*9*11*13
                
                */
                int i = 1;
                int result = 1;
                while(i<=13){
                        result *= i;
                        i = i+2;
                }
                System.out.println(result);
        }
}

do-while

【1】语法结构:
do {
            循环体;
    } while(布尔表达式) ;
do-while循环结构会先执行循环体,然后再判断布尔表达式的值,若条件为真,执行循环体,当条件为假时结束循环。do-while循环的循环体至少执行一次。do-while循环结构流程图如图所示:

【2】代码:

public class TestDoWhile{
        public static void main(String[] args){
                //1+2+3+4+...100
                //while方式:
                /*
                int i = 101;
                int sum = 0;
                while(i<=100){
                        sum += i;
                        i++;
                }
                System.out.println(i);//101
                System.out.println(sum);//0
                */
                //do-while方式:
                
                int i = 101;
                int sum = 0;
                do{
                        sum += i;
                        i++;
                }while(i<=100);//一定要注意写这个分号,否则编译出错
                System.out.println(i);//102
                System.out.println(sum);//101
                /*
                【1】while和do-while的区别:
                        while:先判断,再执行
                        do-while:先执行,再判断---》至少被执行一次,从第二次开始才进行判断
                【2】什么场合使用do-while:
                
                while(考试是否通过){
                        考试;
                }
                ---》不合适
                do{
                        考试;
                }while(考试是否通过);
                ---》合适
                */
                
        }
}

for

【1】语法结构:
for (初始表达式; 布尔表达式; 迭代因子) {
          循环体;
}
for循环语句是支持迭代的一种通用结构,是最有效、最灵活的循环结构。for循环在第一次反复之前要进行初始化,即执行初始表达式;随后,对布尔表达式进行判定,若判定结果为true,则执行循环体,否则,终止循环;最后在每一次反复的时候,进行某种形式的“步进”,即执行迭代因子。
初始化部分设置循环变量的初值
条件判断部分为任意布尔表达式
迭代因子控制循环变量的增减
for循环在执行条件判定后,先执行的循环体部分,再执行步进。
for循环结构的流程图如图所示:

【2】代码:

public class TestFor01{
        public static void main(String[] args){
                //1+2+3+..+100
                //while:
                /*int i = 1;
                int sum = 0;
                while(i<=100){
                        sum += i;
                        i++;
                }
                System.out.println(sum);
                */
                
                //for:
                int sum = 0;
                int i;
                for(i = 1;i<=100;i++){
                        sum += i;
                }
                System.out.println(sum);
                System.out.println(i);
                
                /*
                【1】for的结构:
                for(条件初始化;条件判断;迭代){
                        循环体;
                }
                
                【2】i的作用域:作用范围:离变量最近{}  --->可以自己去控制
                【3】for循环格式特别灵活:格式虽然很灵活,但是我们自己写代码的时候不建议灵活着写。
                for(;;){}  -->死循环
                
                int i = 1;
                for(;i<=100;){
                        sum += i;
                        i++;
                }
                
                【4】死循环:
                for(;;){}
                
                while(true){}
                
                do{
                        
                }while(true);
                
                【5】循环分为两大类:
                第一类:当型   while(){}   for(;;){}
                第二类:直到型  do{}while();
                
                【6】以后常用:for循环 
                【7】do-while,while,for循环谁的效率高?  一样高 
                */
        }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值