【JavaSE】-5-嵌套循環

回顧

一、java語言特點

二、配置java環境 path

三、記事本 javac -d . java 包名.類名

四、eclipse

五、變量 定義變量 數據類型 變量名=值;

六、相關的數據類型

? 基本(四類 、8種)、引用

? 類型轉換(自動、強制)

? 運算符(算術 ++ --、邏輯 && & || |、比較、三元 )

? 三目:變量 = 表達式一 ? 表達式二 :表達式三

七、變量名的命名規則

八:順序結構

九:選擇結構

? if(){} if(){}else if(){}else if(){} if()else{}

? switch(表達式){} byte short int char enum string

十、循環結構

for

for(變量初始化;控制循環條件;變量的遞增或者遞減){循環體;
}
第一次循環:變量初始化;(只執行一次)控制循環條件循環體變量的遞增或者遞減
第二次運行、第三次....控制循環條件循環體變量的遞增或者遞減int i = 1;
for(;;){if(i++>=5){break;}
}

當明確循環次數的情況下,使用for循環。如果不確定循環次數,就選擇while循環。

開發過程中,基本使用for循環。

while

先判斷、再執行。

while(條件){循環體;
}
外部;

示例1:

//		通過while循環打印10遍"Hello World"int i = 1;while(i++ <= 10) {System.out.println("hello world!");
//			i++;}

示例2:

//		需求:限定用戶輸入內容。
//		提示用戶輸入1~7(含1和7)之間的數字。
//		如果用戶輸入的數字范圍不在1~7之內,
//		讓用戶重新輸入,直到用戶輸入的數字符合要求。Scanner sc = new Scanner(System.in);//		System.out.println("請輸入1-7之間的數字:");
//		int num = sc.nextInt();	
//		while(num<1 || num>7) {
//			System.out.println("請輸入1-7之間的數字:");
//			num = sc.nextInt();
//		}//		int num = 0;
//		do {
//			System.out.println("請輸入1-7之間的數字:");
//			num = sc.nextInt();
//		}while(num<1 || num>7);int num = 0;while(num<1 || num>7) {System.out.println("請輸入1-7之間的數字:");num = sc.nextInt();}
int num = 0;  //變量初始化  表達式一while(num<1 || num>7) {//控制循環條件  表達式二System.out.println("請輸入1-7之間的數字:");num = sc.nextInt();//控制值的變化--遞增、遞減   表達式三}for(表達式一;表達式一;表達式一){}

do…while

先執行一次,再判斷。至少執行一次循環體。

do{循環體;
}while(條件);

示例:

//		需求:生成2個[10, 20]之間的隨機數,
//		如果生成的2個數不相等,
//		再重新生成,直到2個數相等。Random r = new Random();//r.nextInt(max-min+1)+minint num1 = 0;int num2 = 0;do {num1 = r.nextInt(11)+10;num2 = r.nextInt(11)+10;System.out.println(num1+"======="+num2);}while(num1 != num2);
//		輸入一個整數,判斷是幾位數。Scanner sc = new Scanner(System.in);int num = sc.nextInt();// 1/10=0  12/10/10  123/10/10/10 12345/10/10/10/10/10=0int num2 = num;int count = 0;do {num /= 10;count++;}while(num!=0);System.out.println(num2+"的位數是:"+count);

需求:輸入一個整數,判斷是幾位數。

需求:世界上最高山峰是珠穆朗瑪峰(8844.43米=8844430毫米),假如有一張足夠大的紙,它的厚度是0.1毫米。請問折疊多少次,可以折成珠穆朗瑪峰的高度?

需求:生成2個[10, 20]之間的隨機數,如果生成的2個數不相等,再重新生成,直到2個數相等。

需求:如果你是一個富二代,你有10億元(1000000000),每天花一半,多天可以花完。

需求:在控制臺打印出所有的水仙花數。水仙花數:是一個三位數,水仙花數的個位、十位、百位數字的立方之和等于原數。

