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

Java基礎(chǔ)語法:邏輯控制

 更新時(shí)間:2021年08月11日 17:20:24   作者:吞吞吐吐大魔王  
下面小編就為大家?guī)硪黄狫ava邏輯控制的基礎(chǔ)文章。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

一、邏輯控制語句

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

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

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

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

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

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

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

2.1 if 語句

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

形式一

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

形式二

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

形式三

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

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

1.條件表達(dá)式必須是布爾值,不能像 C 語言一樣直接使用一個(gè)數(shù)值,如

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

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

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

這種代碼就是正確的

2.代碼風(fēng)格問題,比如我寫 C 語言時(shí)喜歡把一對大括號(hào)并列在行首。但是在 java 中更推薦上述三種形式那樣的風(fēng)格,將 { 放在 if 或 else 同一行

3.還要注意懸垂 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 以及該章所講解的一些邏輯結(jié)構(gòu)可以去看看我寫的 C語言三大語句注意事項(xiàng) 。但是既然不是完全一樣,那哪里有區(qū)別呢?

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

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

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

3.1 while 循環(huán)

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

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

3.2 break

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

3.3 continue

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

3.4 for 循環(huán)

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

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

3.5 do while 循環(huán)

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

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

但是一般不推薦使用,因?yàn)樗辽贂?huì)執(zhí)行一次循環(huán),不注意可能會(huì)犯錯(cuò)

二、輸入輸出方式

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

1.基本語法

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

2.代碼示例

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

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

轉(zhuǎn)換符 類型 例子 輸出結(jié)果
d 十進(jìn)制整數(shù) ("%d",100) 100
x 十六進(jìn)制整數(shù) ("%x",100) 64
o 八進(jìn)制整數(shù) ("%o",100) 144
f 定點(diǎn)浮點(diǎn)數(shù) ("%f",100f) 100.000000
e 指數(shù)浮點(diǎn)數(shù) ("%e",100f) 1.000000e+02
g 通用浮點(diǎn)數(shù) ("%g",100f) 100.000
a 十六進(jìn)制浮點(diǎn)數(shù) ("%a",100) 0x1.9p6
s 字符串 ("%s",100) 100
c 字符 ("%d",‘1') 1
b 布爾值 ("%b",100) true
h 散列碼 ("%h",100) 64
% 百分號(hào) ("%.2f%%",2/7f) 0.29%

2. 從鍵盤輸入

1.讀入一個(gè)字符(不推薦使用)

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

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);
    }

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

在這里插入圖片描述

再點(diǎn)擊第一個(gè)或者第二個(gè)就不會(huì)報(bào)錯(cuò)了。這里其實(shí)是處理了異常,但是一個(gè)簡單的讀入字符就要這么復(fù)雜所以不推薦使用。

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

1.首先需要導(dǎo)入 util 包 import java.util.Scanner; ,在 IDEA 中,其可以通過輸入 Scanner 后直接回車快速導(dǎo)入

2.然后再構(gòu)造一個(gè) Scanner 對象并與”標(biāo)準(zhǔn)輸入流“ System.in 關(guān)聯(lián): Scanner 對象名 = new Scanner(System.in);

3.再就可以通過 Scanner 類的各種方法實(shí)現(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();			//讀入一個(gè)整數(shù)
        double b = in.nextDouble();		//讀入一個(gè)浮點(diǎn)數(shù)
        boolean c = in.nextBoolean();	//讀入一個(gè)布爾值
        String s = in.next();			//讀入一個(gè)字符串
    }
}

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

String s = in.nextLine();

但是使用這個(gè)方法還是有很大的缺陷,如果這行代碼上面還有其他讀入的語句,可能這行代碼就不會(huì)實(shí)行。因?yàn)樯弦恍械幕剀嚳赡鼙凰x入,直接這行結(jié)束。因此,只能將其放在讀入代碼的第一個(gè)或者在它前面加一個(gè)

in.nextLine();

來讀取掉之前的回車。

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

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

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

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

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

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

并且在 IDEA 上我們可以手動(dòng)輸入 Ctrl + D 結(jié)束,在 Windows 的 cmd 上 我們手動(dòng)輸入 Ctrl + Z 結(jié)束,在 Linux 或 Mac 上,輸入 Ctrl + D 結(jié)束

三、猜數(shù)字游戲

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

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

1.首先需要導(dǎo)入 util 包 import java.util.Random; ,在 IDEA 中,其可以通過輸入 Random 后直接回車快速導(dǎo)入

2.然后通過 Random 類中的方法生成我們想要的,如

import java.util.Random;

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

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

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ù)字大了!");
            }
        }
    }
}

四、總結(jié)

本篇文章就到這里了,希望能給你帶來幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!

