java基礎(chǔ)javeSE程序邏輯控制語(yǔ)法
順序結(jié)構(gòu)
按照代碼書(shū)寫(xiě)的順序一行一行執(zhí)行
分支結(jié)構(gòu)
if 語(yǔ)句
基本語(yǔ)法形式:
if(布爾表達(dá)式){ //條件滿(mǎn)足時(shí)執(zhí)行代碼 } if(布爾表達(dá)式){ //條件滿(mǎn)足時(shí)執(zhí)行代碼 }else{ //條件不滿(mǎn)足時(shí)執(zhí)行代碼 } //多分支 if(布爾表達(dá)式){ //條件滿(mǎn)足時(shí)執(zhí)行代碼 }else if(布爾表達(dá)式){ //條件滿(mǎn)足時(shí)執(zhí)行代碼 }else{ //條件都不滿(mǎn)足時(shí)執(zhí)行代碼 }
注意:條件表達(dá)式必須是布爾值
示例:
int a = 10; if(a){ System.out.println(a); }//err //對(duì)于while等循環(huán)語(yǔ)句也一樣
懸垂 else
示例:
int x = 10; int y = 10; if (x == 10) if (y == 10) System.out.println("aaa"); else System.out.println("bbb");
注:if / else語(yǔ)句中可以不加大括號(hào),但只能寫(xiě)一條語(yǔ)句;此時(shí)else和最接近的 if 匹配
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;] } }
switch(表達(dá)式) 中表達(dá)式接收的類(lèi)型包括:
整數(shù)(只包括byte、short、int)
字符(char)
字符串(String)
枚舉類(lèi)型(區(qū)別C語(yǔ)言)
循環(huán)結(jié)構(gòu)
基本上與C語(yǔ)言語(yǔ)法一致
注意:
while 循環(huán)
while
(表達(dá)式) 中的表達(dá)式必須是布爾值
break
:讓最靠近包裹它的整個(gè)循環(huán)提前結(jié)束
continue :跳過(guò)本次循環(huán),立即進(jìn)入下次循環(huán)
for 循環(huán)
for(表達(dá)式1;表達(dá)式2;表達(dá)式3) 中的表達(dá)式2是循環(huán)的判斷條件,要使用布爾值
do while 循環(huán)
while 中的循環(huán)條件只能是布爾值
輸入輸出方式
輸出到控制臺(tái)
基本語(yǔ)法:
System.out.println(msg); // 輸出一個(gè)字符串,自帶換行 System.out.print(msg); // 輸出一個(gè)字符串,不帶換行 System.out.printf(format,msg); // 格式化輸出,括號(hào)內(nèi)內(nèi)容類(lèi)似于 C 語(yǔ)言的 printf
格式化輸出表:
從鍵盤(pán)輸入
讀取字符/字符串/整數(shù)/浮點(diǎn)數(shù)/布爾值
首先需要導(dǎo)入 util 包 import java.util.Scanner;然后再構(gòu)造一個(gè) Scanner 對(duì)象并與”標(biāo)準(zhǔn)輸入流“ System.in 關(guān)聯(lián):
Scanner 對(duì)象名 = new Scanner(System.in);
示例:
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è)空格之前的字符 //如果想要讀取該行的所有字符(包含空格)則: String s = in.nextLine(); //如果這行代碼上面還有其他讀入的語(yǔ)句,可能這行代碼就不會(huì)執(zhí)行 //因?yàn)樯弦恍械幕剀?chē)可能被它讀入,直接這行結(jié)束 //解決方案:將其放在讀入代碼的第一個(gè)或者在它前面加一個(gè) in.nextLine(); 來(lái)讀取掉之前的回車(chē) } }
輸入多組數(shù)據(jù)
示例:
Scanner in = new Scanner(System.in); while(in.hasNextInt()){ int a = in.nextInt(); // 內(nèi)容 }
結(jié)束:輸入 Ctrl + D
或者Ctrl + Z
結(jié)束
猜數(shù)字游戲
隨機(jī)數(shù)生成:
需要導(dǎo)入 util 包 import java.util.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ù) } }
最終代碼:
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("請(qǐng)輸入你所猜測(cè)的數(shù)字:"); int num = scanner.nextInt(); if(num == rand){ System.out.println("恭喜你,猜對(duì)了!"); break; }else if(num < rand){ System.out.println("很遺憾,你猜的數(shù)字小了!"); }else{ System.out.println("很遺憾,你猜的數(shù)字大了!"); } } } }
以上就是java基礎(chǔ)javeSE程序邏輯控制語(yǔ)法的詳細(xì)內(nèi)容,更多關(guān)于javeSE程序邏輯控制的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
SpringBoot如何接收Post請(qǐng)求Body里面的參數(shù)
這篇文章主要介紹了SpringBoot如何接收Post請(qǐng)求Body里面的參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-03-03Spring使用三級(jí)緩存解決循環(huán)依賴(lài)的問(wèn)題
本文給大家分享Spring使用三級(jí)緩存解決循環(huán)依賴(lài)的問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-06-06SpringBoot中對(duì)SpringMVC的自動(dòng)配置詳解
這篇文章主要介紹了SpringBoot中的SpringMVC自動(dòng)配置詳解,Spring MVC自動(dòng)配置是Spring Boot提供的一種特性,它可以自動(dòng)配置Spring MVC的相關(guān)組件,簡(jiǎn)化了開(kāi)發(fā)人員的配置工作,需要的朋友可以參考下2023-10-10Spring Cache + Caffeine的整合與使用示例詳解
對(duì)于一些項(xiàng)目里需要對(duì)數(shù)據(jù)庫(kù)里的某些數(shù)據(jù)一直重復(fù)請(qǐng)求的,且這些數(shù)據(jù)基本是固定的,在這種情況下,可以借助簡(jiǎn)單使用本地緩存來(lái)緩存這些數(shù)據(jù),本文介紹一下Spring Cache和Caffeine的使用,感興趣的朋友一起看看吧2023-12-12一文帶你探究Spring中Bean的線(xiàn)程安全性問(wèn)題
很多人都想spring中的bean是線(xiàn)程安全的嗎?本文將帶你探究Spring中Bean的線(xiàn)程安全性問(wèn)題,感興趣的同學(xué)可以參考閱讀下2023-05-05為Java應(yīng)用創(chuàng)建Docker鏡像的3種方式總結(jié)
Docker的使用可以將應(yīng)用程序做成鏡像,這樣可以將鏡像發(fā)布到私有或者公有倉(cāng)庫(kù)中,在其他主機(jī)上也可以pull鏡像,并且運(yùn)行容器,運(yùn)行程,下面這篇文章主要給大家總結(jié)介紹了關(guān)于為Java應(yīng)用創(chuàng)建Docker鏡像的3種方式,需要的朋友可以參考下2023-06-06spring boot security 沒(méi)有合適的構(gòu)造器問(wèn)題
這篇文章主要介紹了spring boot security 沒(méi)有合適的構(gòu)造器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12最簡(jiǎn)單的MyBatis Plus的多表聯(lián)接、分頁(yè)查詢(xún)實(shí)現(xiàn)方法
這篇文章主要介紹了最簡(jiǎn)單的MyBatis Plus的多表聯(lián)接、分頁(yè)查詢(xún)實(shí)現(xiàn)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11spring @Transactional 無(wú)效的解決方案
這篇文章主要介紹了spring @Transactional 無(wú)效的解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03