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++;
	}
  }
}

在這裏插入圖片描述

發佈了24 篇原創文章 · 獲贊 4 · 訪問量 1753
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章