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