相關(guān)文章

  • IDEA斷點(diǎn)調(diào)試,斷點(diǎn)不起作用的解決

    IDEA斷點(diǎn)調(diào)試,斷點(diǎn)不起作用的解決

    這篇文章主要介紹了IDEA斷點(diǎn)調(diào)試,斷點(diǎn)不起作用的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • SpringBoot多數(shù)據(jù)源讀寫分離的自定義配置問題及解決方法

    SpringBoot多數(shù)據(jù)源讀寫分離的自定義配置問題及解決方法

    這篇文章主要介紹了SpringBoot多數(shù)據(jù)源讀寫分離的自定義配置,我們可以通過自定義配置數(shù)據(jù)庫配置類來解決這個(gè)問題,方式有很多,不同的業(yè)務(wù)采用的方式也不同,下面我簡單的介紹我們項(xiàng)目的使用的方法
    2022-06-06
  • 關(guān)于IDEA創(chuàng)建spark maven項(xiàng)目并連接遠(yuǎn)程spark集群問題

    關(guān)于IDEA創(chuàng)建spark maven項(xiàng)目并連接遠(yuǎn)程spark集群問題

    這篇文章主要介紹了IDEA創(chuàng)建spark maven項(xiàng)目并連接遠(yuǎn)程spark集群,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Spring Boot和Vue跨域請求問題原理解析

    Spring Boot和Vue跨域請求問題原理解析

    這篇文章主要介紹了Spring Boot和Vue跨域請求問題原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-12-12
  • Spring Web零xml配置原理以及父子容器關(guān)系詳解

    Spring Web零xml配置原理以及父子容器關(guān)系詳解

    這篇文章主要介紹了Spring Web零xml配置原理以及父子容器關(guān)系詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • IDEA如何恢復(fù)刪除模塊pom文件

    IDEA如何恢復(fù)刪除模塊pom文件

    文章介紹了四種恢復(fù)Maven項(xiàng)目模塊的方法,包括手動(dòng)加回、強(qiáng)制重建模塊關(guān)系、取消忽略并重建緩存以及刪除IDEA項(xiàng)目配置,這些方法可以幫助解決Maven項(xiàng)目模塊丟失或被忽略的問題
    2026-02-02
  • spring-boot 3.X版本整合RocketMq的詳細(xì)過程

    spring-boot 3.X版本整合RocketMq的詳細(xì)過程

    本文詳細(xì)介紹了如何使用Spring Boot和RocketMQ進(jìn)行整合,并提供了一個(gè)簡單的示例工程,描述了如何本地啟動(dòng)RocketMQ服務(wù)端,并使用IntelliJ IDEA創(chuàng)建和配置了一個(gè)Spring Boot項(xiàng)目,包含了生產(chǎn)者和消費(fèi)者,并解決了在Spring Boot 3.x版本中RocketMQTemplate沒有bean注入的問題
    2024-11-11
  • javamail 發(fā)送郵件的實(shí)例代碼分享

    javamail 發(fā)送郵件的實(shí)例代碼分享

    今天學(xué)習(xí)了一下JavaMail,javamail發(fā)送郵件確實(shí)是一個(gè)比較麻煩的問題。為了以后使用方便,自己寫了段代碼,打成jar包,以方便以后使用
    2013-08-08
  • Java解決計(jì)算一個(gè)字符串長度問題的實(shí)戰(zhàn)指南

    Java解決計(jì)算一個(gè)字符串長度問題的實(shí)戰(zhàn)指南

    在Java編程中,處理字符串是非常常見的任務(wù)之一,這篇文章主要介紹了如何Java解決計(jì)算一個(gè)字符串長度的問題,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下
    2026-03-03
  • 關(guān)于Spring Actuator的簡單測試

    關(guān)于Spring Actuator的簡單測試

    這篇文章主要介紹了關(guān)于Spring Actuator的簡單測試,Spring-Actuator 是spring下的程序監(jiān)控系統(tǒng),通過簡單的配置就可以查看程序的相關(guān)信息,本文提供了相關(guān)配置,需要的朋友可以參考下
    2023-10-10

最新評(píng)論

龙口市| 尼木县| 手游| 大埔县| 舟曲县| 灵武市| 河西区| 浮梁县| 长沙县| 犍为县| 婺源县| 涟源市| 宜春市| 威海市| 寿阳县| 航空| 扎鲁特旗| 融水| 南雄市| 牡丹江市| 鄂伦春自治旗| 伊通| 永兴县| 长乐市| 闸北区| 龙川县| 娱乐| 西平县| 顺义区| 开封县| 旬邑县| 虹口区| 大悟县| 红河县| 响水县| 广水市| 兴义市| 霍城县| 涿鹿县| 宁安市| 九江市|