博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java循环流程控制语句
阅读量:6064 次
发布时间:2019-06-20

本文共 6442 字,大约阅读时间需要 21 分钟。

7 循环流程控制语句

7.1 for循环的格式及基本使用

7.1.1 for循环语句格式:

 for(初始化语句;判断条件语句;控制条件语句){

     循环体语句; 

 }

7.1.2 循环的执行流程图:

案例:

package com.lyc.test;public class ForDemo01 {    public static void main(String[] args) {        //需求:在控制台输出10次"我好喜欢你"                //原始写法:        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("我好喜欢你");        System.out.println("-----------------------");                //用循环改进        for (int i = 0; i < 10; i++) {            System.out.println("我好喜欢你");        }    }}

7.2 for循环练习

7.2.1 for循环实现获取指定范围数据

package com.lyc.test;public class ForDemo02 {    public static void main(String[] args) {        //需求:获取数据1-5和5-1                //原始做法        System.out.println(1);        System.out.println(2);        System.out.println(3);        System.out.println(4);        System.out.println(5);        System.out.println("------------------");        //用循环改进        for (int i = 1; i <=5; i++) {            System.out.println(i);        }        System.out.println("------------------");        for (int i = 5; 1<=i; i--) {            System.out.println(i);        }    }}

7.2.2 for循环实现1-5之间数据求和

package com.lyc.test;public class ForDemo03 {    public static void main(String[] args) {        // 需求:求1-5之间数字之和        // 定义求和变量,初始化值是0        int sum = 0;        // 获取1-5之间的数据,用for循环实现        for (int i = 1; i <= 5; i++) {            // 把每一次获取到的数据,累加起来            /**             * sum = sum + i;              *              * 第一次: sum = 0 + 1 = 1             * 第二次: sum = 1 + 2 = 3             * 第三次: sum = 3 + 3 = 6             * 第四次: sum = 6 + 4 = 10             * 第五次: sum = 10 + 5 = 15             */            sum += i;        }        //输出结果        System.out.println("sum="+sum);    }}

7.2.3 for循环实现1-100之间偶数和

package com.lyc.test;public class ForDemo04 {    public static void main(String[] args) {        //需求:求1-100之间的偶数和                //定义求和变量,初始值为0        int sum = 0;        //获取1-100之间的数据,用for循环实现        for(int i=1;i<=100;i++){            if(i%2==0){
//把获取到的数据进行判断,看是否是偶数 sum += i; } } //输出结果 System.out.println(sum); }}

 7.2.4 for循环实控制台打印水仙花数和统计的个数

package com.lyc.test;public class ForDemo05 {    public static void main(String[] args) {        // 需求:在控制台输出所有的"水仙花数"        /**         * 什么是水仙花数?          * 所谓的水仙花数就是指一个三位数,其个位数字的立方和等于概述本身          * 举例:153就是一个水仙花数          * 153 =1*1*1 + 5*5*5 + 3*3*3         * a:三位数其实就是告诉我们水仙花数的范围         *      100-999         * b:如何获取一个数据的每一个位上的数昵?         *      如:153         *      个位:153%10=3;         *      十位:153/10%10=5;         *      百位:153/10/10%10=1;         *     千位:...         *     万位:...         * c:让每个位上的立方和相加,并和该数数据进行比较,如果相等         *   则说明该数据是水仙花数,在控制台输出         */        //定义变量统计共有多少水仙花数,初始化值是0        int num = 0;        //通过循环获取到每一个三位数        for (int i = 100; i <1000; i++) {            int ge = i%10;//获取各位            int shi = i/10%10;//获取十位            int bai = i/10/10%10;//获取百位                        //让每个位上的立方和相加,并和该数数据进行比较            if ((ge*ge*ge + shi*shi*shi + bai*bai*bai) == i) {                System.out.println(i);//输出水仙花数                num++;//如果是水仙花数,则统计起来            }        }        System.out.println("共有"+num+"个水仙花数");//输出共有多少水仙花数    }}

7.3 while循环的格式及基本使用

7.3.1 while循环语句格式

 基本格式

  while(判断条件语句){

    循环语句体;

  }

 扩展格式

  while(判断条件语句){

    循环体语句;

    控制条件语句;

  }

7.3.2 执行流程图

 7.3.3 案例

package com.lyc.test;public class WhileDemo01 {    public static void main(String[] args) {        // for循环输出        for (int i = 0; i < 10; i++) {            System.out.println("hello");        }        System.out.println("----------------------");        //while循环实现        int x = 1;        while(x<=10){            System.out.println("hello");            x++;        }    }}

7.3.4 while循环实现1-100之间数据求和

package com.lyc.test;public class WhileDemo02 {    public static void main(String[] args) {        //求1-100之和        //for循环实现        /*        int sum = 0;//定义变量        for(int i = 1;i <= 100;i++){//获取1-100之间的数据            sum += i;//累加        }        System.out.println("1-100之和是:"+sum);        */        //while循环实现        int sum = 0;        int i = 1;        while(i<=100){            sum += i;            i++;        }        System.out.println("1-100之和是:"+sum);    }}

7.4 do...while循环的格式及基本使用

7.4.1 do...while循环语句格式

 基本格式

  do{

    循环体语句;

  }while(判断条件语句);

 扩展格式

  do{

    循环体语句;

    控制条件语句;

  }while(判断条件语句);

 执行流程图

案例

package com.lyc.test;public class DoWhileDemo {    public static void main(String[] args) {        /**         * 执行流程         *     1>执行初始化语句;         *     2>执行循环体语句;         *  3>执行控制条件语句;         *  4>执行判断条件语句,看true还是false         *      如果是true,继续         *      如果是false,结束         */                int x = 1;        do {            System.out.println("我好喜欢你┭┮﹏┭┮");            x++;        } while (x<=10);    }}

三种循环的区别

  虽然可以完成同样的功能,但是还是有小区别:

  do…while循环至少会执行一次循环体。

  for循环和while循环只有在条件成立的时候才会去执行循环体

  for循环语句和while循环语句的小区别:

  使用区别:

    控制条件语句所控制的那个变量,在for循环结束后,就不能再被访问到了,而while循环结束还可以继续使用,如果你想继续使用,就用while,否则推荐使用for。原因是for循环结束,该变量就从内存中消失,能够提高内存的使用效率。

7.5 控制循环语句

7.5.1 控制跳转语句break

 Break的使用场景和作用

  break的使用场景:

   在选择结果switch语句中

   在循环语句中

  离开使用场景的存在是美哟意义的

   break的作用:跳出单层循环

案例

package com.lyc.test;public class BreakDemo {    public static void main(String[] args) {        /**         * break:中断的意思         * 使用场景:         *         A.switch语句中         *         B.循环中         * 作用:         *         跳出循环,让循环提前结束         */        for(int i = 0;i < 10;i++){            if (i==3) {                break;            }            System.out.println(i);        }    }}

7.5.2 控制跳转语句continue

 continue的作用:

  单层循环对比break,然后总结两个的区别

  break:退出当前循环

  continue:退出本次循环,继续下次循环

案例

package com.lyc.test;public class ContinueDemo {    public static void main(String[] args) {        /**         * continue:继续的意思         * 使用场景:循环中         * 作用:结束本次循环,继续下次的循环         * 区别:break退出循环         *        continue结束本次循环,继续下次的循环         */        for (int i = 0; i <10; i++) {            if (i==3) {
//如果等于3就不会输出,结束这次循环 continue; } System.out.println(i); } }}

 

 

转载于:https://www.cnblogs.com/chao123/p/10235622.html

你可能感兴趣的文章
根据调试工具看Vue源码之组件通信(一)
查看>>
Thrift RPC 系列教程(5)—— 接口设计篇:struct & enum设计
查看>>
斯坦福-随机图模型-week1.5
查看>>
灵活的运用Model类
查看>>
页面和应用之间的交互
查看>>
hadoop 之分布式安装
查看>>
使用ansible工具部署ceph
查看>>
linux系列博文---->深入理解linux启动运行原理(一)
查看>>
Android反编译(一) 之反编译JAVA源码
查看>>
结合当前公司发展情况,技术团队情况,设计一个适合的技术团队绩效考核机制...
查看>>
python-45: opener 的使用
查看>>
cad图纸转换完成的pdf格式模糊应该如何操作?
查看>>
Struts2与Struts1区别
查看>>
网站内容禁止复制解决办法
查看>>
Qt多线程
查看>>
我的友情链接
查看>>
Ubuntu12.04 编译android源代码及生成模拟器经历分享
查看>>
KVM网络桥接设置方法
查看>>
Puppet学习手册:Puppet Yum安装
查看>>
我的友情链接
查看>>