最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java 基礎語法中的邏輯控制

 更新時間:2021年09月03日 14:36:26   作者:吞吞吐吐大魔王  
這篇文章主要介紹了Java 基礎語法中的邏輯控制的相關資料,需要的朋友可以參考下面文章內容

Java 基礎語法中的邏輯控制

一、邏輯控制語句

1. 順序結構

像我們寫的代碼,執(zhí)行時會按照從上到下一行一行的執(zhí)行。這z就是順序結構,不同的順序,結果可能就不一樣。如

System.out.println(1)
System.out.println(2)    
System.out.println(3)

該代碼結果為 1(換行)2(換行)3,但是如果把順序改變結果就變了

System.out.println(2)
System.out.println(3)    
System.out.println(1)

該代碼結果就變?yōu)?2(換行)3(換行)1

2. 分支結構

2.1 if 語句

和 C 語言一樣,在 Java 中 if 語句也有三種基本的形式

形式一

if(布爾表達式){
    // 條件滿足時執(zhí)行的代碼
}

形式二

if(布爾表達式){
    // 條件滿足時執(zhí)行的代碼
}else{
    // 條件不滿足時執(zhí)行的代碼
}

形式三

if(布爾表達式1){
    // 條件1滿足時執(zhí)行的代碼
}else if(布爾表達式2){
    // 條件2滿足時執(zhí)行的代碼
}else{
    // 條件都不滿足時執(zhí)行的代碼
}

但是從形式上我們就可以看出還是有一些不同的

  • 條件表達式必須是布爾值,不能像 C 語言一樣直接使用一個數(shù)值,

如:

int a = 10;
if(a){
    System.out.println(a);
}

這種代碼就是錯的,條件必須是布爾值

int a = 10;
if(a > 0){
    System.out.println(a);
}


這種代碼就是正確的

  • 代碼風格問題,比如我寫 C 語言時喜歡把一對大括號并列在行首。但是在 java 中更推薦上述三種形式那樣的風格,將 { 放在 if 或 else 同一行
  • 還要注意懸垂 else 問題,記住 else 是與 最接近的 if 匹配。

如:

int a = 2;
if(a>0)
 if(a>10)
  System.out.println("a > 10");
else 
 System.out.println("a > 0 && a <= 10");

我們要知道,最下面的 else 是與與它最近的 if 匹配的

2.2 switch 語句

Java 中的 switch 語句和 C 語言中的幾乎一樣,大家如果不太熟悉 switch 以及該章所講解的一些邏輯結構可以去看看我寫的 C語言三大語句注意事項 。但是既然不是完全一樣,那哪里有區(qū)別呢?

在 Java 中,switch(表達式) 中的表達式是有類型限制的。

它只能使用:整數(shù)(只包括 byte、short、int)、字符(char)、字符串(String)、枚舉類型

3. 循環(huán)結構

3.1 while 循環(huán)

舒服,Java 的 while 循環(huán)和 C 語言也是極其類似,只有一個小的差異

while (表達式) 中的表達式必須是布爾值

3.2 break

break 的功能是:讓最靠近包裹它的整個循環(huán)提前結束。這也是和 C 語言是一樣的

3.3 continue

continue 的功能是:跳過本次循環(huán),立即進入下次循環(huán)。這也是和 C 語言是一樣的

3.4 for 循環(huán)

Java 中的 for 循環(huán)和 C 語言中的也很類似,只有一個差異

for(表達式1;表達式2;表達式3) 中的表達式2是循環(huán)的判斷條件,要使用布爾值

3.5 do while 循環(huán)

Java 中的 do while 循環(huán)也是和 C 語言很類似,只有一個差異

while 中的循環(huán)條件只能是布爾值

但是一般不推薦使用,因為它至少會執(zhí)行一次循環(huán),不注意可能會犯錯

二、輸入輸出方式

1. 輸出到控制臺

基本語法:

System.out.println(msg);  // 輸出一個字符串,自帶換行
System.out.print(msg);   // 輸出一個字符串,不帶換行
System.out.printf(format,msg); // 格式化輸出,括號內內容類似于 C 語言的 printf

代碼示例

int a = 10;
System.out.println(a);   // 輸出 a,自帶換行
System.out.print(a);   // 輸出 a,不帶換行
System.out.printf("%d\n",a); // 格式化輸出,括號內內容類似于 C 語言的 printf

格式化輸出表(隨用隨查)

2. 從鍵盤輸入

讀入一個字符(不推薦使用)

直接使用 System.in.read() 可以讀入一個字符,但是需要搭配異常處理。如果不搭配異常,如下面代碼就會編譯出錯

public static void main(String[] args) {
        System.out.print("Enter a char:");
        char i = (char)System.in.read();
        System.out.println("The char is :" + i);
    }

我們需要將鼠標放到 read 上面,再按住 Alt + Enter 鍵就會出現(xiàn)

再點擊第一個或者第二個就不會報錯了。這里其實是處理了異常,但是一個簡單的讀入字符就要這么復雜所以不推薦使用。

使用 Scanner 讀取字符/字符串/整數(shù)/浮點數(shù)/布爾值

  • 首先需要導入 util 包 import java.util.Scanner; ,在 IDEA 中,其可以通過輸入 Scanner 后直接回車快速導入
  • 然后再構造一個 Scanner 對象并與”標準輸入流“ System.in 關聯(lián): Scanner 對象名 = new Scanner(System.in);
  • 再就可以通過 Scanner 類的各種方法實現(xiàn)輸入操作了
import java.util.Scanner;

public class TestDemo {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        
        int a = in.nextInt();   //讀入一個整數(shù)
        double b = in.nextDouble();  //讀入一個浮點數(shù)
        boolean c = in.nextBoolean(); //讀入一個布爾值
        String s = in.next();   //讀入一個字符串
    }
}

