while循环语句--学习笔记--09

1.While循环语句格式
基本格式
While(判断条件语句){
循环体语句
}
扩展格式:
初始化语句:
While(判断条件语句){
循环体语句:
控制条件语句:
}
举例1:统计水仙花数(while语句)

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	int count=0;
	int x=100;
	while(x<1000) {
		int ge=x%10;
		int shi=x/10%10;
		int bai=x/10/10%10;	
		if(x==(ge*ge*ge+shi*shi*shi+bai*bai*bai)) {
			count++;
		}
		x++;
	}
	System.out.println("水仙花数共有"+count+"个");	
  }
}

小结:
(1)使用区别:如果在循环结束后,继续使用控制条件的那个变量,用while循环,否则用for循环;
(2)因为变量(while)及早从内存消失,可以提高内存使用量;
(3)如果是一个范围的,用for循环非常明确;如果不明确,用while比较合适。

举例2。我国最高峰珠穆朗玛峰,8848M,现在有一张足够大的纸,厚度为0.01m,请问叠多少次,可以保证厚度不低于珠穆朗玛峰高度?
分析:
(1)定义一个统计变量,默认值是0;
(2)初始厚度0.01;
(3)8848是最终高度,折叠一次厚度是以前2倍;

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	int count=0;
	int end=884800;
    int start=1;
	while(start<end) {
		count++;
		start*=2;
		System.out.println(start);	
	}
	System.out.println("要折叠"+count+"次");	
  }
}

在这里插入图片描述

2.Do ……while 循环
基本格式:
Do{
循环体语句:
}
While(判断条件语句)
扩展格式
初始化语;
Do{
循环体语句;
控制条件语句;
}while(判断条件语句)
循环语句的区别:
Do……while循环至少执行一次循环体
而for,while循环必须先判断条件是否成立,然后决定是否执行

举例3:请输出一个4行5列的*图案
外循环控制行数
内循环控制列数

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	for(int y=0;y<4;y++) {
	for(int x=0;x<5;x++) {
		System.out.print("*");
		//我们可以通过空的输出语句实现换行:
		//System.out.println();
	 }
	System.out.println();
	}
  }
}

在这里插入图片描述

举例4:请输出一个直角三角形*图案.

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	for(int y=0;y<5;y++) {
	   for(int x=0;x<=y;x++) {
		System.out.print("*");
	 }
	System.out.println();//内循环结束换行
	}
  }
}

在这里插入图片描述

举例5:请输出九九乘法表。

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	for(int y=1;y<=9;y++) {
	   for(int x=1;x<=y;x++) {
		System.out.print(y+"*"+x+"="+y*x+"  ");
	 }
	System.out.println();//内循环结束换行
	}
  }
}

在这里插入图片描述

3.控制跳转语句
Break:中断,跳出单层循环,跳出多层循环;
Continue:跳出一次循环,进入下一次执行;
Return:返回,它的作用不是结束循环,而是结束方法。

public static void main(String[] args) {
	for(int y=0;y<=9;y++) {
	   if(y==2) {
		   System.out.println("退出  ");
		  // break;
		   //continue;
		   return;
	   }
	System.out.println(y);//内循环结束换行
	}
	System.out.println("over");
  }
}

在这里插入图片描述

举例6:小芳妈妈每天给他2.5元,他都会存起来,但是,每当这一天是村前的第五天或者5的倍数, 他都会花去六块钱,请问,经过多少天,小芳才可以存到100?
分析: (1)每天要存储的钱:double dayMoney=2.5;
(2)存钱初始化值:double daySum=0;
(3)第一天开始:int dayCount=1;
(4)最终结果100就不存了:double result=100;
(5)判断dayCount的值,如果对5整除就减去6元钱
daySum-=6
(7)如果不是5的倍数天的话,钱就要累加
daySum+=dayMoney
因为不知道多少天,所以用死循环,超过就退出。

import java.util.Scanner;
public class One {
public static void main(String[] args) {
	double dayMoney=2.5;
	double daySum=0;
	int dayCount=1;
	double result=100;
	while(true) {
		
		daySum+=dayMoney;
		if(daySum>=result) {
		System.out.println("共花了"+dayCount+"天存储了100元");
		break;
		}
		if(dayCount%5==0) {
			daySum-=6;
			System.out.println("第"+dayCount+"天花了6元");
		}
		dayCount++;
	}
  }
}

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值