资讯专栏INFORMATION COLUMN

乐字节Java循环:循环控制和嵌套循环

Euphoria / 2292人阅读

摘要:乐字节小乐上次讲完了反射,接下来小乐给大家讲述循环。循环有以下四部分一循环控制直到型先执行后判断,结构为先执行循环体,后判断布尔表达式。

乐字节小乐上次讲完了Java反射,接下来小乐给大家讲述Java循环。

循环有以下四部分:

一、循环控制 1、do..while

直到型 ( 先执行后判断) ,结构为:

先执行循环体,后判断布尔表达式。循环体至少执行一次

其流程图如下:

2、 for

灵活的循环 ( 能够确定循环次数) ,结构为:

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

for 循环在执行条件测试后,先执行程序部分,再执行迭代因子( ( 步进) ) 。

初始化部分、条件判断部分和迭代因子可以为空语句,但以“;”分开,下面的语句

表示无限循环

在 for 语句的初始化部分声明的变量,其作用域为整个 for 循环体,例如:

其流程图如下:

案例:

a:输出10次HelloWorld

b:输出1-10的数据

c:输出10-1的数据

d:求1-10的和

e:求1-100的和;求1-100的偶数和,求1-100的奇数和;1-50当中能被3整除的数的和

f: 求出 1-100当中既能被3整除又能被5整除还能被2整除的和

g:求出 1-100当中能被3整除或者能被5整除或者能被2整除的和,

h:求5的阶乘 5!

i:请找出[1,200]之间能被3整除的 所有数,每行输出5个数。

J:请找出[1,200]之间能被3整除的所有数,每行输出5个数,每个数之间用逗号分隔。

K:1+2+3+4+5+6+7+8+9+10=55用程序实现

思考:

键盘输入一个年月日、判断该年月日是该年的第几天。

键盘输入一个年月日、判断该年月日离该年结束还有多少天。

二、嵌套循环

指的是在一个循环语句内部再嵌套一循环或者多个循环输出如下图形:

1、5x5的空心正方形

思路:要想打印一个5x5的空心正方形,首先它的第一横行和最后一行都是填满的,需要全部遍历出来,第二三四行和只有左右两条边是出来的,中间部分为空的。因此在打印第二三四列的时候,需要再进行一下判断,来确定打印空格。

for (int x = 0;x<5 ;x++ )  //先确定是5行5列的正方形
        {
            if (x>0 && x<4)  //打印出中间空的情况
            {
                for (int z=0;z<5 ;z++ )  //打印竖的列
                {
                    if (z==0 | z==4) //第一和最后一列
                    {
                        System.out.print("* ");  //输出“* ”
                    }else if(z>=1 && z<=4){  //中间三列
                        System.out.print("  ");//输出“  ”
                    }
                    
                }

            }
            else if(x==0 | x==4){  //第一行和最后一行
                for (int y=0;y<5 ;y++ )
                {
                    System.out.print("* ");//全部都输出“*”
                }
            }
            System.out.println("");//println做一个换行(print输出的内容是不换行的)
        }

2、菱形

思路分析: 输出一个菱形,可以拆分成两部分进行思考,分成上下两个三角形来进行输出,那好了,如何输出一个三角那,首先,三角形的是一个等腰三角形,而不是直角三角形,所以横排除了遍历“*”之外,还需要在其前边添加若干空格把它挤过去 ,显得比较好看,所以还得遍历他前边的空格。

for (int x = 0;x<10 ;x++ )//假设一共有10竖排
        {
            if (x<=5)//上半个三角形的情况
            {
                for (int z =5-x;z>0 ;z-- )//前边的空格是一个越来越少的三角形形态,所以定义为5-x
                {
                    System.out.print(" ");
                }
                for (int y=0;y0 ;y-- )//上宽下窄,所以遍历“*”为10-x;
                {
                    System.out.print("* ");
                }                
            }
            System.out.println("");
        }
3、空心菱形