但是要注意,上述讀入字符串是按空白符當作分隔符的,故只能讀入第一個空格之前的字符。如果想要讀取該行的所有字符(包含空格),應該使用

String s = in.nextLine();

但是使用這個方法還是有很大的缺陷,如果這行代碼上面還有其他讀入的語句,可能這行代碼就不會實行。因為上一行的回車可能被它讀入,直接這行結束。因此,只能將其放在讀入代碼的第一個或者在它前面加一個

in.nextLine();

來讀取掉之前的回車。

我們知道在 C 語言中可以寫類似于這樣的代碼輸入多組數(shù)據

int a;
while(scanf("%d",&a) != EOF)
{
    // 內容
}

在 C++ 中我們也可以寫類似于這樣的代碼輸入多組數(shù)據

int a;
while(cin>>a)
{
    // 內容
}

那么在 Java 中怎么做呢?代碼如下

Scanner in = new Scanner(System.in);
while(in.hasNextInt()){
    int a = in.nextInt();
    // 內容
}

并且在 IDEA 上我們可以手動輸入 Ctrl + D 結束,在 Windows 的 cmd 上 我們手動輸入 Ctrl + Z 結束,在 Linux 或 Mac 上,輸入 Ctrl + D 結束

三、猜數(shù)字游戲

學 C 語言的時候我們可能都接觸過隨機數(shù)的生成,或者直接寫一個猜隨機數(shù)的游戲。那么使用 Java 該怎么寫呢?

首先我們要知道在 Java 中隨機數(shù)是怎么生成的。

  • 首先需要導入 util 包 import java.util.Random; ,在 IDEA 中,其可以通過輸入 Random 后直接回車快速導入
  • 然后通過 Random 類中的方法生成我們想要的,

如:

import java.util.Random;

public class TestDemo {
    public static void main(String[] args) {
        Random random = new random(); // 默認隨機種子是系統(tǒng)時間
        int rand = random.nextInt(bound:100) + 1;
        // random.nextInt(bound:100) 是生成[0,100)間的隨機整數(shù)
    }
}



接下來就是很簡單了,只要我們輸入的數(shù)字與隨機數(shù)字進行一下比較。直到判斷正確再退出就可。

故最終的代碼是

public class TestDemo {

    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        Random random = new Random();
        int rand = random.nextInt(100) + 1;
        while (true){
            System.out.print("請輸入你所猜測的數(shù)字:");
            int num = scanner.nextInt();
            if(num == rand){
                System.out.println("恭喜你,猜對了!");
                break;
            }else if(num < rand){
                System.out.println("很遺憾,你猜的數(shù)字小了!");
            }else{
                System.out.println("很遺憾,你猜的數(shù)字大了!");
            }
        }
    }
}