//		需求:輸入一個整數,判斷是幾位數。  102233/10/10/10/10
//
//		需求:世界上最高山峰是珠穆朗瑪峰(8844.43米=8844430毫米),
//		假如有一張足夠大的紙,它的厚度是0.1毫米。
//		請問折疊多少次,可以折成珠穆朗瑪峰的高度?//0.1  0.2  0.4  0.8double height = 0.1;int count = 0;do {height *= 2;count++;}while(height <= 8844430);System.out.println(count);//		需求:生成2個[10, 20]之間的隨機數,如果生成的2個數不相等,再重新生成,直到2個數相等。int num1 = 0;int num2 = 0;Random r = new Random(); do {num1 = r.nextInt(11)+10;num2 = r.nextInt(11)+10;System.out.println(num1+"---"+num2);}while(num1 != num2);//		需求:如果你是一個富二代,你有10億元(1000000000),每天花一半,多天可以花完。//1000000000  /2  500000000     0int num = 1000000000;int days = 1;while((num/=2) !=0 ) {days++;}System.out.println(days++);
//		需求:在控制臺打印出所有的水仙花數。
//		水仙花數:是一個三位數,水仙花數的個位、十位、百位數字的立方之和等于原數。int i = 100;while(i<1000) {//i 100 個位 十位  百位 int a = i/100;int b = i/10%10;int c = i%10;if(a*a*a+b*b*b+c*c*c==i) {System.out.println(i+" ");}i++;}

break和continue關鍵字

break: 用于結束循環,用在switch…case結構種,用于結束case語句。

