您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)如何分析Java 邏輯控制,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
順序結(jié)構(gòu)就是按照代碼從上往下執(zhí)行,我們運(yùn)行的程序就是從上往下的順序結(jié)構(gòu),當(dāng)遇到方法的時(shí)候,才去執(zhí)行方法。例如:
System.out.println("aaa"); System.out.println("bbb"); System.out.println("ccc");
當(dāng)改變代碼順序的時(shí)候,輸出的結(jié)果也不一樣。例如:
System.out.println("bbb"); System.out.println("ccc"); System.out.println("aaa");
if 語句的基本語法(單判斷):
if(布爾表達(dá)式){
//條件滿足時(shí)執(zhí)行代碼
}
if 語句的基本語法(加否定):
if(布爾表達(dá)式){
//條件滿足時(shí)執(zhí)行代碼
}else{
//條件不滿足時(shí)執(zhí)行代碼
}
if 語句的基本語法(多分支):
if(布爾表達(dá)式){
//條件滿足時(shí)執(zhí)行代碼
}else if(布爾表達(dá)式){
//條件滿足時(shí)執(zhí)行代碼
}else{
//條件都不滿足時(shí)執(zhí)行代碼
}
if 語句當(dāng)中可以寫很多 else if ,但是 if 和 else 只能有一個(gè)。
代碼實(shí)例 1:判斷一個(gè)數(shù)是奇數(shù)還是偶數(shù):
int num = 10; if (num % 2 == 0) { System.out.println("num 是偶數(shù)"); } else { System.out.println("num 是奇數(shù)"); }
代碼實(shí)例2:判定一個(gè)數(shù)是正數(shù)還是負(fù)數(shù)。
int num = 10; if (num > 0) { System.out.println("num 是正數(shù)"); } else if (num < 0) { System.out.println("num 是負(fù)數(shù)"); } else { System.out.println("num 是 0"); }
代碼實(shí)例3:判定一年是不是閏年。
因?yàn)殚c年的規(guī)律是:如果這一年是 4 的倍數(shù),且不是 100 的倍數(shù),那么這一年就是閏年?;蛘哌@個(gè)數(shù)能整除 400 。
Scanner scanner = new Scanner(System.in); int i = scanner.nextInt(); if ((i % 4 == 0 && i % 100 != 0) || (i % 400 == 0)) { System.out.println(i + " 是閏年"); } else { System.out.println(i + " 不是閏年"); }
這里是通過 Scanner 來輸入一個(gè)數(shù)。
此代碼輸出什么?
int x = 10; int y = 10; if (x == 20) if (y == 10) System.out.println("aaa"); else System.out.println("bbb");
這里什么都不輸出 ,因?yàn)檫@里就涉及到了懸垂 else 。else 只與最近的 if 相匹配,這里最近的 if 是 y==10 所以就什么都不輸出了。
所以我們平時(shí)寫代碼,一定要加上括號(hào),這樣既方便別人閱讀代碼,也方便我們自己去修改。
基本語法:
switch(整數(shù)|枚舉|字符|字符串){
case 內(nèi)容1 : {
內(nèi)容滿足時(shí)執(zhí)行語句;
[break;]
}
case 內(nèi)容2 : {
內(nèi)容滿足時(shí)執(zhí)行語句;
[break;]
}
...
default:{
內(nèi)容都不滿足時(shí)執(zhí)行語句;
[break;]
}
}
switch 語句是我們常見的多分支語句,可根據(jù) switch 括號(hào)內(nèi)的變量對(duì)應(yīng)的值去執(zhí)行相應(yīng)的 case 語句。而且每個(gè) case 語句下面都要有 break 否則會(huì)繼續(xù)執(zhí)行下面的 case 語句。當(dāng) switch 語句當(dāng)中沒有匹配的 case 語句的時(shí)候,就會(huì)執(zhí)行 default 語句。switch 雖然也可以嵌套,但是嵌套之后會(huì)很亂,非常不易于閱讀代碼。所以盡量不要嵌套。
代碼示例:
int day = 7; switch (day) { case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("此數(shù)字不屬于星期"); break; }
基本語法:
while(循環(huán)條件){
循環(huán)語句;
}
要注意的是:循環(huán)條件是 true 就執(zhí)行循環(huán)語句,否則就結(jié)束循環(huán)。例如求 1 - 10 的和:
int n = 1; int sum = 0; while (n <= 10){ sum += n; n++; } System.out.println(sum);
這里就是通過 while 循環(huán)來計(jì)算 1 - 10 的和。
while 循環(huán)和 if 語句一樣,while 下面的語句可以不寫 { } , 但是不寫的時(shí)候只能支持一條語句。所以為了方便閱讀和后期的維護(hù),還是應(yīng)該加上括號(hào)。就像這樣:
int num = 1; while (num <= 10) System.out.println(num); num++;
因?yàn)橹荒軋?zhí)行一條語句,所以就一直死循環(huán)。
在循環(huán)結(jié)構(gòu)當(dāng)中,break 也是經(jīng)常用到的。break 就是讓循環(huán)提前結(jié)束。例如:找到 1 - 10 中第一個(gè) 3 的倍數(shù)。
int num = 1; while (num <= 10) { if (num % 3 == 0) { System.out.println("找到了 3 的倍數(shù) 為:" + num); break; } num++; }
執(zhí)行到 break 的時(shí)候,就會(huì)讓循環(huán)結(jié)束。但是要注意的是:如果是多層循環(huán)嵌套 break 結(jié)束的是最近的一層循環(huán)。
continue 的功能是跳過這次循環(huán), 進(jìn)入下次循環(huán)。就是這次循環(huán)當(dāng)中 continue 下面的代碼不執(zhí)行,進(jìn)入下一次循環(huán)。例如:找到 100 - 200 中所有 3 的倍數(shù)。
int num = 100; while (num <= 200) { if (num % 3 != 0) { num++; continue; } System.out.println("找到了 3 的倍數(shù), 為:" + num); num++; }
執(zhí)行到 continue 語句的時(shí)候, 就會(huì)立刻進(jìn)入下次循環(huán)(判定循環(huán)條件), 從而不會(huì)執(zhí)行到下方的打印語句,所以不是 3 的倍數(shù)的數(shù)就沒有打印出來。
語法:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3){
循環(huán)體;
}
表達(dá)式1: 用于初始化循環(huán)變量.
表達(dá)式2: 循環(huán)條件
表達(dá)式3: 更新循環(huán)變量.
相對(duì)于 while 循環(huán),for 循環(huán)會(huì)把這三個(gè)部分結(jié)合在一起,降低出現(xiàn) bug 的可能。舉例:求 1- 100 的和
int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; } System.out.println("sum = " + sum);
語法:
do{
循環(huán)語句;
}while(循環(huán)條件);
do while 循環(huán)是先執(zhí)行循環(huán)語句,在判斷循環(huán)條件,如果循環(huán)條件為 true 就繼續(xù)循環(huán),否則就退出循環(huán)。不論如何 do while 循環(huán) 都會(huì)執(zhí)行一次。循環(huán)最后的分號(hào)一定不要忘記。舉例:求 1 - 100 的和。
int num = 1; int sum = 0; do { sum += num; num++; } while (num <= 100); System.out.println(sum);
一般 do while 很少用到, 更推薦使用 for 和 while 。
看完上述內(nèi)容,你們對(duì)如何分析Java 邏輯控制有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。