從控制檯獲取數據:
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,如果邏輯值1爲true,執行Code1;反之執行邏輯值2,如果邏輯值2爲true,執行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. 打印九九乘法表
課後練習:
用一個循環打印九九乘法表
break和continue區別
break:用於選擇或者循環語句中,表示結束當前一層語句
continue:用於循環語句中,表示跳出當前循環繼續下次循環
這兩個關鍵字必須結合相應的語句使用,單獨存在沒有意義,因此單獨存在的時候編譯報錯
Java中支持對循環進行標號---要求看懂即可。
System.out.print();--廢話,廢話不允許存在--編譯報錯
int i = 5;
while(true){}
System.out.println(i);--這句話編譯報錯---因爲永遠執行不到
循環支持標號形式
當需要一次性跳出多層循環的時候,可以使用標號形式。但是不推薦。降低了程序的閱讀性
練習:分解質因數 90 = 2 * 3 * 3 * 5
考慮用一個循環完成