亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java程序順序結(jié)構(gòu)中邏輯控制語(yǔ)句詳解流程

 更新時(shí)間:2021年10月23日 10:17:33   作者:粉色的志明  
在程序開(kāi)發(fā)的過(guò)程之中一共會(huì)存在有三種程序邏輯:順序結(jié)構(gòu)、分支結(jié)構(gòu)、循環(huán)結(jié)構(gòu),對(duì)于之前所編寫(xiě)的代碼大部分都是順序結(jié)構(gòu)的定義,即:所有的程序?qū)凑斩x的代碼順序依次執(zhí)行

看前欣賞美圖!

在這里插入圖片描述

上才藝!

目錄 一.順序結(jié)構(gòu)二.分支結(jié)構(gòu)1.if語(yǔ)句2.switch 語(yǔ)句 三. 循環(huán)結(jié)構(gòu)1 .while 循環(huán)2. break3. continue4.for循環(huán)5.do while循環(huán) 四.輸入輸出1.輸出到控制臺(tái)2 .從鍵盤(pán)輸入 五.練習(xí)

一.順序結(jié)構(gòu)

順序結(jié)構(gòu)比較簡(jiǎn)單. 像我們之前寫(xiě)過(guò)的代碼就是順序結(jié)構(gòu)的, 按照代碼書(shū)寫(xiě)的順序一行一行執(zhí)行就可以了

        System.out.println("1");
        System.out.println("2");
        System.out.println("3");
        System.out.println("4");    //順序結(jié)構(gòu)`

結(jié)果:

在這里插入圖片描述

二.分支結(jié)構(gòu)

1.if語(yǔ)句

基本語(yǔ)法形式1

在這里插入圖片描述

基本語(yǔ)法形式2

在這里插入圖片描述

基本語(yǔ)法形式3

在這里插入圖片描述

代碼示例: 判定一個(gè)數(shù)字是奇數(shù)還是偶數(shù)

 public static void main(String[] args) {
        int n = 10;
        if(n % 2 == 0){  //黃色框框是一個(gè)警告,計(jì)算機(jī)覺(jué)得它一定是真的
            System.out.println("偶數(shù)");
        }
        else{
            System.out.println("奇數(shù)");
        }
    }

結(jié)果:

在這里插入圖片描述

2.switch 語(yǔ)句

基本語(yǔ)法:

switch(整數(shù)|枚舉|字符|字符串){
case 內(nèi)容1 : {
內(nèi)容滿(mǎn)足時(shí)執(zhí)行語(yǔ)句;
[break;]
}
case 內(nèi)容2 : {
內(nèi)容滿(mǎn)足時(shí)執(zhí)行語(yǔ)句;
[break;]
}

default:{
內(nèi)容都不滿(mǎn)足時(shí)執(zhí)行語(yǔ)句;
[break;]
}
}

代碼示例: 根據(jù) day 的值輸出星期

public static void main(String[] args) {
        int day = 1;
        switch(day) {
          case 1:
              System.out.println("星期一");
                break;
          case 2:
              System.out.println("星期二");
                break;
          case 3:
              System.out.println("星期三");
                break;
          case 4:
              System.out.println("星期四");
                break;
          case 5:
              System.out.println("星期五");
                break;
          case 6:
              System.out.println("星期六");
                break;
          case 7:
              System.out.println("星期日");
               break;
          default:
              System.out.println("輸入有誤");
               break;
        }
    }

結(jié)果:

在這里插入圖片描述

根據(jù) switch 中值的不同, 會(huì)執(zhí)行對(duì)應(yīng)的 case 語(yǔ)句. 遇到 break 就會(huì)結(jié)束該 case 語(yǔ)句.
如果 switch 中的值沒(méi)有匹配的 case, 就會(huì)執(zhí)行 default 中的語(yǔ)句.
我們建議一個(gè) switch 語(yǔ)句最好都要帶上 default
注意事項(xiàng)1 break 不要遺漏, 否則會(huì)失去 “多分支選擇” 的效果
注意事項(xiàng)2 switch 中的值只能是 整數(shù)|枚舉|字符|字符串
注意事項(xiàng)3 switch 不能表達(dá)復(fù)雜的條件
注意事項(xiàng)4 switch 雖然支持嵌套, 但是很丑~

三. 循環(huán)結(jié)構(gòu)

1 .while 循環(huán)

