Java基礎(四)★流程控制

從控制檯獲取數據:

import java.util.Scanner;//導包語句
Scanner s = new Scanner(System.in);//輸入流
double d = s.nextDouble();   // 獲取小數
int i = s.nextInt();   // 獲取整數
String str = s.nextLine();  // 獲取一行
char c = (char)s.nextInt();

字符串拼接運算

String s = “a”;

s = s + “b”; -> s = “ab”

可以利用+將兩個字符串進行拼接,或者也可以利用+將任何數據與字符串進行拼接

流程控制

順序結構

是指代碼是從上倒下從左到右依次運行的

分支結構

判斷結構

if(邏輯值){
代碼塊;
}

執行順序:如果邏輯值爲true,執行對應的代碼塊,反之則不執行 


if結構的代碼塊只有一句的時候,{}可以省略不寫,但是最好寫上

if(邏輯值){
Code1;
} else {
Code2;
}

執行順序:如果邏輯值爲true,執行Code1;反之執行Code2 


練習:輸入三個數,獲取最大值

if(邏輯值1){
Code1;
} else if(邏輯值2){
Code2;
}...else {
Code;
}

執行順序:先執行邏輯值1,如果邏輯值1true,執行Code1;反之執行邏輯值2,如果邏輯值2true,執行Code2,以此類推

練習:輸入一個月份,輸出月份對應的季節 3-5-Spring 6-8-Summer 9-11-Autumn 12-2-Winter

選擇結構

switch(選中的項){
case 選項1: 代碼塊; break;
case 選項2: 代碼塊; break;
……
default:代碼塊;break;
}

選項的值只能是byte/short/char/int四種類型,JDK1.7開始,支持對String進行選擇,

JDK1.5開始,允許表達式的結果是枚舉常量

練習:計算器---一個符號和兩個數字 - 5 9-> 5 - 9 = -4

break關鍵字表示當前選項的結束,在switch語句中,如果case之後沒有break,那麼從匹配的case開始,依次往下執行,只有遇到了break語句或者執行switch語句的末尾纔會結束

如果每個case之後都有break的話,case之間的順序不影響最後的結果;

只要有一個或者一個以上的選項沒有break,那麼這時候順序會有影響

int i = s.nextInt();
// int j ;
switch(i){
case 1 : int j = 0; 
case 2 : j += 1; // 編譯報錯  可能尚未聲明變量j
case 3: j += 3; 
default : System.out.println(j);
 }

判斷的是一個範圍的時候,建議使用if-else-if結構;如果情況相對比較固定的時候,建議使用switch-case語句

循環結構

循環的三要素:定義循環變量;循環條件的控制;循環變量的改變

定義循環變量

while(判斷循環變量){
代碼塊;
}

執行順序:先判斷邏輯值。如果邏輯值爲true,執行Code,然後再次判斷邏輯值,如果爲true,繼續循環;如果爲false,循環結束

while語句中,如果代碼塊只有一句,{}也可以省略


 

練習:

1. 從控制檯輸入一個數字,求1-這個數字的和

2. 輸出500以內8的倍數

3. 輸入一個數字,輸出這個數字是幾位數---3463-4

4. 輸入一個數字,輸出各位數字之和--- 3463 - 16

5. 將一個數字轉化成二進制形式顯示


do{
Code;
} while(邏輯值);

執行順序:先執行Code,執行邏輯值,如果邏輯值爲true,再次執行Code,如果邏輯值爲false,結束循環

 

Code至少執行一次


for循環

普通for循環:

for(循環變量的定義; 循環條件的判斷;循環變量的改變){
Code ;
}

增強for循環:


循環的嵌套

循環結構中包含了其他的循環結構,形成了虛幻的嵌套。

練習:九九乘法表

1*1=1

1*2=2 2*2=4

1*3=3 2*3=6 3*3=9


/************************************/

當循環變量的改變相對比較規律的時候,建議使用for循環

當不知道循環次數的時候,建議使用while循環。

while循環,循環變量定義在循環外,循環結束之後循環變量依然可以使用;for循環的循環變量是定義在for循環裏邊的,循環結束之後,循環變量不能繼續使用

練習:

1. 打印300以內7的倍數

2. 判斷一個數是否是一個質數--一個數除了1和本身以外沒有別的因數

3. 打印九九乘法表

課後練習:

用一個循環打印九九乘法表


breakcontinue區別

break:用於選擇或者循環語句中,表示結束當前一層語句

continue:用於循環語句中,表示跳出當前循環繼續下次循環

這兩個關鍵字必須結合相應的語句使用,單獨存在沒有意義,因此單獨存在的時候編譯報錯

Java中支持對循環進行標號---要求看懂即可。


System.out.print();--廢話,廢話不允許存在--編譯報錯

int i  = 5;

while(true){}

System.out.println(i);--這句話編譯報錯---因爲永遠執行不到

循環支持標號形式

當需要一次性跳出多層循環的時候,可以使用標號形式。但是不推薦。降低了程序的閱讀性

練習:分解質因數 90 = 2 * 3 * 3 * 5

考慮用一個循環完成

 


 


發佈了1 篇原創文章 · 獲贊 12 · 訪問量 6801
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章