四、總結

這章講了 Java 的邏輯控制結構,包含了順序結構、順序結構和分支結構。還講了 Java 的輸入輸出方式。并在最后用 Java 程序寫了一個簡單的猜數(shù)字游戲。我們可以發(fā)現(xiàn),很多都是和 C 語言類似的,這也降低了我們學習的難度。

到此這篇關于Java 基礎語法中的邏輯控制的文章就介紹到這了,更多相關Java 邏輯控制內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java實現(xiàn)簡單的推箱子小游戲

    java實現(xiàn)簡單的推箱子小游戲

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單的推箱子小游戲,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • springboot?使用?minio的示例代碼

    springboot?使用?minio的示例代碼

    Minio是Apcche旗下的一款開源的輕量級文件服務器,基于對象存儲,協(xié)議是基于Apache?License?v2.0,開源可用于商務,本文給大家介紹下springboot?使用?minio的示例代碼,感興趣的朋友看看吧
    2022-03-03
  • JAVA mongodb 聚合幾種查詢方式詳解

    JAVA mongodb 聚合幾種查詢方式詳解

    這篇文章主要介紹了JAVA mongodb 聚合幾種查詢方式詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • SpringBoot @ModelAttribute使用場景分析

    SpringBoot @ModelAttribute使用場景分析

    這篇文章主要介紹了SpringBoot @ModelAttribute使用場景分析,文中通過實例代碼圖文相結合給大家介紹的非常詳細,需要的朋友可以參考下
    2021-08-08
  • SpringBoot實現(xiàn)文件上傳下載功能小結

    SpringBoot實現(xiàn)文件上傳下載功能小結

    最近做的一個項目涉及到文件上傳與下載功能。SpringBoot后臺如何實現(xiàn)文件上傳下載呢?下面有單文件上傳和多文件上傳功能,感興趣的朋友一起看看吧
    2017-08-08
  • Java使用遞歸回溯完美解決八皇后的問題

    Java使用遞歸回溯完美解決八皇后的問題

    這篇文章主要介紹了Java基于循環(huán)遞歸回溯實現(xiàn)八皇后問題算法,結合具體實例形式分析了java的遍歷、遞歸、回溯等算法實現(xiàn)八皇后問題的具體步驟與相關操作技巧,需要的朋友可以參考下
    2021-11-11
  • Java實現(xiàn)單鏈表的操作

    Java實現(xiàn)單鏈表的操作

    這篇文章主要為大家詳細介紹了Java實現(xiàn)單鏈表的操作,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 基于Java設計一個短鏈接生成系統(tǒng)

    基于Java設計一個短鏈接生成系統(tǒng)

    相信大家在生活中會收到很多短信,而這些短信都有一個特點是鏈接很短。這些鏈接背后的原理是什么呢?怎么實現(xiàn)的?小編今天就帶你們詳細了解一下
    2021-12-12
  • 基于mybatis-plus 時間字段比較

    基于mybatis-plus 時間字段比較

    這篇文章主要介紹了mybatis-plus 時間字段的比較,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • 移動開發(fā)Spring Boot外置tomcat教程及解決方法

    移動開發(fā)Spring Boot外置tomcat教程及解決方法

    這篇文章主要介紹了移動開發(fā)SpringBoot外置tomcat教程,需要的朋友可以參考下
    2017-11-11

最新評論

沅江市| 无锡市| 晋州市| 密云县| 梓潼县| 白水县| 墨竹工卡县| 麟游县| 阜康市| 阳原县| 喀喇| 广宗县| 浑源县| 通辽市| 崇州市| 大冶市| 修文县| 衡南县| 雷山县| 河东区| 大洼县| 雅安市| 玉田县| 九江县| 酒泉市| 建瓯市| 驻马店市| 洛扎县| 如皋市| 亚东县| 关岭| 海兴县| 保定市| 柳江县| 山东省| 合水县| 南乐县| 区。| 双城市| 百色市| 万年县|