第二天 Java流程控制
阿新 • • 發佈:2021-12-10
Java流程控制
-
使用者互動Scanner
-
可以獲取使用者的輸入 java.until.Scanner 通過Scanner來獲取使用者的輸入
-
基本語法: Scanner s = new Scanner(System.in)
-
通過Scanner 類的next()與nextLine()方法獲取輸入的字串,在讀取我們一般需要 使用hasNext()與hasnextLine()判斷是否還有輸入的資料
-
next()
- 一定要讀取到有效字元後才可以結束輸入
- 對輸入有效字元之前遇到的空白,next()方法會自動將其去掉
- 只有輸入有效字元後才將其後面輸入的空白作為分隔符或者結束符
- next()不能得到帶有空格的字串
package com.kuang.scanner; import java.util.Scanner; public class Demo01 { public static void main(String[] args) { //建立一個掃描器物件,用於接受鍵盤資料 Scanner scanner = new Scanner(System.in); System.out.println("使用next方式接收:"); //判斷使用者有沒有輸入字串 if (scanner.hasNext()){ //使用next方式進行接收 String str = scanner.next(); //程式會等待使用者輸入完畢 System.out.println("輸入的內容為:" + str); //輸入hello world 輸出為hello } //凡是屬於IO流的類,如果不關閉會一直佔用資源,要養成良好的習慣 scanner.close(); } }
-
nextLine()
- 1.以Enter為結束符,也就是說next Line()方法返回的是輸入回車之前所有的字串。
- 可以獲得空白
package com.kuang.scanner; import java.util.Scanner; public class Demo02 { public static void main(String[] args) { //從鍵盤接收資料 Scanner scanner = new Scanner(System.in); System.out.println("使用nextLine方式接收 :"); //判斷是否還有輸入 if (scanner.hasNextLine()){ String str = scanner.nextLine(); System.out.println("輸入的內容為 : " + str); //輸入hello world 輸出hello world } scanner.close(); } }
-
package com.kuang.scanner;
import java.util.Scanner;
public class Demo05 {
public static void main(String[] args) {
//我們可以輸入多個數字,並求和與平均數,每輸入一個數字用回車確認,通過輸入非數字來結束並輸出執行結果
Scanner scanner = new Scanner(System.in);
//和
double sum = 0;
//計算輸入多少個數字
int m = 0;
System.out.println("請輸入你的資料:");
//通過迴圈判斷是否還有資料輸入,並在裡面對每一次進行球和統計
while (scanner.hasNextDouble()){
double x =scanner.nextDouble();
m = m+1; //m++
sum = sum + x;
System.out.println("你輸入了第" + m + "個數據," + "當前結果為:" + sum);
}
System.out.println(m + "個數的和為: " + sum);
System.out.println(m + "個數的平均數為:" + (sum/m));
scanner.close();
}
}
- 順序結構
從上到下 按順序進行
package com.kuang.struct;
public class ShuXuDemo {
public static void main(String[] args) {
System.out.println("hello1");
System.out.println("hello2");
System.out.println("hello3");
System.out.println("hello4");
System.out.println("hello5");
- 選擇結構
- if單選擇結構:
package com.kuang.struct;
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();
if (s.equals("Hello")){
System.out.println(s);
}
System.out.println("End");
scanner.close();
}
}
- if雙選擇結構:
package com.kuang.struct;
import java.util.Scanner;
public class IfDemo02 {
public static void main(String[] args) {
//考試大於60及格,小於60不及格
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入你的分數:");
double v = scanner.nextDouble();
if (v >60){
System.out.println("你的成績為:"+ v + "成績已及格");
}else {
System.out.println("你的成績為:"+ v + "很抱歉,你的成績未及格");
}
scanner.close();
}
}
- if多選擇結構:
package com.kuang.struct;
import java.util.Scanner;
public class IfDemo03 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入你的成績");
double score = scanner.nextDouble();
if (score==100){
System.out.println("滿分");
}else if (score<100 && score>=90){
System.out.println("優秀");
}else if (score<90 && score>=80){
System.out.println("良");
}else if (score<80 && score>=70){
System.out.println("中");
}else if (score<70 && score>=60){
System.out.println("差");
}else if (score<00 && score>=0){
System.out.println("不及格");
}else{
System.out.println("輸入資料不合法!!,滿分為100分,請正確輸入!");
}
scanner.close();
}
}
- 巢狀的if結構
作業:查詢1-100之間的數(1-50 50-100)
-
Switch多選擇結構
-
多選擇結構還有一個實現方式就是switch case語句
-
switch case 語句是判斷一個變數與一系列值中某個值是否相等,,每一個值為一個分支
Switch(expression){
case value:
//語句
break;//可選
case value:
//語句
break;//可選
//你可以有任意數量的case語句
default://可選
//語句
}
- switch 語句中的變數型別可以是:
- byte short int 或者char
- 從JavaSE7開始支援String型別了
- 同時case標籤必須為字串常量或者字面量
執行例項及java反編譯
package com.kuang.struct;
import java.util.Scanner;
public class SwitchDemo02 {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("請輸入你的名字");
String name = scanner.next();
//JDK的新特性,表示式結果可以是字串
//字串的本質還是數字
//反編譯 Java..變為..class(位元組碼檔案) ----反編譯(用IDEA就可以實現)
/**
* IDEA反編譯方法:開啟程式碼out資料夾姜class檔案考入對應程式碼
* java資料夾即可用IDEA檢視,反編譯結束
*/
switch (name){
case "秦將":
System.out.println("秦將");
break;
case "狂神":
System.out.println("狂神");
break;
default:
System.out.println("你幹啥呢?");
}
}
}