java基礎筆記(七)——java選擇結構
阿新 • • 發佈:2020-12-21
選擇結構
if單選擇
if雙選擇結構
if多選擇結構
switch多選擇結構
-
switch語句用來匹配一個特定的值
-
字串經編譯後比較的是字串的雜湊值
char c = 'C'; switch (c){ case 'A': System.out.println("優秀"); break; case 'B': System.out.println("良好"); break; case 'C': System.out.println("及格"); break; case 'D': System.out.println("不及格"); break; default: System.out.println("其他等級"); }
IDE的反編譯
- 右鍵Project Structure(一個資料夾圖示)-->點選project選項-->檢視project compiler output的檔案目錄-->開啟此檔案目錄--->將對應的.class檔案從物理層拷貝到.java檔案所在資料夾
迴圈結構
while迴圈
-
格式:while(表示式){迴圈內容}
-
特點:
-
表示式為boolean值,如果為true程式會一直執行也就是死迴圈,一般我們都需要將表示式的值設為false,當迴圈達到某個特定條件就結束迴圈;極少數情況下,我們會讓程式一直執行,比如伺服器的請求響應監聽等
-
案例
-
//案例:計算1+2+3+4+...+100的值 //定義一個計數器i,從1開始進行累加 int i = 0; //定義一個變數記錄總和 int sum = 0; //迴圈累加,i進行自增,當i>100時迴圈停止 while (i<=100){ sum += i; i++; } System.out.println("sum = " + sum);
-
do...while迴圈
-
格式:do{迴圈內容}while(表示式)
-
do...while與while的區別:
- while迴圈是先判斷再執行,而do...while是先執行再判斷
- do...while保證迴圈體至少執行一次。這是二者的主要差別
int i = 0; while (i < 0){ i++; System.out.println("while迴圈中i= " + i); } System.out.println("============================"); do { i++; System.out.println("do...while中i=" + i); }while (i<0); //顯示結果: ============================ do...while中i=1
for迴圈
-
for( ; ; ){}:為死迴圈
-
案例:
-
案例1:計算0-100間奇數和偶數的和
//計算0-100間,奇數與偶數的和 int oddSum = 0; int evenSunm = 0; for(int i=0;i<=100;i++){ if (i%2!=0){//奇數 oddSum+= i; }else {//偶數 evenSunm+= i; } } System.out.println("奇數的和:oddSum=" + oddSum); System.out.println("偶數的和:evenSum=" + evenSunm);
-
案例2:用while或for迴圈輸出1-1000之間能被5整除的數,並且每行輸出3個
//案例2:用while或for迴圈輸出1-1000之間能被5整除的數,並且每行輸出3個 for (int i = 0; i <= 1000; i++) { if (i%5 == 0){ System.out.print(i + "\t"); } if (i%(5*3)==0){ System.out.println(); } } //while迴圈 int i =0; while (i<=1000){ if (i%5==0){ System.out.print(i + "\t"); } if (i%(5*3)==0){ System.out.println(); } i++; }
-
案例3:列印九九乘法表
//列印九九乘法表 /* 1.先列印第1列,從第一列開始 2.在第1列外面加個迴圈,使固定的1變為一個變數 3.去除重複項 4.美化輸出 */ for (int i = 1; i <= 9; i++) {//控制行數 for (int j = 1; j <= i; j++) {//控制每行的個數 System.out.print(j + " * " + i +" = " + (i*j) + "\t"); } System.out.println(); }
-
break 與Continue
-
break退出整個迴圈,不執行剩下的迴圈語句
-
continue退出本次迴圈,還會執行下一次迴圈的語句判定
練習
案例:列印三角形
//列印三角形 5行
/*
分析:
1.先列印一個5*5的正方形
2.將第一個內迴圈,打印出一個倒三角(第一行列印5個*)
3.將第二個內迴圈,打印出一個直角三角。(第一行列印1個*)
4.將第三個內迴圈,按照第二個內迴圈列印,但是注意,因為第一行已經有了一個*,所以第三個內迴圈需要<i
*/
for (int i = 1; i <=5; i++) {//列印的是5*5的正方形
for (int j=5;j>=i;j--){//去除重複
System.out.print(" ");
}
for (int j=1;j<=i;j++){
System.out.print("*");
}
for (int j=1;j<i;j++){
System.out.print("*");
}
System.out.println();
}
*
***
*****
*******
*********
//列印菱形
/*
分析:
1.相當於是兩個三角形拼接成
*/
for (int i=1;i<=5;i++){
for (int j=5;j>=i;j--){//設定倒三角
System.out.print(" ");
}
for (int j=1;j<=i;j++){//列印第一個直角三角
System.out.print("*");
}
for (int j=1;j<i;j++){//列印第二個直角三角
System.out.print("*");
}
System.out.println();
}
//列印倒三角
for (int i=1;i<=5;i++){
for (int j=1;j<=i;j++){//設定倒三角
System.out.print(" ");
}
for (int j=5;j>=i;j--){//列印第一個直角三角
System.out.print("*");
}
for (int j=5;j>i;j--){//列印第二個直角三角
System.out.print("*");
}
System.out.println();
}