基本語(yǔ)法格式:
while(循環(huán)條件){
循環(huán)語(yǔ)句;
}
循環(huán)條件為 true, 則執(zhí)行循環(huán)語(yǔ)句; 否則結(jié)束循環(huán)。
代碼示例1: 計(jì)算 1 - 100的數(shù)字之和

 public static void main(String[] args) {
        int n = 1;
        int result = 0;
        while (n <= 100) {
            result += n;
            n++;
        }
        System.out.println(result);
    }

結(jié)果:

在這里插入圖片描述

代碼示例2: 計(jì)算 1! + 2! + 3! + 4! + 5!

public static void main(String[] args) {
        int num = 1;
        int sum = 0;
// 外層循環(huán)負(fù)責(zé)求階乘的和
        while (num <= 5) {
            int factorResult = 1;
            int tmp = 1;
            // 里層循環(huán)負(fù)責(zé)完成求階乘的細(xì)節(jié).
            while (tmp <= num) {
                factorResult *= tmp;
                tmp++;
            }
            sum += factorResult;
            num++;
        }
        System.out.println("sum = " + sum);
    }

結(jié)果:

在這里插入圖片描述

這里我們發(fā)現(xiàn), 當(dāng)一個(gè)代碼中帶有多重循環(huán)的時(shí)候, 代碼的復(fù)雜程度就大大提高了. 而比較復(fù)雜的代碼就更容易出錯(cuò).
后面我們會(huì)采用更簡(jiǎn)單的辦法來(lái)解決這個(gè)問(wèn)題

