日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

JavaSE——流程控制(接收输入Scanner、分支结构(if与switch)、循环结构(while、do-while与for))

發布時間:2024/7/23 java 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JavaSE——流程控制(接收输入Scanner、分支结构(if与switch)、循环结构(while、do-while与for)) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

第3節 流程控制

一、接收用戶輸入

使用Scanner類來接收用戶的輸入。

新建一個Scanner對象:Scanner input = new Scanner(System.in);

input可以接收各種數據類型的輸入:比如nextInt、nextByte等,但是這樣不太安全,因為如果輸入了別的類型的數據,代碼就會直接報錯;

所以比較常用的是next()和nextLine(),它們都返回的是String類型;

  • 其中next會從第一個不為空格的字符開始接收,然后遇到空格或換行符結束接收;

  • nextLine會接收一整行內容,直到遇到換行符結束接收;

  • 注意不要同時使用next和nextLine,會得不到想要的結果。

import java.util.Scanner;public class input {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("請輸入next接收的內容:");String str1 = input.next();System.out.println(str1);} }

結果如下:

請輸入next接收的內容:24dg 78tyu 24dg import java.util.Scanner;public class input {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("請輸入nextLine接收的內容:");String str2 = input.nextLine();System.out.println(str2);} }

結果如下:

請輸入nextLine接收的內容:ud78 56dgy__@#$ !~ud78 56dgy__@#$ !~

二、執行結構

1996 年, 計算機科學家 Bohm 和 Jacopini 證明了: 任何簡單或復雜的算法都可以由順序結構、 分支結構和循環結構這三種基本結構組合而成。它們的共同點是都包含一個入口和一個出口, 它們的每個代碼都有機會被執行, 不會出現死循環。
  • 順序結構 :一種基本的控制結構,按照語句出現的順序執行操作;

  • 分支結構 :又稱為選擇結構,根據條件成立與否來執行操作;

  • 循環結構 :一種重復結構,如果條件成立,它會重復執行某一循環體,直到出現不滿足的條件為止。

三、分支結構

3.1 if條件語句

if 條件結構是根據條件判斷之后再做處理

  • if(條件語句){…}

  • if (條件語句){…}else{…}

  • if (條件語句){…}else if(條件語句){…}

  • if (條件語句){…}else if(條件語句){…}else{…}

例子: 用戶輸入學生成績, 判斷成績是否及格, 判斷條件為 優良: > 90、 良好: 81-90、 中: 60-80、 不及格: <60

import java.util.Scanner;public class ifelse {public static void main(String[] args) {System.out.println("請輸入考試成績:");Scanner input = new Scanner(System.in);int s = input.nextInt();if(s >= 120 || s < 0) {System.out.println("輸入成績有誤!");}else if(s >= 90) {System.out.println("成績優秀!");}else if(s >= 80) {System.out.println("成績良好!");}else if(s >= 70) {System.out.println("成績合格!");}else {System.out.println("成績不合格!");}} }

3.2 switch語句

switch(表達式){ case 取值 1: 語句塊 1;break; case 取值 n: 語句塊 n;break; default: 語句塊 n+1;break; }

switch 語句有關規則

  • 表達式的返回值必須是下述幾種類型之一: int, byte, char, short,String;

  • case 子句中的取值必須是常量, 且所有 case 子句中的取值應是不同的;

  • default 子句是可選的;

  • break 語句用來在執行完一個 case 分支后使程序跳出 switch 語句塊; 如果 case 后面沒有寫 break 則直接往下面執行!

  • case 后面的執行體可寫{ }也可以不寫{ }

例題: 多分支月份輸出天數(充分利用語句特性)

import java.util.Scanner;public class switchcase {public static void main(String[] args) {System.out.println("請輸入一個月份(1-12):");Scanner input = new Scanner(System.in);String text = input.next();switch (text) {case "1":case "2":case "3":System.out.println("春季");break;case "4":case "5":case "6":System.out.println("夏季");break;case "7":case "8":case "9":System.out.println("秋季");break;case "10":case "11":case "12":System.out.println("冬季");break;default:System.out.println("輸入月份有誤!");break;}} }

四、循環結構

**循環語句功能 **

????在循環條件滿足的情況下, 反復執行特定代碼

**循環語句分類 **

  • for 循環

  • while 循環

  • do/while 循環

4.1 while循環語句

符合條件, 循環繼續執行; 否則, 循環退出

特點: 先判斷, 再執行

語法:

while(條件表達式){ //語句塊; }

使用 while 循環的步驟
1、 分析循環條件和循環操作
2、 套用 while 語法寫出代碼
3、 檢查循環是否能夠退出

實現示例:

錄入班級人數和學員成績, 計算班級學員的平均成績

import java.util.Scanner;public class whiledemo {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.out.println("請輸入班級總人數");//使用變量studentNum記錄班級總人數int studentNum = input.nextInt();//用于記錄循環的次數,以及控制循環何時結束int i = 0;//定義變量sum,用于統計總分數int sum = 0;while(i < studentNum) {i++;System.out.println("請輸入第"+i+"個學生的成績:");int s = input.nextInt();sum += s;}System.out.println("學生的平均成績為:"+sum/studentNum);} }

4.2 do-while循環語句

先執行一遍循環操作, 符合條件, 循環繼續執行; 否則, 循環退出

特點: 先執行, 再判斷

語法:

do { //循環操作 }while ( 條件表達式 );

**while 循環和 do-while 循環的區別? **

  • while:先判斷條件, 如果條件滿足, 再執行循環操作

  • do while:先執行一遍循環操作, 然后再判讀條件, 如果條件滿足, 繼續執行循環操作。

4.3 for循環語句

語法:

for(初始化參數; 判斷條件; 更新循環變量){ //循環體; }

4.4 break與continue

break是用于終止本輪所有次循環,即不執行本次循環中break后面的語句,直接退出循環;

continue是用于終止本輪本次循環,即本次循環中continue后面的代碼不執行,進行下一次循環的入口判斷。

4.5 如何退出多重循環

在要退出到的地方起個別名,然后break XXX;

public class exit_many_xunhuan {public static void main(String[] args) {haha:for(int i=0;i<10;i++) {for(int j=0;j<10;j++) {System.out.println("i="+i+" , j="+j);if (i==5 && j==5) {break haha;}}}} }

補充:如何判斷用戶輸入類型

import java.util.Scanner;public class panduan_input_leixing {public static void main(String[] args) {System.out.println("請輸入一個數字:");Scanner input = new Scanner(System.in);//在接收輸入之前判斷輸入的類型是否為intif(input.hasNextInt()) {int num = input.nextInt();System.out.println("你輸入的是:"+num);}else {System.out.println("你輸入的類型不是int");}} }

總結

以上是生活随笔為你收集整理的JavaSE——流程控制(接收输入Scanner、分支结构(if与switch)、循环结构(while、do-while与for))的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。