Java小白學習中0456
阿新 • • 發佈:2021-07-14
偷懶了好多天吶呀 >-<
四. java流程控制
1. 使用者互動 Scanner
-
通過Scanner 類來獲取使用者的輸入
-
基本語法:
1 Scanner s = new Scanner (System.in);
-
- ①next():
-
一定要讀取到有效字元後才可以結束輸入。
-
對輸入有效字元之前遇到的空白,net()方法會自動將其去掉。
-
只有輸入有效字元後才將其後面輸入的空白作為分隔符或結束符。
-
-
import java.util.Scanner; public class Demo01 { public static void main(String[] args) { //建立一個掃描器物件,用於接受鍵盤資料 Scanner scanner = new Scanner(System.in);// 輸入new Scanner(System.in); 點選 alt+enter// System.in用於接收資料 System.out.println("使用next方式接收:");
-
以enter為結束符,也就是nextLine() 方法返回的是輸入回車之前的所有字元。
-
-
import java.util.Scanner; public class Demo02 { public static void main(String[] args) { //從鍵盤接收資料 Scanner scanner = new Scanner(System.in); System.out.println("使用nextLin方式接收:"); //判斷是否還有輸入 if (scanner.hasNextLine()){ String str = scanner.nextLine(); System.out.println("輸出內容為:"+ str); } scanner.close(); } }
import java.util.Scanner; public class Demo03 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("使用nextLin方式接收:"); String str = scanner.nextLine();//可以不用if,直接用 System.out.println("輸出內容為:"+ str); scanner.close(); } }
- 公式為:
-
new Scanner(System.in); System.out.println("使用 方式接收:"); scanner.next();//scanner.nextLine(); System.out.println("輸出的內容為:"+);
-
- nextInt() nextFloat()
-
import java.util.Scanner; public class Demo04 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //從鍵盤接收資料 int i = 0; float f = 0.0f; System.out.println("輸入一個整數:"); if (scanner.hasNextInt()){ i = scanner.nextInt(); System.out.println("輸出的內容為:"+i); }else{ System.out.println("輸出的內容不是整數"); } System.out.println("輸入一個小數:"); if (scanner.hasNextFloat()){ f = scanner.nextFloat(); System.out.println("輸出的內容為:"+f); }else{ System.out.println("輸出的內容不是小數"); } scanner.close(); } }
-
- 練習:
-
import java.util.Scanner; public class Demo05 { //輸入多個數字,並求其總和與平均值,每輸入一個數字用回車確認,通過輸入非數字來結束輸入並輸出執行結果 public static void main(String[] args) { Scanner scanner = new Scanner(System.in); //計算輸入多少個數 int m = 0; //和 double sum = 0; System.out.println("請輸入資料:"); //通過while迴圈判斷是否還有輸入,並在裡面對每一項進項求和統計 while (scanner.hasNextDouble()){ double x = scanner.nextDouble(); m += 1;// m = m + 1 // m++ sum += x;// sum = sum + x System.out.println("你輸入了第"+m+"個數據,當前和為"+sum); } System.out.println(m+"個數的和為:"+sum); System.out.println(m+"個數的平均值為:"+(sum/m)); scanner.close(); } }
-
2.順序結構
- java 的基本結構就是順序結構,除非特別指明,否則就是按著順序從上到下依次執行。
- 它是任何一個演算法都離不開的一種基本演算法結構。
-
-
需要判斷一個東西是否可行,我們才能去執行
-
if(布林表示式){ //如果布林表示式為true將執行的語句 }
- 舉例:
import java.util.Scanner; public class IfDemo01 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("請輸入內容:"); String s = scanner.nextLine(); //equals :判斷字串是否相等 if (s.equals("Hello")){ System.out.println(s); } System.out.println("end"); scanner.close(); } }
-
-
雙向選擇 if-else
-
if(布林表示式){ //如果布林表示式的值為true }else{ //如果布林表示式的值為false }
import java.util.Scanner; public class IfDemo02 { public static void main(String[] args) { //考試分數大於60為及格,反之為不及格 Scanner scanner = new Scanner(System.in); System.out.println("請輸入成績:"); int score = scanner.nextInt(); if (score>60){ System.out.println("及格"); }else{ System.out.println("不及格"); } scanner.close(); } }
-
-
-
有多個選擇時
-
if(布林表示式 1){ //如果布林表示式 1的值為true執行程式碼 }else if(布林表示式 2){ //如果布林表示式 2的值為true執行程式碼 }else if(布林表示式 3){ //如果布林表示式 3的值為true執行程式碼 }else { //如果以上布林表示式都不為true執行程式碼 }
- 練習:
import java.util.Scanner; public class IfDemo03 { public static void main(String[] args) { //成績等級劃分 Scanner scanner = new Scanner(System.in); System.out.println("請輸入成績:"); int score = scanner.nextInt(); if(score == 100){ System.out.println("恭喜滿分"); }else if (score < 100 && score >= 90){ System.out.println("A級"); }else if (score < 90 && score >= 80){ System.out.println("B級"); }else if (score < 80 && score >= 70){ System.out.println("C級"); }else if (score < 70 && score >= 60){ System.out.println("D級"); }else if (score < 60 && score >= 0){ System.out.println("不及格"); }else{ System.out.println("資料錯誤"); } scanner.close(); } }
-
-
-
可在另一個if或者else-if語句中使用if或else-if語句
-
if(布林表示式 1){ //如果布林表示式 1 為true執行程式碼 if(布林表示式 2){ //如果布林表示式 2 為true執行程式碼 } }
-