Java基礎教程——Java條件控制語句

      網友投稿 731 2022-05-29

      七、分支控制語句

      包含循環控制語句和條件控制語句

      1. 循環控制語句

      1. 自我提問

      今天學到了個新知識,在學習一個東西前,先提出自己的一些問題,然后在學習,可能效率會高一點,那么就來提出一些問題吧

      什么是循環控制語句?

      他能干什么?

      它有什么類型?

      2. 回答問題

      1. 什么是循環控制語句?

      循環控制語句在于循環,能夠讓你在進行重復的操作時省時省力

      2. 他能干什么?

      舉個例子:讓你從1數到100,你數出來,會花費不短的時間,但是你讓計算機數的話,計算機很快就能給你數出來,甚至可以說是瞬間

      這個例子可能不太恰當,那么就來一個更加容易理解,也是學循環控制語句被玩爛的東西:1累加到100。讓你手動算的話,要花費很多時間(不要跟我說什么你會數學,也能很快算出來,咱這邊先不考慮,只是舉個例子),但是讓程序去用循環控制語句算的話就很快,也是瞬間。

      3. 它有什么類型?

      for循環,由關鍵字for開頭的

      for(初始化;表達式;更新){ 代碼塊 }

      while循環,由while關鍵字開頭的

      while(表達式){ 代碼塊 }

      do…while循環,由do開頭,中間由while銜接的

      do{ 代碼塊 }while(表達式);

      3. 使用

      通過例子,幫助理解

      1.使用for循環實現1-100的累加

      public class 循環 { public static void main(String[] args) { int num = 0; //聲明一個用來接收累加結果的變量 for (int i = 0;i<=100;i++){ num = num + i; } System.out.println(num); } }

      for循環直接在for后面跟初始體(int i = 0),限制條件(i<=100)和更新體(i++),中間需要用半角分號隔開,這是不可更改的 這個代碼的意思是:初始化i是0,限制i的最大值是100,每次進行將num+i的值賦值給num循環后,讓i+1。循環100次。結果是5050。

      2.使用while循環實現1-100的累加

      public class 循環 { public static void main(String[] args) { int num = 0; int i = 0; while (i<=100){ num = num + i; i+=1; } System.out.println(num); } }

      while循環里面的初始體需要在循環外面定義,更新體在循環內部,限制條件在while后面的括號里。

      3.使用do...while實現1-100的累加

      public class 循環 { public static void main(String[] args) { int num = 0; int i = 0; do { num = num + i; i+=1; }while (i<=100); System.out.println(num); } }

      do...while循環,先執行do后面的代碼塊,再進行更新體的更新

      4.嵌套循環

      循環我們已經知道了,那么嵌套循環是什么? 嵌套循環就是循環里面還有循環,用前段時間的網絡用語就是循環套娃,當然,嵌套循環在生活中也是非常的常見的,比如:你要圍著操場跑三圈,,每一圈都要跑多少步。跑三圈就是一個大點的循環,那么你跑一圈要多少步就是多少個小循環。那么代碼表示大概就是這樣:

      跑的第一圈

      邁左腳

      邁右腳

      ......

      七、分支控制語句

      包含循環控制語句和條件控制語句

      1. 循環控制語句

      1. 自我提問

      今天學到了個新知識,在學習一個東西前,先提出自己的一些問題,然后在學習,可能效率會高一點,那么就來提出一些問題吧

      什么是循環控制語句?

      他能干什么?

      它有什么類型?

      2. 回答問題

      循環控制語句在于循環,能夠讓你在進行重復的操作時省時省力

      舉個例子:讓你從1數到100,你數出來,會花費不短的時間,但是你讓計算機數的話,計算機很快就能給你數出來,甚至可以說是瞬間

      這個例子可能不太恰當,那么就來一個更加容易理解,也是學循環控制語句被玩爛的東西:1累加到100。讓你手動算的話,要花費很多時間(不要跟我說什么你會數學,也能很快算出來,咱這邊先不考慮,只是舉個例子),但是讓程序去用循環控制語句算的話就很快,也是瞬間。

      for循環,由關鍵字for開頭的

      for(初始化;表達式;更新){ 代碼塊 }

      while循環,由while關鍵字開頭的

      while(表達式){ 代碼塊 }

      do…while循環,由do開頭,中間由while銜接的

      do{ 代碼塊 }while(表達式);

      3. 使用

      通過例子,幫助理解

      public class 循環 { public static void main(String[] args) { int num = 0; //聲明一個用來接收累加結果的變量 for (int i = 0;i<=100;i++){ num = num + i; } System.out.println(num); } }

      for循環直接在for后面跟初始體(int i = 0),限制條件(i<=100)和更新體(i++),中間需要用半角分號隔開,這是不可更改的 這個代碼的意思是:初始化i是0,限制i的最大值是100,每次進行將num+i的值賦值給num循環后,讓i+1。循環100次。結果是5050。

      public class 循環 { public static void main(String[] args) { int num = 0; int i = 0; while (i<=100){ num = num + i; i+=1; } System.out.println(num); } }

      while循環里面的初始體需要在循環外面定義,更新體在循環內部,限制條件在while后面的括號里。

      public class 循環 { public static void main(String[] args) { int num = 0; int i = 0; do { num = num + i; i+=1; }while (i<=100); System.out.println(num); } }

      do...while循環,先執行do后面的代碼塊,再進行更新體的更新

      4.嵌套循環

      循環我們已經知道了,那么嵌套循環是什么? 嵌套循環就是循環里面還有循環,用前段時間的網絡用語就是循環套娃,當然,嵌套循環在生活中也是非常的常見的,比如:你要圍著操場跑三圈,,每一圈都要跑多少步。跑三圈就是一個大點的循環,那么你跑一圈要多少步就是多少個小循環。那么代碼表示大概就是這樣:

      跑的第一圈

      邁左腳

      邁右腳

      ......

      邁左腳

      邁右腳

      ......

      跑的第兩圈

      邁左腳

      邁右腳

      ......

      邁左腳

      邁右腳

      ......

      跑的第三圈

      邁左腳

      邁右腳

      ......

      邁左腳

      邁右腳

      ......

      用代碼將:跑三圈 ,每圈4步 表現出來

      public class ForExample{ public static void main(String[] args){ for (int i = 1;i<=3;i++){ System.out.println("第"+i+"圈"); int j = 1; while (j<=4){ System.out.println("邁左腳"); System.out.println("邁右腳"); j++; } } } }

      這個是for里面嵌套了一個while循環,外部循環一次,內部循環四次;意思就是按順序循環,外面第一次循環,然后進入內部進行執行,進入內部又碰到循環,在里面需要把內部循環循環完成才能進行外部循環的第二次循環。這個代碼循行的結果是:

      /* 第1圈 邁左腳 邁右腳 (循環四次) 第2圈 邁左腳 邁右腳 (循環四次) 第3圈 邁左腳 邁右腳 (循環四次) */ //不展示那么多,免得說占字數

      如果把這個理解了,那么可以嘗試一下各種循環互相嵌套。

      課后小練習

      分別使用三個循環進行99乘法表的實現

      2. 條件控制語句

      條件控制語句用人的話來說就是,如果....就..... 這么一聽的話,是不是就覺得很簡單了,那么去看看他怎么在代碼中顯示吧,不過在此之前,我們先去復習一下循環控制語句的小練習吧。

      1.最簡單的if語句

      我們會在這里說明最簡單的if語句,幫助理解if語句。

      if(條件){ 代碼塊 } 為什么說最簡單呢,因為她只有一個if,沒有別的了,意思就是,如果這個條件正確,就執行下面的代碼塊。如果錯誤,就跳過,條件的值必須是布爾值。比如:如果我十八歲了,我就可以去網吧上網。如果就是Java代碼中的if,我是否十八歲是括號里面的條件,就可以去網吧上網是代碼塊。

      int age = 18; if (age>=18){ System.out.println("可以去網吧上網"); }

      是不是很簡單,這個時候,我們可以這樣做:

      String text = "理解"; String me; if (me == text){ System.out.println("就這"); }

      看懂的掌聲,啪啪啪啪啪~~

      2.if...else...語句

      這次我們的if有了個跟班,名字叫做else,大家應該都學過英語,都知道是什么意思吧。沒錯,其他。

      我們if...else...的格式是這樣的:

      if (條件表達式){ 代碼塊; }else{ 代碼塊; }

      上面已經說過,條件的值是布爾類型的,只有兩個值,true和false,那這個的意思就是,如果條件是true,那么就執行if下面的代碼塊,如果是false就執行else下面的代碼塊。

      明天是周末,假如我們計劃:如果明天不下雨,那么我就出去跑步,如果下雨,就在家里讀書。那么用代碼寫出來,應該不是很難吧

      String weather = "不下雨"; if (weather == "不下雨"){ System.out.println("出去跑步"); }else{ System.out.println("在家讀書"); }

      3.if...else if...else... 語句

      上面哪一種是只考慮了兩種情況,但是有時候往往兩種情況是不適用于我們的實際運用的,比如說成績,60以下是不及格,60-80是及格,80-100是優秀,這就有了三種情況,用if...else...就不行了,而我們的if...else if...else 語句應運而生。

      語句格式:

      Java基礎教程——Java條件控制語句

      if(表達式){ 代碼塊; }else if(表達式){ }else{ 代碼塊; }

      下面我們就對這個成績進行劃分

      int score = 80; if (score<60&&score>=0){ System.out.println("不及格"); }else if (score>=60&&score<80){ System.out.println("及格"); }else { System.out.println("優秀"); } }

      當然,還能有更多的情況,更多的情況就是更多的else if

      4.嵌套的條件控制語句

      條件控制語句,我覺得就是限制住某個條件才能執行,而嵌套的if就是在限制了一個條件后,再進行一次限制。

      比如我們上面的劃分成績的例子中,我么后在對60-80的同學進行限制的時候,是用了我們說過的邏輯運算符,與,這個我們也可以使用嵌套來做。

      下面看看用代碼顯示吧。

      int score = 81; if (score>=60){ if (score<80){ System.out.println("及格"); } } }

      當然這個只是最簡單的,我們就用嵌套把3中的第一個限制條件也改了吧

      int score = 1; if (score<60){ if (score>=0){ System.out.println("不及格"); } }else if (score<80){ if(score>=60){ System.out.println("及格"); } }else { System.out.println("優秀"); }

      switch語句的格式

      學習語法嘛,要先看怎么用的,也就是,格式

      switch(表達式){ case 值 ://語句 break; //可選 case 值 ://語句 break; //可選 //你可以有任意數量的case語句 default : //語句 //可選 }

      嚯,這一看,不得了:這是什么玩意啊?

      不慌,我們先看看怎么用的,就用猜拳游戲當例子吧

      import java.util.Random; //導入Random包,用于取隨機數 import java.util.Scanner; //導入Scanner包,用于從鍵盤獲取數據 public class 猜拳 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); //只有sc是自定義的,別的地方都是固定語法 Random ra = new Random(); //固定語法 System.out.println("請輸入你猜拳的數!規則如下:"); System.out.println("0——————石頭"); System.out.println("1——————剪刀"); System.out.println("2——————布"); int a = sc.nextInt(); //用a從鍵盤接受一個整形類型的數據 int pc = ra.nextInt(2); //用pc變量接受一個從0 1 2 中隨機取的數 String guiZe = null; //初始化變量 String pc1 = null; //初始化變量 switch (a){ case 0: guiZe = "石頭"; break; case 1: guiZe = "剪刀"; break; case 2: guiZe = "布"; break; } switch (pc){ case 0: pc1 = "石頭"; break; case 1: pc1 = "剪刀"; break; case 2: pc1 = "布"; break; } if (pc == a){ System.out.println("平局!"); System.out.println("你出的是:"+guiZe); System.out.println("電腦出的是:"+pc1); }else if (pc >= a){ System.out.println("你輸了!"); System.out.println("你出的是:"+guiZe); System.out.println("電腦出的是:"+pc1); }else { System.out.println("你贏了!"); System.out.println("你出的是:"+guiZe); System.out.println("電腦出的是:"+pc1); } } }

      話外語

      Random包,用于取隨機數

      Random ra = new Random(); ra.nextInt(2);

      Scanner包,用于從鍵盤獲取數據 用法:

      Scanner sc = new Scanner(System.in); sc.next類型();類型首字母必須大寫

      與switch語句再續前緣

      好,話外語已經說完了,繼續我們的switch,既然代碼那么長,就是看switch的部分吧

      switch (a){ case 0: guiZe = "石頭"; break; case 1: guiZe = "剪刀"; break; case 2: guiZe = "布"; break; default: guiZe = "不符合規則"; } switch (pc){ case 0: pc1 = "石頭"; break; case 1: pc1 = "剪刀"; break; case 2: pc1 = "布"; break; }

      這個看著蠻復雜的,其實也算是個條件控制語句,我們先看第一個,其實只看第一個也就行了,開整,沖 如果a的值和case后面的值相等了,那么就執行冒號后面的代碼,而如果沒有相等的,就執行default后面的代碼。好,我覺得我說的很詳細了,就不多說了! 我覺得

      多一嘴

      好吧,還是有必要多說幾句的 表達式的值可以是:byte、short、int 、char、String,且case標簽必須是字符串常量或字面量 好了,這次是真的沒了!

      彩蛋

      本來是不想說的,但是看很多人都沒發現,還是說一下,文中的猜拳小游戲有些邏輯上的錯誤哦,由于懶(確實是懶,不是理由哈哈),錯誤是什么我就不說了,自己找吧,就當鍛煉一下自己,當程序員,找錯是必不可少的技能,沖沖沖

      課后小練習

      判斷一個數(由自己定義)是否是質數

      什么是質數:「只能被1和他本身整除的數就是質數。」 例如:2、3、5、7、11、13…

      課后小練習答案

      1. for循環實現九九乘法表

      首先先分析分析怎么做到,我們知道,循環是連續執行的,那么怎么讓程序將九九乘法表展示給我們呢?我們先回顧一下九九乘法表長什么樣子

      回想一下我們的循環,再結合這張圖,我們能想到什么呢?第一行,只有一個,第二行,兩個,第三行,三個...... 我們可以用嵌套循環,外部循環表示縱的,內部循環表示橫的,第一次循環,只輸出1*1=1,只循環一次,第二行循環2次。。。做為限制條件,橫的有9行,外部循環就以9為限制條件,那內部循環用什么呢,用縱列和行數的關系做為限制條件,就行了,代碼如下

      public class Te0 { public static void main(String[] args) { for (int i = 1;i<=9;i++){ for (int j = 1;j<=i;j++){ System.out.print(j+"*"+i+"="+(i*j)+" "); //這個地方注意要用print,這個函數的意思是輸出完不換行 //后面加空格是不讓每個都連在一起 } System.out.println(" "); //這句的作用是,每次循環結束后,換行 } } }

      結果:

      1*1=1 1*2=2 2*2=4 1*3=3 2*3=6 3*3=9 1*4=4 2*4=8 3*4=12 4*4=16 1*5=5 2*5=10 3*5=15 4*5=20 5*5=25 1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36 1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49 1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64 1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81

      2.質數

      先回顧一下題目:

      判斷一個數(由自己定義)是否是質數

      什么是質數:只能被1和他本身整除的數就是質數。 例如:2、3、5、7、11、13…

      想必對大家來說這個是很簡單的吧!

      import java.util.Scanner; public class Test { public static void main(String[] args) { boolean isPrime = true; Scanner sc = new Scanner(System.in); System.out.println("請輸入一個正整數"); int num = sc.nextInt(); if (num > 0) { int k = (int) Math.sqrt(num);//k為num的正平方根,取整數 // 考慮平方根是為了減少重復量,開平方后面的數不處理 /* 素數是因子為1和本身, 如果數c不是素數,則還有其他因子,其中的因子 假如為a,b.其中必有一個大于sqrt(c) , 一個小于sqrt(c) 所以m必有一個小于或等于其平方根的因數,那么驗證素數時就只需要驗證到其平方根就可以了 */ for (int i = 2; i <= k; i++) { if (num % i == 0) { isPrime = false; //不是素數 break; } } } if (isPrime) { System.out.println(num + "是素數"); } else {

      Python

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:昇騰CANN社區版安裝體驗
      下一篇:MySQL調優表結構優化
      相關文章
      亚洲精品成人网站在线播放| 亚洲91精品麻豆国产系列在线| 亚洲日韩AV一区二区三区四区 | 国产亚洲精品美女久久久久| 亚洲色成人WWW永久在线观看| 亚洲人成网站看在线播放| 亚洲婷婷在线视频| 亚洲中文字幕无码av在线| 亚洲性色成人av天堂| 亚洲一区在线视频| 亚洲人配人种jizz| 亚洲欧美日本韩国| 亚洲av无一区二区三区| 麻豆亚洲AV成人无码久久精品 | 久久精品国产亚洲av麻| 亚洲国产精品国自产拍电影| 亚洲AV日韩精品久久久久| 亚洲国产一区二区a毛片| 亚洲视频在线观看免费| 亚洲视频在线一区二区三区| 亚洲无人区视频大全| 99久久婷婷国产综合亚洲| 亚洲日韩一中文字暮| 国产亚洲精品2021自在线| 亚洲日韩VA无码中文字幕| 亚洲精品无码专区在线在线播放 | 国产精品亚洲片在线| 亚洲国产精品免费视频| 久久亚洲熟女cc98cm| 亚洲一区精品视频在线| 亚洲欧美国产欧美色欲| 国产精品亚洲综合网站| 国产亚洲精品资在线| 久久精品亚洲中文字幕无码网站| 91亚洲一区二区在线观看不卡| 亚洲一卡2卡4卡5卡6卡残暴在线| 亚洲av永久中文无码精品| 亚洲精品NV久久久久久久久久| 亚洲人成亚洲人成在线观看| 亚洲国产人成在线观看69网站| 亚洲国产理论片在线播放|