注意事項(xiàng)

  • 和 if 類(lèi)似, while 下面的語(yǔ)句可以不寫(xiě) { } , 但是不寫(xiě)的時(shí)候只能支持一條語(yǔ)句. 建議還是加上 { }
  • 和 if 類(lèi)似, while 后面的 { 建議和 while 寫(xiě)在同一行.
  • 和 if 類(lèi)似, while 后面不要多寫(xiě) 分號(hào), 否則可能導(dǎo)致循環(huán)不能正確執(zhí)行
int num = 1; 
while (num <= 10); { 
 System.out.println(num); 
 num++; 
}

// 執(zhí)行結(jié)果
[無(wú)任何輸出, 程序死循環(huán)]

此時(shí) ; 為 while 的語(yǔ)句體(這是一個(gè)空語(yǔ)句), 實(shí)際的 { } 部分和循環(huán)無(wú)關(guān). 此時(shí)循環(huán)條件 num <= 10 恒成立, 導(dǎo)致代碼死循環(huán)了.

2. break

break 的功能是讓循環(huán)提前結(jié)束.

代碼示例: 找到第一個(gè) 3 的倍數(shù)

 //找到第一個(gè)被3整除的數(shù)
    public static void main(String[] args) {
        int i = 1;
        while(i<=10){
            if(i%3==0){
                System.out.println(i);
                break;  //結(jié)束所有的循環(huán)
            }
            i++;
        }
    }

結(jié)果:

在這里插入圖片描述

3. continue

continue 的功能是跳過(guò)這次循環(huán), 立即進(jìn)入下次循環(huán).
代碼示例: 找到 1-10中所有 3 的倍數(shù)

 public static void main(String[] args) {
        int i = 1;
        while(i<=10){
            if(i%3!=0){
                i++;
               continue;  //結(jié)束本趟循環(huán)
            }
            System.out.println(i);
            i++;
        }
    }

結(jié)果:

在這里插入圖片描述

4.for循環(huán)

基本語(yǔ)法
for(表達(dá)式1;表達(dá)式2;表達(dá)式3){
循環(huán)體;
}
表達(dá)式1: 用于初始化循環(huán)變量.
表達(dá)式2: 循環(huán)條件.
表達(dá)式3: 更新循環(huán)變量.
相比于 while 循環(huán), for 循環(huán)將這三個(gè)部分合并在一起, 寫(xiě)代碼時(shí)不容易遺漏.

**代碼示例1:**計(jì)算1-100的和

 public static void main(String[] args) {
        int sum = 0;
        for (int i = 1; i <= 100; i++) {
            sum += i;
        }
        System.out.println(sum);
    }

結(jié)果:

在這里插入圖片描述

代碼示例2: 計(jì)算 5 的階乘

 public static void main(String[] args) {
        int result = 1;
        for (int i = 1; i <= 5; i++) {
            result *= i;
        }
        System.out.println("result = " + result);
    }

結(jié)果:

在這里插入圖片描述

注意事項(xiàng) (和while循環(huán)類(lèi)似)

  • 和 if 類(lèi)似, for 下面的語(yǔ)句可以不寫(xiě) { } , 但是不寫(xiě)的時(shí)候只能支持一條語(yǔ)句. 建議還是加上 { }
  • 和 if 類(lèi)似, for 后面的 { 建議和 while 寫(xiě)在同一行.
  • 和 if 類(lèi)似, for 后面不要多寫(xiě) 分號(hào), 否則可能導(dǎo)致循環(huán)不能正確執(zhí)行

5.do while循環(huán)

基本語(yǔ)法
do{
循環(huán)語(yǔ)句;
}while(循環(huán)條件);
先執(zhí)行循環(huán)語(yǔ)句, 再判定循環(huán)條件

**代碼示例:**打印1-10

public static void main(String[] args) {
        int num = 1;
        do {
            System.out.print(num+" ");
            num++;
        } while (num <= 10);
    }

結(jié)果:

在這里插入圖片描述

有一點(diǎn)注意一下

public static void main21(String[] args) {
        int i=0;
        do{
            System.out.println("haha");
        }while(i!=0);   //最少都要執(zhí)行一次
    }

在這里插入圖片描述

它最少都要執(zhí)行一次。

注意事項(xiàng)

  • do while 循環(huán)最后的分號(hào)不要忘記
  • 一般 do while 很少用到, 更推薦使用 for 和 while.

四.輸入輸出

1.輸出到控制臺(tái)

基本語(yǔ)法

System.out.println(msg); // 輸出一個(gè)字符串, 帶換行
System.out.print(msg); // 輸出一個(gè)字符串, 不帶換行
System.out.printf(format, msg); // 格式化輸出

println 輸出的內(nèi)容自帶 \n, print 不帶 \n
printf 的格式化輸出方式和 C 語(yǔ)言的 printf 是基本一致的

代碼示例:

 public static void main(String[] args) {
        System.out.println("hello world");
        System.out.print("hello world ");
        int x = 10;
        System.out.printf("x = %d\n", x);
    }

結(jié)果:

在這里插入圖片描述

格式化字符串

在這里插入圖片描述

沒(méi)必要太用心記,用的時(shí)候查一下就知道了。

2 .從鍵盤(pán)輸入

使用 Scanner 讀取字符串/整數(shù)/浮點(diǎn)數(shù)
代碼示例:

public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請(qǐng)輸入你的姓名:");
        String name = sc.nextLine();
        System.out.println("請(qǐng)輸入你的年齡:");
        int age = sc.nextInt();
        System.out.println("請(qǐng)輸入你的工資:");
        float salary = sc.nextFloat();
        System.out.println("你的信息如下:");
        System.out.println("姓名: "+name+"\n"+"年齡:"+age+"\n"+"工資:"+salary);
        sc.close();
    }

結(jié)果:

在這里插入圖片描述

五.練習(xí)

這里給大家做幾個(gè)高頻練習(xí)題:

1.根據(jù)年齡, 來(lái)打印出當(dāng)前年齡的人是少年(低于18), 青年(19-28), 中年(29-55), 老年(56以上)
代碼實(shí)現(xiàn):

 public static void main5(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int Age = scanner.nextInt();
        while(Age>0) {
            if ( Age <= 18) {
                System.out.println("少年");
                break;
            } else if (Age > 18 && Age <= 28) {
                System.out.println("青年");
                break;
            } else if (Age > 28 && Age <= 55) {
                System.out.println("中年");
                break;
            } else {
                System.out.println("老年");
                break;
            }
        }
    }

打印結(jié)果:

在這里插入圖片描述

2. 判定一個(gè)數(shù)字是否是素?cái)?shù)
代碼實(shí)現(xiàn):

  public static void main4(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int Num = scanner.nextInt();
        int i;
        for (i = 2; i < Num; i++) {
            if (Num % i == 0) {
                System.out.println(Num + "不是素?cái)?shù)");
                break;
            }
        }
        if (Num==i){
            System.out.println(Num+"是素?cái)?shù)");

        }
    }

打印結(jié)果:

在這里插入圖片描述

3.輸出乘法口訣表

代碼實(shí)現(xiàn):

 public static void main(String[] args) {
        for (int i = 1; i <= 9 ; i++) {
            for (int j = 1; j <= i ; j++) {
                System.out.print(i+"*"+j+"="+i*j+" ");
            }
            System.out.println();
        }
    }

打印結(jié)果:

在這里插入圖片描述

4. 編寫(xiě)代碼模擬三次密碼輸入的場(chǎng)景。 最多能輸入三次密碼,密碼正確,提示“登錄成功”,密碼錯(cuò)誤, 可以重新輸入,最多輸入三次。三次均錯(cuò),則提示退出程序

