Java基础--while、do-while、for循环结构(附例题)

在日常生活中,我们会重复做某些事情,如将相同的试卷打印三份就需要用到循环结构。在Java中,有三种常用循环结构:while循环、do-while循环、for循环,下面将为读者一一介绍:

1、while循环结构

在日常生活中
在这里插入图片描述
while循环的结构为:

while(循环条件){
	循环体;
}

示例:

// 输出50遍:好好学习,天天向上
 int count = 0;
 while(count<50){
 	System.out.println("好好学习,天天向上");
    count++;
 }

while循环是先判断再操作,当需要先操作再判断时while循环就不在适合,便有了do-while循环。

2、do-while循环结构

在这里插入图片描述
do-while循环的结构为:

do{
	循环体;
}while(循环条件);

示例:

// 输入得分判断是否及格,不及格时退出
Scanner sc = new Scanner(System.in);
do{
	System.out.println("请输入成绩:");
	int score = sc.nextInt();
}while(score>60)
System.out.println("很遗憾你未及格!");

3、for循环结构

for循环的结构为:

for(参数初始化;循环条件判断;更新循环变量){
	循环体;
}

示例:

// 输出100遍:好好学习,天天向上
for(int i=1;i<=100;i++){
	System.out.println("好好学习,天天向上");
}

for循环的执行顺序有些特殊,首先执行的是参数初始化,然后进行循环条件的判断,接着进入循环体,最后才进行循环变量更新。

循环的选择

循环次数确定的情况,通常选用for循环
循环次数不确定的情况,通常选用while或do-while循环

例题

①猴子吃桃问题: 猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个,第二天早上又将剩下的桃子吃了一半,又多吃一个,以后每天都吃了前一天剩下的一半零一个。到第10天早上想再吃时,见只剩下一个桃子。求第一天共摘了多少个?

// 剩余一个桃子
int num = 1;
// 天数
int day = 10;
// 注意第10天没吃
while (day>1) {
	// 算出前一天的桃子数
	num = (num+1)*2;
    day--;
}
System.out.println("共" + num + "个桃子");

②有个人想知道,一年之内一对兔子能繁殖多少对?于是就筑了一道围墙把一对兔子关在里面。已知一对兔子每个月可以生一对小兔子,而一对兔子从出生后第3个月起每月生一对小兔子。假如一年内没有发生死亡现象,那么,一对兔子一年内(12个月)能繁殖成多少对?

// 分析可知兔子的规律为数列:1,1,2,3,5,8,13,21
// 可以看出从第三个月开始,每个月兔子数等于前两个月之和
//第一个月兔子对数
int x = 1;
// 第二个月兔子对数
int y = 1;
// 用来表示第三个月兔子数
int z = 0;
for(int i = 3;i<=10;i++){
	// 第三个月数量等于前两个月之和
	z = x+y;
    x=y;
    y=z;
}
System.out.println(z);

③本金10000元存入银行,年利率是千分之三,每过1年,将本金和利息相加作为新的本金。计算5年后,获得的本金是。

// 本金
double money = 10000;
// 注意是五年后,故5可以取到
for(int i =1;i<=5;i++){
	money = money * 1.003;
}
System.out.println("5年后本金为:"+money);

④一张纸的厚度大约是0.08mm,对折多少次之后能达到或超过珠穆朗玛峰的高度(8848.13米)

// 纸的厚度,单位转换成米
double height = 0.00008;
// 对折次数
int count=0;
while(height<8848.13){
	// 对折一次高度为原来两倍
	height*=2;
	count++;
}
System.out.println("对折"+count+"后为"+height+"m");
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值