Day05-switch-idea反編譯-while-dowhile-for迴圈-99乘法表-轉義字元
阿新 • • 發佈:2021-06-12
package jiegou; import java.util.Scanner; public class Day0501 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入成績:"); String grade = scanner.next(); switch (grade){ //switch是匹配,switch是在jdk7之後才支援除了八大基本資料型別的 case "A": //case是穿透 System.out.println("優秀"); break; //break是跳出打斷,如果沒有就會一直輸出到有break的 case "B": System.out.println("良好"); break; case "C": System.out.println("及格"); break; default: System.out.println("不及格"); scanner.close(); } } }
通過idea進行反編譯
while迴圈
1 package jiegou; 2 3 public class Day0502 { 4 public static void main(String[] args) { 5 int sum = 0; 6 int flag = 0; 7 while (flag<100){//1到100,如果是<=的話就是1到101相加 (就是等於100的時候會停止) 8 flag +=1; //因為寫在前面 9 sum = sum + flag;10 System.out.println("第"+flag+"個,然後相加為:"+sum); 11 } 12 System.out.println("1相加到100的結果為:"+sum);//5050 13 } 14 }//正常寫法從1到100 (1+..+100) 15 package jiegou; 16 17 public class Day0502 { 18 public static void main(String[] args) { 19 int sum = 0; 20 int flag = 0;21 while (flag<=100){//0到101,如果是<的話就是1到100相加 (就是等於101的時候會停止) 22 23 sum = sum + flag; 24 flag +=1; //因為寫在後面,就會多出一個等於(while (flag<=100)) 25 System.out.println("第"+flag+"個,然後相加為:"+sum); 26 } 27 System.out.println("1相加到100的結果為:"+sum);//5050 28 } 29 }//特殊寫法結果不變從1到101 (0+1+..+101)
do while迴圈結構
1 package jiegou; 2 3 public class Day0503 { 4 public static void main(String[] args) { 5 int i = 0; 6 while(i<0){//判斷出錯誤就不執行while迴圈語句裡的sout了 7 System.out.println(i); 8 } 9 System.out.println("================="); 10 do { 11 System.out.println(i);//輸出0,因為dowhile迴圈是先執行後判斷 12 }while (i<0); 13 14 } 15 }
for迴圈最有效的迴圈語句
for(;;){} //死迴圈
for(){ //行 for(){ //列 } }
1 package jiegou; 2 3 public class Day0505 { 4 public static void main(String[] args) { 5 for (int i = 0; i < 3; i++) {//0 1 2 6 System.out.println(i);//0 1 2(i的執行情況)執行3次 7 } 8 } 9 }
1 package jiegou; 2 3 public class Day0504 { 4 public static void main(String[] args) { 5 int sum = 0; 6 int sum2 = 0; 7 for (int i = 0; i <=100; i++) {//總共執行101次,從0開始執行到100,i++相當於放後面,後面就要加等於 8 if (i%2==1){ 9 sum = sum + i; 10 }else{ 11 sum2 = sum2 + i; 12 } 13 } 14 System.out.println("所有奇數和: "+sum);//2500 15 System.out.println("所有偶數和: "+sum2);//2550 16 } 17 }
1 package jiegou; 2 3 public class Day0506 { 4 public static void main(String[] args) { 5 //迴圈輸出1-1000之間能被5整除的數且沒行輸出3個 6 for (int i = 1; i <= 1000; i++) { //1到1000 7 if (i%5==0){ 8 System.out.print(i+"\t");//\t 9 } 10 if (i%(5*3)==0){//輸出3個就換行 11 System.out.println(); 12 } 13 } 14 } 15 }
99乘法表
-
先列印乘法表的第一列
-
我們先把固定的1用一個迴圈標起來
-
去掉重複項, i<=j
-
調整樣式
1 package jiegou; 2 3 public class Day0507 { 4 public static void main(String[] args) { 5 //列印99乘法表 6 for (int j = 1; j <= 9; j++) { 7 for (int i = 1; i <= j; i++) { 8 System.out.print(j+"*"+i+"="+j*i+"\t"); 9 } 10 System.out.println(); 11 } 12 13 } 14 }
轉義字元
java轉義字元:
\ddd 1到3位8進位制資料所表示的字元(ddd)
\uxxxx 1到4位16進位制數所表示的字元(xxxx)
\' 單引號字元
\\ 反斜槓字元
\r 回車
\n 換行
\f 換頁
\t tab
\b 退格