循环结构——Java成长之路

循环结构

Hello!CSDN的小伙伴们。
这里是老汉的Java成长之路专栏,感兴趣的话就关注老汉并订阅本系列的专栏一起学习吧。

前言

本期老汉将为大家介绍流程控制中的循环结构,循环结构可以减少程序重复书写的工作量,用来描述重复执行某段算法的问题,这也是程序设计中最能发挥计算机特长的程序结构。

一、while循环

语法格式:

while(循环条件)
        {
            <语句块>
        }

解释:循环条件结果为布尔值类型

执行流程:

在这里插入图片描述

题目案例:
循环输出26个英文字母,分为两行,上行为小写,下行为大写。

public static void main(String args[])
	{
		char cup='A',cdn='a';
		int cont=0;
		while(cont<26)
		{
			System.out.print((char)(cdn+cont));//强制转换为char类型,不然输出结果是ASCII码值
			cont++;
		}
		System.out.println();
		cont=0;
		while(cont<26)
		{
			System.out.print((char)(cup+cont));
			cont++;
		}
	}

二、do-while循环

**语法格式:

 do {
      <语句块>
     }while(条件);

解释:while循环条件后的;不能遗漏。

执行流程:

在这里插入图片描述

题目案例:
设置一个猜字游戏,猜一个介于1~10之间的数。
要求:
1.数字随机生成一个1~10之间的数;
2.猜错了需要提示太小了或太大了;
3.猜中需要提示猜中并且告知答案;
4.直至猜中为止结束游戏。

public static void main(String args[])
	{
		//设置一个随机的数
		int number=(int)(Math.random()*10+1);//随机生成一个1~10之间的数
		int guess;
		System.out.println("猜一个介于1~10之间的数");
		do 
		{
			System.out.println("请输入您猜测的数:");
			Scanner scanner=new Scanner(System.in);
			guess=scanner.nextInt();
			if(guess>number)
			{
				System.out.println("太大了!");
			}
			else if(guess<number)
			{
				System.out.println("太小了!");
			}
		}while(number!=guess);
		System.out.println("恭喜你猜中了!答案为"+number);
	}

随机生成数值

代码如下:
Math.random();此时随机生成范围为[0,1),数值为double类型;
Math.random()*x;此时随机生成范围为[0,x)。
可运用强制转换转换为int类型等。

三、for循环

关于for循环的一些基本知识点老汉有出过相关博客,链接如下:
Java特有的for循环

注意事项:for循环的三个表达式都可以省略,形式如下:
原格式:for(<语句块1>;表达式;<语句块2>)

1.省略<语句块1>或<语句块2>
for(;表达式;)
表达式不满足退出循环

2.省略表达式
for(;;)
循环持续进行,陷入死循环

四、嵌套循环

循环结构与选择结构一样,可以采用嵌套的形式,也就是在循环结构的语句块中加入循环结构,例如:

        while(条件){
            while (条件){
                <语句块>
            }
                <语句块>
        }

        do {
            while (条件){
                <语句块>
            }
            <语句块>
        }while(条件);

        for (<语句块1>;表达式;<语句块2>){
            for (<语句块1>;表达式;<语句块2>){
                <语句块>
            }
            <语句块>
        }

嵌套循环的表达形式有很多,也很好理解,在这里就不做过多的讲解了

五、break、continue

1.break

a.只能在循环体内和switch语句体内使用break;
b.不管是哪种循环,一旦在循环体中遇到break,系统将完全结束循环,开始执行循环之后的代码;
c.当break出现在循环体中的switch语句体内时,起作用只是跳出该switch语句体,并不能终止循环体的执行。若想强行终止循环体的执行,可以在循环体中,但并不在switch语句中设置break语句,满足某种条件则跳出本层循环体。
d.当break语句出现在嵌套循环中的内层循环时,它只能跳出内层循环,如果想使用break语句跳出外层循环,则需要在外层循环中使用break语句

2.continue

a.continue语句的作用是跳过本次循环体中剩下尚未执行的语句,立即进行下一次的循环条件判定,可以理解为只是中止(跳过)本次循环,接着开始下一次循环;
b.continue语句并没有使整个循环终止;
c.continue 只能在循环语句中使用,即只能在 for、while 和 do…while 语句中使用。

六、操作练习

题目:用星号输出一个梯形,如下图所示:(使用嵌套for循环完成)
在这里插入图片描述
要求:
1.外重循环控制输出行数;
2.第一个内重循环控制输出的空格数,依次递减;
注意:由于星号和空格在屏幕上所占空间不同,所以可以适当调整空格的输出,比如每次循环都输出两个空格、一个星号一个空格,这样输出来的图形会更加接近梯形。
3.第二个内重循环控制每行输出的星号数;
4.输出完一行的星号和空格后换行。

答案示例如下:

public static void main(String[] args)
    {
        for(int i=1;i<=5;i++)
        {
           for(int j=1;j<=5-i;j++)
           {
               System.out.print("  ");//两个空格
           }
           for(int t=1;t<=11-(5-i)*2;t++)
           {
               System.out.print("* ");//一个星号一个空格
           }
            System.out.println();
        }
    }

本期小结

到这里我们就结束了本期关于循环结构的学习,本期信息量不多,需要各位对文章中提到的题型进行多次练习,可以去了解debug的使用,有助于我们检查代码的错误。最后,老汉在这里祝愿各位每一个明天都比昨天的自己更加优秀,感谢各位的观看。

  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王老汉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值