1. 程式人生 > 實用技巧 >設計模式:如何優雅地使用工廠模式

設計模式:如何優雅地使用工廠模式

switch case語句

格式:

 1 switch(表示式/變數){
 2 
 3           case 常量值1:
 4 
 5                //語句體內容1
 6 
 7           break;
 8 
 9           case  常量值2:
10 
11                //語句體內容2
12 
13           break14 
15           ... ...
16 
17           default:
18 
19                 //語句體n
20 
21           break
22 23 }

執行流程:

1.首先算出表示式的值。

2.依次和case後面的常量值做比較,如果相等,就執行相應的語句體內容,

在執行過程中,遇到break就會結束switch case語句。

3.如果表示式值和case後的常量值都不相等,就執行default中的語句體內容,

然後此switch case語句結束。

注意:1.每個case,和default後都會有break,敲程式碼的時候很容易忽略;

2.case後的常量值,要加冒號":".

1 char c = 'a';
2 switch(c){
3   case 'a':
4          System.out.print("pido ");
5 default: 6 System.out.print("online"); 7 } 8 程式碼的執行結果是_________;

答案:pido online

解析:1.首先這個switch語句,每個case,和default後都沒有 break;語句;

2.沒有break語句,根據表示式找到對應的case後,會執行這個case和其下面的所有語句,直到遇到break,或執行完最後一行程式碼。

3.其次輸出語句沒有換行,輸出的內容會在一行;

面試題:switch後面的表示式的值可以是什麼型別?可以是字串型別嗎?

答:表示式的資料型別,可以是byte/short/int/char/enum(列舉),JDK1.7之後可以接收字串型別。

for迴圈

格式:

1 for(1.初始化語句; 2.條件判斷表示式; 4.迭代語句) {
2          // 3.迴圈體內容
3 }

執行流程:

1.執行順序:1 -> 2 -> 3 -> 4 -> 2 -> 3 -> 4 -> 2 -> 3 -> 4 -> ...2,直到不滿足表示式為止。

2.初始化語句:負責迴圈變數的初始化;

3.條件判斷表示式:迴圈的條件,不滿足退出迴圈。

4.迴圈體內容:滿足迴圈條件後,執行的程式碼塊

5.迭代語句:負責變數的迭代

附: 1.for迴圈的大括號,可以不寫(最好寫上)

(不要複製我的這個程式碼測試,手敲才行,因為有可能會複製到系統識別不了你又看不見的字元,就報錯了)

1         int sum = 0;
2         for(int n = 1; n < 10; n++)
3             sum+=n;
4             System.out.println(sum);

2.如果剛學for迴圈,肯定不知道迭代是什麼意思

其實迭代就是,for迴圈中的變數,怎麼增加,或減少(比如1,2,3,4這樣加,或2,4,6這樣加)

如果減少的話,可以寫"n--"。

1          int sum = 0;
2          for(int n = 1; n < 10; n+=2) {
3              sum += n;
4              System.out.println(sum);
5          }

3.如果在草稿紙上按照執行順序畫的話,像一把小旗,for迴圈也叫紅旗迴圈。

4.for迴圈中小括號中三部分內容,都可以按需求不寫。

break 和 continue:

break就直接結束迴圈,或結束語句。

1         int i = 0;
2         while (i >= 0) {
3             i = i + 1;
4             if (i == 10) {
5                 break;
6             }
7             System.out.println(i);
8         }

注意:i迭代到10後,執行break語句,程式就結束了,不會再執行輸出語句。

continue是結束本次迴圈,繼續下次迴圈。

 1 public static void main(String[] args) {
 2             // continue
 3             // 求一下100以內的偶數和  2+4+6+8+10+....+100
 4            int sum = 0;
 5            for (int i = 1; i <= 100; i++) {      // i= 1 2 3 4 5 6 7 8 9 10 ......
 6                //使用場景 奇數跳過去,不參與累加和
 7                if (i % 2 != 0) {   
 8                    continue;
 9                }
10                sum += i;    
11            }     
12 }

最後:

1.死迴圈:迴圈條件永遠為true,沒有結束條件的迴圈。例如:while(true){}

死迴圈一般要和跳出語句結合

2.迴圈巢狀:指一個迴圈體是另一個迴圈,迴圈的次數 = 外部迴圈次數 * 內部迴圈的次數

最經典的例子莫過於九九乘法表了。

1 for (int i = 1; i <= 9; i++) {
2             for (int j = 1; j <= i; j++) {
3                 System.out.print(i + "*" + j + "=" + (i * j) + " ");
4             }
5             System.out.println();
6 }