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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

流程控制学习

發布時間:2023/12/14 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 流程控制学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

流程控制學習

Scanner

  • 我們可以通過Scanner類來獲取用戶的輸入
  • 基本用法:Scanner s=new Scanner(System.in);
  • 用Next()方式接收
  • package com.zhao.control;import java.util.Scanner;public class control01 {public static void main(String[] args) {//scanner//創建一個掃描器對象,用于接收鍵盤數據Scanner scanner=new Scanner(System.in);System.out.println("使用next方式接收");//判斷用戶有沒有字符串輸入if (scanner.hasNext()){//使用next方式接收String str=scanner.next();//程序會等待用戶輸入完畢System.out.println("輸出的內容為:"+str);}//凡是屬于IO流的類如果不關閉會一直占用資源,要養成良好的習慣,用完關掉scanner.close();} } //輸入hello world后 輸出hello(以空白為結束符)
  • 用Nextline方式接收
  • package com.zhao.control;import java.util.Scanner;public class control02 {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(以回車為結束符)
    • next和nextline的區別

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-DQdrZfIQ-1616918026749)(C:\Users\pencil\AppData\Roaming\Typora\typora-user-images\image-20210327095120500.png)]

    package com.zhao.control;import java.util.Scanner;public class control03 {public static void main(String[] args) {//從鍵盤接受數據Scanner scanner=new Scanner(System.in);System.out.println("請輸入數據:");String str=scanner.nextLine();System.out.println("輸出內容為:"+str);}}
  • Scanner進階
    • Next+······
    package com.zhao.control;import java.util.Scanner;public class control05 {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();} }
    • 與while循環結合
    package com.zhao.control;import java.util.Scanner;public class control06 {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="+sum);}System.out.println(m+"個數的和為"+sum);System.out.println(m+"個數的平均數為"+(sum/m));scanner.close();} }

    順序結構

    • java的基本結構就是順序結構,除非特別指明,否則Juin按照順序一句一句執行。
    • 順序機構是最簡單的算法結構
    • 語句與語句之間,框與框之間是按照從上到下的順序進行的,它是由若干個一次執行的處理步驟組成的,它是任何一個算法都離不開一種基本算法結構。
    package com.zhao.struct;public class ShunXvDemo01 {public static void main(String[] args) {//順序結構System.out.println("hello1");System.out.println("hello2");System.out.println("hello3");System.out.println("hello4");} }

    選擇結構

    • if單選擇結構
    • if雙選擇結構
    • if多選擇結構
    • 嵌套的if結構
    • switch多選擇結構
  • if單選擇結構
  • package com.zhao.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(); //equals:判斷字符串是否相等if (s.equals("Hello")) {System.out.println(s);}System.out.println("End");scanner.close();}}
  • if雙選擇結構
  • package com.zhao.struct;import java.util.Scanner;public class IfDemo02 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);//考試成績大于60分就是及格,否則就是不及格System.out.println("請輸入考試成績:");double x=scanner.nextDouble();if (x>60){System.out.println("及格");}else{System.out.println("不及格");} scanner.close();} }
  • if多選擇結構
  • package com.zhao.struct;import java.util.Scanner;public class IfDemo03 {public static void main(String[] args) {Scanner scanner=new Scanner(System.in);//考試成績使用if多選擇結構分多種情況System.out.println("請輸入考試成績:");double x=scanner.nextDouble();/*1.if語句至多有一個else語句,else語句在所有的else if語句之后。2.if語句可以有若干個else if語句,他們必須在else語句之前。3.一旦其中一個else if語句檢測為true,其他else if直接跳過。*/if (x==100){System.out.println("恭喜滿分");}else if(x>=90&&x<100){System.out.println("優秀");}else if(x<90&&x>60){System.out.println("及格");}else if(x>=0&&x<60){System.out.println("不及格");}else {System.out.println("成績不合法");}scanner.close();} }
  • 嵌套的if結構
    • if里面套一個if
    • 提高效率
  • switch多選擇結構(匹配值具體的一個值)
    • 實現方式:switch case語句
    • switch case語句判斷一個變量與一系列值中某個值是否相等,每個值稱為一個分支。
    • switch語句中變量可以是:
  • byte short int char
  • 從java SE 7開始
  • switch 支持字符串String類型了
  • 同時case標簽必須為字符串常量或字面量
  • package com.zhao.struct;public class SwitchDemo01 {public static void main(String[] args) {//case穿透 //switch 匹配一個具體的值char grade='B';switch(grade){case'A':System.out.println("優秀");break;case'B':System.out.println("良好");break;case'C':System.out.println("及格");break;case'D':System.out.println("再接再厲");break;case'E':System.out.println("掛科");break;default:System.out.println("未知等級");}} } package com.zhao.struct;public class SwitchDemo02 {public static void main(String[] args) {//jdk7的新特性,表達式可以是字符串//字符的本質還是數字//反編譯 java---class(字節碼文件)---反編譯(idea)String name = "zhao";switch (name) {case"tong":System.out.println("tong");break;case"zhao":System.out.println("zhao");break;default:System.out.println("出錯了!");break;}} }
    • 反編譯 java—class(字節碼文件)—反編譯(idea)(打開源碼文件)
  • 選擇項目結構
  • 復制項目輸出路徑
  • 打開項目路徑
  • 打開java文件夾的文件夾位置
  • 把class文件復制到Java文件的文件夾中
  • 打開idea中新出現的----.class文件
    • 用SwitchDemo02舉例
    // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) //package com.zhao.struct;public class SwitchDemo02 {public SwitchDemo02() {}public static void main(String[] args) {String name = "zhao";byte var3 = -1;switch(name.hashCode()) {case 3565940:if (name.equals("tong")) {var3 = 0;}break;case 3737564:if (name.equals("zhao")) {var3 = 1;}}switch(var3) {case 0:System.out.println("tong");break;case 1:System.out.println("zhao");break;default:System.out.println("出錯了!");}} }

    循環結構

    • while循環
    • do while循環
    • for循環
    • 在java5中引入了一種主要用于數組的增強型for循環
  • while是最基本的循環
    • 形式:while(布爾值){循環內容}

    • 只要布爾值表達為true,循環會一直進行下去

    • 但大部分時候還是會讓它停下來,用表達式失效的方式來結束循環

    正常循環:

    package com.zhao.struct;public class While01 {public static void main(String[] args) {int i=0;while(i<=100){System.out.println(i);i++;}} }

    死循環:

    package com.zhao.struct;public class While02 {public static void main(String[] args) {//死循環while(true){System.out.println("O");//等待客戶連接//定時檢查//一般要避免死循環}} }

    練習從1加到一百:

    package com.zhao.struct;public class While03 {public static void main(String[] args) {int i=1;int sum=0;while(i<=100){sum=sum+i;System.out.println("目前i="+i);i++;System.out.println("目前的和為:"+sum);}} }
  • do while循環(與while區別在于執行代碼的順序)
    • 對于while語句而言,如果不滿足條件,則不能進入循環。有時候我們需要即使不滿足條件,也需要程序至少執行一次。
    • do while循環和while循環相似,不同的是 do while循環至少會執行一次。
    • 形式:do{代碼語句}while(布爾表達式);

    把從一加到一百變形:

    package com.zhao.struct;public class Dowhile01 {public static void main(String[] args) {int i=1;int sum=0;do{sum=sum+i;System.out.println("目前i="+i);i++;System.out.println("目前的和為:"+sum);}while(i<=0);}//輸出結果為sum=1 }
  • for循環(重點)
    • 雖然循環結構都可以用while或者do while表示,但是java提供了另外一種語句—for循環,使一些循環結構變得更簡單。、
    • for循環語句是支持迭代的一種通用結構,是最有效、最靈活的循環結構
    • for循環執行的次數是在執行前就確定的
    • 語法格式:for(初始值;布爾值;更新){代碼語句}
    \package com.zhao.struct;public class ForDemo01 {public static void main(String[] args) {//初始化條件int a=1;while(a<=100)//條件判斷{System.out.println(a);//循環體a+=2;}//迭代System.out.println("while循環結束!");//快捷鍵:100.for-----:for(int i=1;i<100;i++){System.out.println(i);}System.out.println("for循環結束!");for (int o = 0; o < 150; o++) {System.out.println(o);}/*關于for循環有以下幾點說明* 最先執行初始化步驟,可以聲明一種類型,但可初始化一個或多個循環控制變量,也可以是空語句* 然后,檢測布爾表達式的值,如果為true,循環體被執行,如果為false,循環終止,開始執行循環體后面的語句* 執行一次后,更新循環控制變量(迭代因子控制循環變量的增減)* 再次檢測布爾值,循環以上內容*/} }

    練習題:

    package com.zhao.struct;public class ForDemo02 {public static void main(String[] args) {//練習1:計算零到一百之間奇數的和,偶數的和int oddsum=0;int evensum=0;for (int i = 0; i <=100; i+=2) {oddsum=oddsum+i;}System.out.println("偶數的和為:"+oddsum);for (int i = 1; i <=100; i+=2) {evensum=evensum+i;}System.out.println("奇數的和為:"+evensum);} } package com.zhao.struct;public class ForDemo03 {public static void main(String[] args) {//練習二:用while或for循環循環輸出1-1000之間能被5整除的數,并且每行輸出三個for (int i = 0; i <=1000; i++) {if(i%5==0){System.out.print(i+"\t");}if(i%15==0){System.out.println();}}} }

    練習三:打印九九乘法表(較難)

    package com.zhao.struct;public class ForDemo04 {public static void main(String[] args) {//打印第一列//把固定的1用一個循環包起來//去掉重復項i<=j//調整樣式for (int j = 1; j <=9; j++) {for (int i = 1; i <=j; i++) {System.out.print(i+"*"+j+"="+(j*i)+"\t");}System.out.println();}}}

    [外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片保存下來直接上傳(img-C7TYZa6C-1616918026756)(C:\Users\pencil\AppData\Roaming\Typora\typora-user-images\image-20210327124411933.png)]

  • 增強for循環(了解)
  • package com.zhao.struct;public class ForDemo05 {public static void main(String[] args) {int[]numbers={10,20,30,40,50};//定義了一個數組for (int i=0;i<5;i++){System.out.println(numbers[i]);}//遍歷數組的元素for (int x:numbers){System.out.println(x);}} }

    break continue

    • break在任何循環語句的主體部分,均可用break控制循環的流程。break用于強行退出循環,不執行循環中剩余語句(break語句也在switch語句中使用)
    • continue語句在循環語句中用,用于終止某次循環,即跳過循環體中尚未執行的語句,接著進行是否執行下一次循環的判定
    • 關于goto關鍵字:goto關鍵字很早就在程序設計語句中出現。盡管goto仍是java的一個,但是并未在語言中得到正式使用;java沒有goto。然而,在break和continue這兩個關鍵字身上,我們仍然能看到一些goto的影子,帶標簽的break和continue。
    • “標簽”是指后面跟一個冒號的標識符,例如:label:
    • 對java來說唯一用到標簽的的地方是在循環語句之前。而在循環之前設置標簽的唯一理由是:我們希望在其中嵌套另一個循環,由于break和continue關鍵字通常只中斷當前循環,但若隨同標簽使用,他們就會中斷到存在標簽的地方。

    break:

    package com.zhao.struct;public class Break {public static void main(String[] args) {int i = 0;while (i < 100) {i++;System.out.println(i);if (i == 30) {break;//終止循環,并非終止程序}}System.out.println("====");} }

    continue:

    package com.zhao.struct;public class Continue {public static void main(String[] args) {int i=0;while(i<100){i++;if(i%10==0){System.out.println();continue;//碰到他,就回到循環最開始的地方}System.out.println();}} }

    練習:打印三角形

    package com.zhao.struct;public class TestDemo01 {//打印三角形 5行public static void main(String[] args) {for (int i = 0; i <=5; i++) {for (int j=5;j>=i;j--){System.out.print(" ");}for (int j=1;j<=i;j++){System.out.print("*");}for (int j=1;j<i;j++){System.out.print("*");}System.out.println();}} }

    總結

    以上是生活随笔為你收集整理的流程控制学习的全部內容,希望文章能夠幫你解決所遇到的問題。

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