switch(){case:語句;break;
}for(int i=1;i<10;i++){syso(i);//break前break;syso(i);//break前  編譯不通過
}boolean flag = true;
Scanner sc = new Scanner(System.in);
while(flag){int num = sc.nextInt();if(num == 10){flag = false;}
}while(true){if(num == 10){break;syso();//編譯報錯}
}do{if(){break; }
}while(true);

示例代碼:

for(int i=1;i<10;i++) {System.out.println(i);if(i == 5) {break;}System.out.println("***");
}
System.out.println("for循環外部");
//		用戶可以在控制臺輸入任意字符串,
//		當用戶輸出字符串是"exit"的時候,
//		認為是結束輸出,用戶將不能再輸入任何內容。Scanner sc = new Scanner(System.in);while(true) {System.out.print("請輸入...");String str = sc.next();if(str.equalsIgnoreCase("exit")) {//退出break;}}

需求:猜數字。產生1個[10, 30]的隨機數,從鍵盤上輸入你的猜測結果,如果猜測的數比隨機數大,提示"你猜的數據大了",如果猜測的數比隨機數小,提示"你猜測的數據小了",如果猜測的數和隨機數一樣大,提示"恭喜你猜對了",計算出猜了幾次才猜對。

Random r = new Random();
Scanner sc = new Scanner(System.in);
int count = 0;
do {int num1 = r.nextInt(21)+10;System.out.print("請錄入:");int num2 = sc.nextInt();count++;if(num1>num2) {System.out.println("隨機數是:"+num1+"猜小了!");}else if(num1<num2) {System.out.println("隨機數是:"+num1+"猜大了!");}else {System.out.println("隨機數是:"+num1+"猜對了!");break;}
}while(true);
System.out.println("一共猜了"+count+"次!");

continue只是結束本次循環,而不是結束整個循環。continue通常情況下也是與if語句搭配使用。

for(int i = 1;i<100;i++) {if(i % 7 == 0) {continue;}System.out.print(i+" ");
}
System.out.println("----");

break、continue總結

  1. break用于結束當前循環。
  2. continue用于結束本次循環。
  3. break、continue通常是與if語句連用。即某種條件滿足時才break或continue。
  4. break使用比較頻繁,經常用在死循環里結束循環。或者用在for循環里提前結束循環。
  5. continue很少使用。

嵌套循環

循環嵌套:一個循環作為另外一個循環的循環體或者是循環體的一部分。

for(){ //外層循環for(){//內層循環}
}
while(){while(){}
}while(){for(){}
}[{id:1address:[{河南鄭州},{河南信陽}]},{},{}
]

1 2 3 4 5

1 2 3 4 5

1 2 3 4 5

System.out.println("1 2 3 4 5 ");
System.out.println("1 2 3 4 5 ");
System.out.println("1 2 3 4 5 ");
..........
for(int i = 0;i<3;i++){System.out.println("1 2 3 4 5 ");
}
..........
for(int i = 1;i<=100;i++){System.out.print(i+" ");
}
for(int i = 1;i<=100;i++){System.out.print(i+" ");
}
for(int i = 1;i<=100;i++){System.out.print(i+" ");
}
-----------------
for(int i = 1;i < 4;i++) {//外層循環控制行 行數for(int j=1;j<=10;j++) {//內層循環控制列  列數System.out.print(j+" ");	//每列的值}System.out.println();
}
1 
1 2 
1 2 3 
1 2 3 4 
1 2 3 4 5 for(int i=1;i<=1;i++){System.out.print(i+" ");
}
System.out.println();for(int i=1;i<=2;i++){System.out.print(i+" ");
}
System.out.println();for(int i=1;i<=3;i++){System.out.print(i+" ");
}
System.out.println();for(int i=1;i<=4;i++){System.out.print(i+" ");
}
System.out.println();
-------------------------------for(int i=1;i<6;i++){for(int j=1;j<=i;j++){System.out.print(j+" ");}System.out.println();
}
--------------------------------
1 
1 2 
1 2 3 
1 2 3 4 
1 2 3 4 5 
平面圖形  行、列 雙層循環
外層循環控制行
內層循環控制列
for(int i=1;i<5;i++){//控制行數//第一行 i=1  列數1//第二行 i=2  列數2//第三行 i=3  列表3for(int j=1;j<=i;j++){ //控制列數  //內層循環體 打印輸出 每列的值System.out.print(j+" ");}System.out.println();
}    
1 2 3 4 5 
1 2 3 4 
1 2 3 
1 2 
1 
for(int i=1;i<=5;i++) {for(int j=1;j<=6-i;j++) {System.out.print(j+" ");}System.out.println();
}for(int i=5;i>=1;i--) {for(int j=1;j<=i;j++) {System.out.print(j+" ");}System.out.println();
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/160929.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/160929.shtml
英文地址,請注明出處:http://en.pswp.cn/news/160929.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Java面向對象(高級)-- 類中屬性賦值的位置及過程

文章目錄 一、賦值順序&#xff08;1&#xff09;賦值的位置及順序&#xff08;2&#xff09;舉例&#xff08;3&#xff09;字節碼文件&#xff08;4&#xff09;進一步探索&#xff08;5&#xff09;最終賦值順序&#xff08;6&#xff09;實際開發如何選 二、(超綱)關于字節…

1992-2021年省市縣經過矯正的夜間燈光數據(GNLD、VIIRS)

1992-2021年省市縣經過矯正的夜間燈光數據&#xff08;GNLD、VIIRS&#xff09; 1、時間&#xff1a;1992-2021年3月&#xff0c;其中1992-2013年為年度數據&#xff0c;2013-2021年3月為月度數據 2、來源&#xff1a;DMSP、VIIRS 3、范圍&#xff1a;分區域匯總&#xff1a…

SpringBoot : ch05 整合Mybatis

前言 隨著Java Web應用程序的快速發展&#xff0c;開發人員需要越來越多地關注如何高效地構建可靠的應用程序。Spring Boot作為一種快速開發框架&#xff0c;旨在簡化基于Spring的應用程序的初始搭建和開發過程。而MyBatis作為一種優秀的持久層框架&#xff0c;提供了對數據庫…

【Linux】-進程間通信-共享內存(SystemV),詳解接口函數以及原理(使用管道處理同步互斥機制)

&#x1f496;作者&#xff1a;小樹苗渴望變成參天大樹&#x1f388; &#x1f389;作者宣言&#xff1a;認真寫好每一篇博客&#x1f4a4; &#x1f38a;作者gitee:gitee? &#x1f49e;作者專欄&#xff1a;C語言,數據結構初階,Linux,C 動態規劃算法&#x1f384; 如 果 你 …

中低壓MOSFET 2N7002T 60V 300mA 雙N通道 采用SOT-523封裝形式

2N7002KW小電流雙N通道MOSFET&#xff0c;電壓60V電流300mA&#xff0c;采用SOT-523封裝形式。低Ros (on)的高密度單元設計&#xff0c;堅固可靠&#xff0c;具有高飽和電流能力&#xff0c;ESD防護門HBM2KV。可應用于直流/直流轉換器&#xff0c;電池開關等產品應用上。

Redis JDBC

1、導入依賴&#xff1a; <dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>4.4.3</version></dependency> 2、連接JDBC public class JedisDemo05 {public static void main(String[]…

成為AI產品經理——AI產品經理工作全流程

一、業務背景 背景&#xff1a;日常排球訓練&#xff0c;中考排球項目和排球體測項目耗費大量人力成本和時間成本。 目標&#xff1a;開發一套用于實時檢測排球運動并進行排球墊球計數和姿勢分析的軟件。 二、產品工作流程 我們這里對于產品工作流程的關鍵部分進行講解&…

「Docker」如何在蘋果電腦上構建簡單的Go云原生程序「MacOS」

介紹 使用Docker開發Golang云原生應用程序&#xff0c;使用Golang服務和Redis服務 注&#xff1a;寫得很詳細 為方便我的朋友可以看懂 環境部署 確保已經安裝Go、docker等基礎配置 官網下載鏈接直達&#xff1a;Docker官網下載 Go官網下載 操作步驟 第一步 創建一個…

Java 多線程之 DCL(Double-Checked Locking)

文章目錄 一、概述二、使用方法 一、概述 DCL&#xff08;Double-Checked Locking&#xff09;是一種用于在多線程環境下實現延遲初始化的技術。它結合了懶加載&#xff08;Lazy Initialization&#xff09;和線程安全性&#xff0c;用于在需要時創建單例對象或共享資源。它的…

什么是SEO?(初學者建議收藏)

前言 在這個充滿機遇和挑戰的時代&#xff0c;人們不斷追求著更好的生活和更高的成就。無論是個人還是企業&#xff0c;都需要不斷提升自己的競爭力&#xff0c;才能在激烈的市場競爭中獲得成功。因此&#xff0c;我們需要不斷學習和成長&#xff0c;學會適應變化和面對挑戰。…

汽車智能座艙/智能駕駛SOC -2

第二篇&#xff08;筆記&#xff09;。 未來智能汽車電子電氣將會是集中式架構&#xff08;車載數據中心&#xff09;虛擬化技術&#xff08;提供車載數據中心靈活性和安全性&#xff09;這個幾乎是毋庸置疑的了。國際大廠也否紛紛布局超算芯片和車載數據中心平臺。但是演進需…

日期格式轉化成星期幾部署到linux顯示英文

異常收集 原因&#xff1a;解決辦法仰天大笑出門去&#xff0c;我輩豈是蓬蒿人 傳入一個時間獲取這個時間對應的是星期幾&#xff0c;在開發環境&#xff08;window系統&#xff09;中顯示為星期幾&#xff0c;部署到服務器&#xff08;linux系統&#xff09;中會顯示英文的時間…

serverless開發實戰

.yml格式 YAML&#xff08;YAML Ain’t Markup Language&#xff09;是一種人類可讀的數據序列化格式&#xff0c;它使用簡潔的結構和縮進來表示數據。它被廣泛用于配置文件和數據交換的場景&#xff0c;具有易讀性和易寫性的特點。 serverless.yml配置 在項目的根目錄下增加…

Youtube新手運營——你需要的技巧與工具

對于有跨境意向的內容創作者或者品牌企業來說&#xff0c;YouTube是因其巨大的潛在受眾群和商業價值成為最值得投入變現與營銷計劃的平臺。 據統計&#xff0c;98% 的美國人每月訪問 YouTube&#xff0c;近三分之二的人每天訪問。但是&#xff0c;YouTube還遠未達到過度飽和的…

Leetcode—53.最大子數組和【中等】

2023每日刷題&#xff08;三十四&#xff09; Leetcode—53.最大子數組和 前綴和算法思想 參考靈茶山艾府 實現代碼 #define MAX(a, b) ((a > b) ? (a) : (b)) #define MIN(a, b) ((a < b) ? (a) : (b)) int maxSubArray(int* nums, int numsSize) {int ans INT_…

VMware 16 Pro 安裝以及下載

1、下載地址&#xff1a; https://www.aliyundrive.com/s/nj3PSD4TN9G 2、安裝文件 右擊打開 下一步 密鑰&#xff1a;ZF3R0-FHED2-M80TY-8QYGC-NPKYF 到此&#xff0c;安裝完畢

postgreSQL如何快速查詢大表數據量

文章目錄 場景方案結果 場景 我有一個非常大的表&#xff0c;估計幾百萬或者幾千萬。 我開始使用了 select count(*) from my_table_javapub 方式&#xff0c;查詢非常慢。 如何解決&#xff1f;&#xff1f;&#xff1f; 方案 如果你需要更快地獲取表中的行數&#xff0c…

93.STL-系統內置仿函數

目錄 算術仿函數 關系仿函數 邏輯仿函數 C 標準庫中提供了一些內置的函數對象&#xff0c;也稱為仿函數&#xff0c;它們通常位于 <functional> 頭文件中。以下是一些常見的系統內置仿函數&#xff1a; 算術仿函數 功能描述&#xff1a; 實現四則運算其中negate是一元…

Java游戲之飛翔的小鳥

前言 飛翔的小鳥 小游戲 可以作為 java入門階段的收尾作品 &#xff1b; 需要掌握 面向對象的使用以及了解 多線程&#xff0c;IO流&#xff0c;異常處理&#xff0c;一些java基礎等相關知識。一 、游戲分析 1. 分析游戲邏輯 &#xff08;1&#xff09;先讓窗口顯示出來&#x…