java 學(xué)習(xí)筆記(入門篇)_程序流程控制結(jié)構(gòu)和方法
程序流程控制結(jié)構(gòu)和方法
程序流程控制結(jié)構(gòu)分為:順序、選擇、循環(huán)以及異常處理結(jié)構(gòu)。語(yǔ)句是程序的基本組成單位。在java中分簡(jiǎn)單語(yǔ)句和符合語(yǔ)句,簡(jiǎn)單語(yǔ)句就是一行代碼,例如,privateint3=3;復(fù)合語(yǔ)句就是一些簡(jiǎn)單語(yǔ)句的組合了,例如一個(gè)方法等等。一般來(lái)說(shuō)語(yǔ)句的執(zhí)行流程是按順序來(lái)進(jìn)行的,但是當(dāng)遇到一些特殊的條件,比如循環(huán),這時(shí)候語(yǔ)句就會(huì)按照流程控制結(jié)構(gòu)來(lái)進(jìn)行了。
(1)選擇結(jié)構(gòu)
選擇結(jié)構(gòu)用于根據(jù)不同的條件,實(shí)現(xiàn)不同的操作,它提供了一種機(jī)制,使得程序根據(jù)相應(yīng)的條件運(yùn)行對(duì)應(yīng)的語(yǔ)句。java言語(yǔ)實(shí)現(xiàn)選擇結(jié)構(gòu)有兩種形式:一種是兩路分支選擇的if-else語(yǔ)句,另一種是多分枝選擇的switch語(yǔ)句。選擇語(yǔ)句需要用到邏輯學(xué)里面的東西,但是比較淺顯,如命題的真假,是否等。邏輯命題用于邏輯表達(dá)式表示,用作兩路分支或多路分支結(jié)構(gòu)的邏輯條件。
顯然,我們比較關(guān)心條件的書(shū)寫(xiě),那這個(gè)條件一般有:關(guān)系表達(dá)式,邏輯表達(dá)式和條件運(yùn)算表達(dá)式。
①關(guān)系表達(dá)式:用關(guān)系運(yùn)算符把兩個(gè)表達(dá)式連接的式子。計(jì)算兩個(gè)同類型表達(dá)式的值,然后進(jìn)行比較,其結(jié)果為:真(true)或假(false)。例如:
x%2==0;
x+y>=0;
②邏輯表達(dá)式:操作數(shù)是邏輯值且用邏輯符連接的表達(dá)式的式子成為邏輯表達(dá)式,其值仍為邏輯值。例如:
x>6&&y<3;
x>6||y>8;
y%4==0&&y%100!=0&&y%400==0//y是閏年條件
③條件運(yùn)算表達(dá)式:由三目運(yùn)算符連接起來(lái)的表達(dá)式,語(yǔ)法格式為:(邏輯表達(dá)式)?(表達(dá)式1):(表達(dá)式2)。當(dāng)邏輯表達(dá)式的值為真時(shí),返回表達(dá)式1的值,否則,返回表達(dá)式2的值。
(2)if-else語(yǔ)句
一般的if-else語(yǔ)句是這樣的,
if(邏輯表達(dá)式){或if(邏輯表達(dá)式)語(yǔ)句1;
語(yǔ)句1;[else語(yǔ)句2;]
}else{
語(yǔ)句2;
}
if語(yǔ)句是專門用來(lái)實(shí)現(xiàn)選擇結(jié)構(gòu)的語(yǔ)句,它根據(jù)邏輯條件中的真假來(lái)決定運(yùn)行兩種操作中的一種。例如:閏年的條件是:能被4整除但又不能被100整除,或正被400整除的公元年。所以,閏年的判斷可以用一個(gè)邏輯表達(dá)式表示。
下面來(lái)判斷2012年是否為閏年:
publicclassIsLeapYear{
publicstaticvoidmain(Stringargs[]){
intyear=2012;
booleanleapYear=(year%4==0&&year%100!=0||year%400==0);
if(leapYear){
System.out.println(year+"是閏年");
}else{
System.out.println(year+"不是閏年");
}
}
}
if-else語(yǔ)句的嵌套:
在if-else語(yǔ)句中的語(yǔ)句1或語(yǔ)句2中的語(yǔ)句也可以是if-else語(yǔ)句,這樣就形成了if-else語(yǔ)句的嵌套。其中最常用的是elseif語(yǔ)句嵌套的多選擇結(jié)構(gòu):
if()語(yǔ)句1
elseif(邏輯表達(dá)式)語(yǔ)句2
........
elseif(邏輯表達(dá)式)語(yǔ)句n
else語(yǔ)句n+1
程序運(yùn)行時(shí)會(huì)從上至下判斷邏輯條件,一旦某個(gè)邏輯條件滿足(即布爾表達(dá)式的值為真),則運(yùn)行相應(yīng)的語(yǔ)句,然后就不再判斷其他的條件,直接轉(zhuǎn)到結(jié)構(gòu)出口,運(yùn)行if語(yǔ)句的后續(xù)語(yǔ)句。當(dāng)然在這種多選擇的結(jié)構(gòu)中,比較容易犯混淆if與else之間的搭配關(guān)系。java語(yǔ)言規(guī)定:else總是與離它最近的if配對(duì)。如果需要可以用花括號(hào){}來(lái)改變配對(duì)關(guān)系,其實(shí)我們經(jīng)常這樣做。
相關(guān)文章
SpringCloud Config統(tǒng)一配置中心問(wèn)題分析解決與客戶端動(dòng)態(tài)刷新實(shí)現(xiàn)
springcloud config是一個(gè)解決分布式系統(tǒng)的配置管理方案。它包含了 client和server兩個(gè)部分,server端提供配置文件的存儲(chǔ)、以接口的形式將配置文件的內(nèi)容提供出去,client端通過(guò)接口獲取數(shù)據(jù)、并依據(jù)此數(shù)據(jù)初始化自己的應(yīng)用2022-10-10兩萬(wàn)字詳解Java Sring String的常見(jiàn)操作以及StringBuffer StringBuilder的區(qū)別
本篇文章帶你認(rèn)識(shí)Sring、String的常見(jiàn)操作和StringBuffer 與StringBuilder的區(qū)別(字符串詳解),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09Springboot 跨域配置無(wú)效及接口訪問(wèn)報(bào)錯(cuò)的解決方法
這篇文章主要介紹了Springboot 跨域配置無(wú)效及接口訪問(wèn)報(bào)錯(cuò)的解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12淺析Java數(shù)據(jù)庫(kù)操作工具包jOOQ的使用
jOOQ?是一個(gè)輕量級(jí)的?Java?ORM(對(duì)象關(guān)系映射)框架,可用來(lái)構(gòu)建復(fù)雜的?SQL?查詢,這篇文章主要來(lái)和大家介紹一下jOOQ的使用,需要的可以參考下2024-04-04