思路分析:输出一个空心菱形,需要拆分成三部分进行思考,分成上下两个三角形来进行输出,那好了,如何输出一个三角那,首先,三角形的是一个等腰三角形,而不是直角三角形,所以横排除了遍历中间的菱形部分之外,还需要在其前边添加若干空格把它挤过去 ,显得比较好看,所以还得遍历他前边的空格。中间的空格也需要进行多带带遍历,而“”做的框,只需要把确定的值确定出来,让它输出“”,即可!

for (int x = 0;x<10 ;x++ )//假设一共有10竖排
        {
            if (x<=5)//上半个三角形的情况
            {
                for (int z =5-x;z>0 ;z-- )//前边的空格是一个越来越少的三角形形态,所以定义为5-x
                {
                    System.out.print(" ");
                }
                for (int y=0;y0 ;y-- )// 10-x为有几列
                {
                    if (y==1 | y==10-x ) //第一列和10-x(最后一列)输出“*”做一个框出来
                    {
                        System.out.print("* ");
                    }else{  //中间部分输出空格
                        System.out.print("  ");
                    }
                }            
            }
            System.out.println("");
        }

来个九九乘法表:

先卖个关子,也算是留个作业吧,大家开动脑筋,动动手操作下,下次可以公布答案。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/75316.html

相关文章

  • 字节Java方法、调用、重载、递归

    摘要:关键字为跳出方法或返回值。总结如下接收变量方法名实参列表没有返回值,不能使用接收变量。四重载一般来说,功能点相同的方法才适合使用重载,重载必须满足如下要求必须是同一个类方法名必须相同参数列表不同注意方法重载与返回值无关。 一、概述 方法是指人们在实践过程中为达到一定目的和效果所采取的办法、手段和解决方案。 所谓方法,就是解决一类问题的代码的有序组合,是一个功能模块。编程语言中的方法是组...

    songze 评论0 收藏0
  • 字节Java反射之四:反射相关操作

    摘要:大家好,乐字节小乐继续为初学者讲述基础知识。上次说到乐字节反射之三方法数组类加载器,这次是反射之四反射相关操作操作属性获取对象获取对象设置属性打开权限获取此属性调用方法调用方法,都是直接对象方法实参反射之后,动态调用方法需要使用即可。 大家好,乐字节小乐继续为Java初学者讲述Java基础知识。上次说到乐字节Java反射之三:方法、数组、类加载器,这次是Java反射之四:反射相关操作 ...

    DevYK 评论0 收藏0
  • Java中的IO流之输入流|字节

    摘要:上一篇写到了流,这篇文章着重谈谈输入流,再下次再说输出流。一输入流字节流和字符流的操作方式几乎完全一样,只是操作的数据单元不同而已。返回结果为时表明到了输入流的结束点。 亲爱的乐字节的小伙伴们,小乐又来分享Java技术文章了。上一篇写到了IO流,这篇文章着重 谈谈输入流,再下次再说输出流。 一、 输入流 字节流和字符流的操作方式几乎完全一样,只是操作的数据单元不同而已 。字节流可 以操...

    elliott_hu 评论0 收藏0
  • 字节Java|this关键字、static关键字、block块

    摘要:在成员方法中或构造器中隐式的传递。作用如下在构造器中只能放在第一行属性避免属性和形参局部变量同名,发生就近原则实参列表构造器的首行调用其他构造器。关键字静态的公共的。构造块,先于构造器执行,每创建一个对象执行一次。 大家好,我是乐字节的小乐,从本文开始将会给大家讲述Java继承,一下是Java继承的知识图谱:showImg(https://segmentfault.com/img/bV...

    _DangJin 评论0 收藏0
  • Java多线程的创建状态信息|字节

    摘要:大家好,我是乐字节的小乐,好看好学的干货又来了上一篇我们说到了多线程的概念以及优缺点,本文将接着说多线程的创建,以及多线程的状态。 大家好,我是乐字节的小乐,好看好学的Java干货又来了!上一篇我们说到了Java多线程的概念以及优缺点,本文将接着说Java多线程的创建,以及多线程的状态。 一、创建线程 1、创建 Thread 的子类 创建: 继承 Thread +重写 run 启动: ...

    linkFly 评论0 收藏0

发表评论

0条评论

Euphoria

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<