代碼實(shí)現(xiàn):

 public static void login(){
    Scanner scanner = new Scanner(System.in);
    int count = 3;
    while(count != 0){
        System.out.println("請(qǐng)輸入你的密碼:");
        String password = scanner.nextLine();
        if(password.equals("123456")){
            System.out.println("登陸成功了!");
            break;
        }else{
            count--;
            System.out.println("你輸錯(cuò)密碼了,你還有 "+count+"次機(jī)會(huì)!");
        }
      }
    }

    public static void main16(String[] args) {

    login();
    }

打印結(jié)果:

在這里插入圖片描述

這里用到了方法,后面在說(shuō)。

5.猜數(shù)字游戲

代碼實(shí)現(xiàn):

public static void main(String[] args) {

        Random random = new Random();
        int rand = random.nextInt(100);
        Scanner scanner = new Scanner(System.in);
        while (true) {
            System.out.print("請(qǐng)輸入你要猜的數(shù)字:");
            int n = scanner.nextInt();
            if (n < rand) {
                System.out.println("低了");
            } else if (n > rand) {
                System.out.println("高了");
            } else {
                System.out.println("猜對(duì)了");
                break;
            }
        }
    }

打印結(jié)果:

在這里插入圖片描述

都看到這里了,點(diǎn)個(gè)贊在走唄!
謝謝大家!

到此這篇關(guān)于Java程序中邏輯控制語(yǔ)句詳解流程的文章就介紹到這了,更多相關(guān)Java 邏輯控制內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中Arrays類(lèi)與Math類(lèi)詳解

    Java中Arrays類(lèi)與Math類(lèi)詳解

    這篇文章主要介紹了Java中Arrays類(lèi)與Math類(lèi),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • mybatis 映射文件中if標(biāo)簽判斷字符串相等的兩種方式

    mybatis 映射文件中if標(biāo)簽判斷字符串相等的兩種方式

    這篇文章主要介紹了mybatis 映射文件中if標(biāo)簽判斷字符串相等的方式,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • idea2020.3配置maven環(huán)境并配置Tomcat的詳細(xì)教程

    idea2020.3配置maven環(huán)境并配置Tomcat的詳細(xì)教程

    這篇文章主要介紹了idea2020.3配置maven環(huán)境并配置Tomcat的詳細(xì)教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • Mybatis-plus自動(dòng)填充不生效或自動(dòng)填充數(shù)據(jù)為null原因及解決方案

    Mybatis-plus自動(dòng)填充不生效或自動(dòng)填充數(shù)據(jù)為null原因及解決方案

    本文主要介紹了Mybatis-plus自動(dòng)填充不生效或自動(dòng)填充數(shù)據(jù)為null原因及解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-05-05
  • Java線(xiàn)程池隊(duì)列LinkedBlockingDeque

    Java線(xiàn)程池隊(duì)列LinkedBlockingDeque

    這篇文章主要為大家介紹了Java線(xiàn)程池隊(duì)列LinkedBlockingDeque示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的區(qū)別及設(shè)定serverTimezone的方法

    com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的區(qū)

    這篇文章主要介紹了com.mysql.jdbc.Driver 和 com.mysql.cj.jdbc.Driver的區(qū)別以及設(shè)定serverTimezone的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-09-09
  • JAVASE系統(tǒng)實(shí)現(xiàn)抽卡功能

    JAVASE系統(tǒng)實(shí)現(xiàn)抽卡功能

    這篇文章主要為大家詳細(xì)介紹了JAVASE系統(tǒng)實(shí)現(xiàn)抽卡功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Java中的三種代理模式詳解

    Java中的三種代理模式詳解

    這篇文章主要介紹了Java中的三種代理模式詳解,代理模式的關(guān)鍵點(diǎn)是:代理對(duì)象與目標(biāo)對(duì)象.代理對(duì)象是對(duì)目標(biāo)對(duì)象的擴(kuò)展,并會(huì)調(diào)用目標(biāo)對(duì)象,文中提供了部分代碼,需要的朋友可以參考下
    2023-08-08
  • java實(shí)現(xiàn)解析Cron時(shí)間表達(dá)式為中文描述

    java實(shí)現(xiàn)解析Cron時(shí)間表達(dá)式為中文描述

    這篇文章主要為大家詳細(xì)介紹了java如何實(shí)現(xiàn)解析Cron時(shí)間表達(dá)式為中文描述,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以了解下
    2023-11-11
  • JAVA Calendar類(lèi)使用方面實(shí)例

    JAVA Calendar類(lèi)使用方面實(shí)例

    這篇文章主要介紹了JAVA Calendar類(lèi)使用方面實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04

最新評(píng)論