【Java编程指南】循环结构


 目录

一、前言

二、for循环

1.定义

2.例题 1

3.例题 2

4.例题 3

5.例题 4

三、while循环

1.定义

2.例题 1

四、do...while循环

1.定义

五、三种循环的总结

1.区别

2.死循环

六、循环嵌套

七、跳转控制

1.break跳转

2.continue跳转


一、前言

  • 学习概述:循环就是重复做某件事,具有明确的开始与停止标志。今天主要学习for、while、do while三大循环以及循环嵌套和跳转语句
  • 学习目标:三大循环熟练掌握

二、for循环

1.定义

for (初始化语句; 循环条件; 迭代语句) 
{
    循环体语句(重复执行的代码);
}
  • 初始化:表示循环开始的起始状态
  • 循环条件:循环是否能够运行下去的条件,true继续执行、false结束运行
  • 迭代:对初始化变量进行操作
  • 循环体:在循环内部执行
  • 执行流程:先进入for初始化语句,判断是否满足循环条件,如果满足进入循环体语句。进入迭代语句,再次判断循环条件......

2.例题 1

  • 在控制台利用for循环输出5次Hello World!

编码实现: 

for(int i=0;i<5;i++)
{
	System.out.println("Hello World!");
}

输出结果

Hello World!
Hello World!
Hello World!
Hello World!
Hello World!

 3.例题 2

  • 1-5之间的数据和,并把求和结果在控制台输出

编码实现: 

int i,sum=0;
for(i=1;i<=5;i++)
{
	sum+=i;
}
System.out.println(sum);

输出结果

15

  4.例题 3

  • 1-10之间的偶数和,并把求和结果在控制台输出。
  • 这题需要在循环内部加一个if条件判断偶数,筛选过后相加。

编码实现: 

int i,sum=0;
for(i=1;i<=10;i++)
{
	if(i%2==0)//判断偶数
		sum+=i;
}
System.out.println(sum);

输出结果

30

   5.例题 4

  • 需求:在控制台输出所有的“水仙花数”和个数,水仙花数必须满足如下2个要求:
    1. 水仙花数是一个三位数
    2. 水仙花数的个位、十位、百位的数字立方和等于原数
  • 例如:1^3+5^3+3^3=153
  • 这一题也要在循环内部加入if条件判断,这部分可以看看
    Java100天编程指南---第6天:分支结构
    的详细介绍。
    对于三位数直接在for循环遍历所有三位数字就行,不需要if判断。对于立方和可以if判断各位数字立方相加是否为原数进行判断。

编码实现: 

int ge,shi,bai,i,count=0;//定义个位、十位、百位变量存储数据
for(i=100;i<=999;i++)//遍历所有3位数字
{
	ge=i%10;
	shi=(i/10)%10;
	bai=i/100;
	if(ge*ge*ge+shi*shi*shi+bai*bai*bai==i)//满足结果
	{
		count++;
		System.out.println(i);
	}
	
}
System.out.println("水仙花数一共有"+count+"个");

输出结果

153
370
371
407
水仙花数一共有4个

三、while循环

1.定义

初始化语句;
while (循环条件) 
{
    循环体语句(被重复执行的代码);
    迭代语句; 
}
  • 初始化:对while中的条件进行初始化
  • 循环条件:判断能不能进入到循环体内部
  • 循环体语句:循环内部的语句
  • 迭代语句:对循环条件进行处理
  • 执行流程:先执行初始化语句,进入while判断,true进入循环,false退出循环。进入循环执行循环体、迭代条件继续判断.....

2.例题 1

  

  • 世界最高山峰是珠穆朗玛峰(8848.86米=8848860毫米),假如我有一张足够大的纸,
    它的厚度是0.1毫米。请问,折叠多少次,可以折成珠穆朗玛峰的高度。
  • 解题思路:使用while循环,循环条件是(纸张厚度<山峰高度),内部控制纸张折叠,每折叠一 次,纸张厚度为原来两倍,定义折叠的次数,每折叠该变量+1

编码实现: 

int count=0;
double paper=0.1;
double height=8848860;
while(paper<height)
{
	paper=paper*2;
	count++;
}
System.out.println("折叠"+count+"次可以折成珠穆朗玛峰的高度");

输出结果

折叠多少27次可以折成珠穆朗玛峰的高度。

四、do...while循环

1.定义

初始化语句;
do 
{
    循环体语句;
    迭代语句;
} while (循环条件);
  • 初始化:对while中的条件进行初始化
  • 循环条件:判断能不能进入到循环体内部
  • 循环体语句:循环内部的语句
  • 迭代语句:对循环条件进行处理
  • 执行流程:先执行初始化语句,直接进入循环体语句、进入迭代语句,然后执行条件判断语句true进入循环,false退出循环......

五、三种循环的总结

1.区别

  • forwhile循环先判断条件是否成立,再决定执行循环体
  • do...while先执行一次循环体,然后判断条件是否成立

2.死循环

for(;;) 
{

}
while(true) 
{

}
do 
{
 
} while (true);

六、循环嵌套

  • 一层for循环里面嵌套一层for循环......,循环嵌套可以有多层for循环
  • 例如
for(int i = 0; i < 5; i++) 
{
    for(int j = 0; j < 2; j++) 
    {
        for(int k = 0; k < 1; k++) 
        {
            System.out.println("我爱你");
        } 
    } 
}

七、跳转控制

1.break跳转

  • 定义:跳出并结束当前所在循环的执行
  • 注意 只能用于结束循环, 或者switch分支的执行
  • 例题:下列代码执行过后,输出的i值是多少?

 编码实现: 

int i;
for(i=0;i<5;i++)
{
	if(i==2)
		break;
}
System.out.println(i);

输出结果

2

2.continue跳转

  • 定义:用于跳出当前循环的当次执行,进入下一次循环
  • 注意:只能在循环中使用
  • 例题:下列代码执行过后,输出的i值是多少?

 编码实现: 

int i;
for(i=0;i<5;i++)
{
	if(i==2)
		continue;
}
System.out.println(i);

输出结果

5

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

知心宝贝

你的鼓励是我最大的动力

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

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

打赏作者

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

抵扣说明:

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

余额充值