Java分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)原理與用法詳解
本文實(shí)例講述了Java分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。分享給大家供大家參考,具體如下:
流程控制分類
- 順序語(yǔ)句:從上到下按順序依次執(zhí)行
- 分支語(yǔ)句:根據(jù)條件不同,執(zhí)行不同語(yǔ)句
- 循環(huán)語(yǔ)句:重復(fù)執(zhí)行某些動(dòng)作
單分支條件判斷語(yǔ)句
條件語(yǔ)句
只是單獨(dú)的判斷條件是否成立
if選擇結(jié)構(gòu)是根據(jù)條件判斷之后再做處理
語(yǔ)法
if(布爾表達(dá)式)
{
//如果布爾表達(dá)式為true將執(zhí)行的語(yǔ)句
}


注意:條件必須是boolean類型
if只帶一條語(yǔ)句可以省略{}
雙分支條件判斷語(yǔ)句
if...else...需要對(duì)條件成立和不成立的情況分別處理
if 語(yǔ)句后面可以跟 else 語(yǔ)句,當(dāng) if 語(yǔ)句的布爾表達(dá)式值為 false 時(shí),else 語(yǔ)句塊會(huì)被執(zhí)行。
語(yǔ)法
if(條件){
//代碼塊1
}else{
//代碼塊2
}

多分支條件判斷語(yǔ)句
if...else if...else 語(yǔ)句
語(yǔ)法
if(布爾表達(dá)式 1){
//如果布爾表達(dá)式 1的值為true執(zhí)行代碼
}else if(布爾表達(dá)式 2){
//如果布爾表達(dá)式 2的值為true執(zhí)行代碼
}else if(布爾表達(dá)式 3){
//如果布爾表達(dá)式 3的值為true執(zhí)行代碼
}else {
//如果以上布爾表達(dá)式都不為true執(zhí)行代碼
}
注意:多個(gè)條件用多個(gè) else if,而if只能有一個(gè);
else可以省略,表示以上條件都不成立執(zhí)行else
if,else if,else只帶一條語(yǔ)句可以省略{}
String類型比較字符串相等的方法
字符串1.equals("字符串2");//相等 true 不相等f(wàn)alse
== 判斷的是內(nèi)存地址,是否為同一對(duì)象,不是字符串值。
int num2 = input.nextInt();
boolean flag = num2.equals("+");
switch語(yǔ)句
switch 語(yǔ)句判斷一個(gè)變量與一系列值中某個(gè)值是否相等,每個(gè)值稱為一個(gè)分支。
語(yǔ)法
witch(expression){
case value :
//語(yǔ)句
break; //可選
case value :
//語(yǔ)句
break; //可選
//你可以有任意數(shù)量的case語(yǔ)句
default : //可選
//語(yǔ)句
}
switch和多重if的區(qū)別
【1】switch只能進(jìn)行等值的條件判斷;多重if可以判斷任何情況,但多用于范圍的判斷;
【2】同樣都是等值的判斷,switch效率要高一些
switch注意:
【1】支持標(biāo)簽堆疊:空標(biāo)簽羅列在一起
【2】多個(gè)條件判斷可以有多個(gè)case標(biāo)簽
【3】default:標(biāo)簽可以省略
【4】break;結(jié)束switch不加 繼續(xù)執(zhí)行;
【5】表達(dá)式的類型與值的類型要一致,只能是byte,short,int,char,String,枚舉
package test;
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("輸入一個(gè)月份:");
int month = input.nextInt();
switch(month) {
case 3:
case 4:
case 5:
System.out.println("春天");
break;
case 6:
case 7:
case 8:
System.out.println("夏天");
break;
case 9:
case 10:
case 11:
System.out.println("秋天");
break;
case 12:
case 1:
case 2:
System.out.println("冬天");
break;
default:
System.out.println("輸入的月份不正確!");
}
System.out.println("Game Over!");
}
}
分支語(yǔ)句嵌套
if(條件1){
if(條件2){
代碼塊;
}
}
注意:只有外層 條件1 成立true,才能進(jìn)行內(nèi)層 條件2 的判斷。
循環(huán)語(yǔ)句
循環(huán):重復(fù)執(zhí)行的操作。
特點(diǎn):循環(huán)條件
循環(huán)操作
分類:
非固定次數(shù)循環(huán)
while
do - while
固定次數(shù)循環(huán)
for
非固定次數(shù)循環(huán)
while(條件){
循環(huán)體;//循環(huán)操作
}
特點(diǎn):先進(jìn)行條件判斷,后執(zhí)行循環(huán)操作。
解決循環(huán)次數(shù)固定的問(wèn)題:
三要素:1.循環(huán)變量的初值;
2.循環(huán)變量的終止值(條件)
3.循環(huán)變量變化的值(迭代,增量)
解決非固定次數(shù)問(wèn)題:
解題方法:1.確定循環(huán)條件
2.確定循環(huán)體;
do-while循環(huán)
do{
循環(huán)體;
}while(循環(huán)條件);
注意:先執(zhí)行,后判斷條件;
固定次數(shù)循環(huán)
for(初值;條件終止值;增量){
循環(huán)操作;
}
注意:先條件判斷
支持逗號(hào)表達(dá)式
跳轉(zhuǎn)語(yǔ)句
break
【1】用在switch和循環(huán)中
【2】用在單層循環(huán)中,用來(lái)結(jié)束循環(huán)
continue
【1】continue語(yǔ)句用來(lái)結(jié)束本次循環(huán)
【2】用在循環(huán)語(yǔ)句中
更多關(guān)于java算法相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《Java數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Java操作DOM節(jié)點(diǎn)技巧總結(jié)》、《Java文件與目錄操作技巧匯總》和《Java緩存操作技巧匯總》
希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。
相關(guān)文章
java模擬post請(qǐng)求發(fā)送json的例子
本篇文章主要介紹了java模擬post請(qǐng)求發(fā)送json的例子,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
eclipse自動(dòng)創(chuàng)建SpringBoot項(xiàng)目報(bào)錯(cuò)的解決
這篇文章主要介紹了eclipse自動(dòng)創(chuàng)建SpringBoot項(xiàng)目報(bào)錯(cuò)的解決方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01
SpringBoot優(yōu)雅地實(shí)現(xiàn)全局異常處理的方法詳解
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何優(yōu)雅地實(shí)現(xiàn)全局異常處理,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2022-08-08
SpringBoot @ConfigurationProperties注解的簡(jiǎn)單使用
即便現(xiàn)在簡(jiǎn)化了配置,但是一個(gè)獨(dú)立的配置文件總是易于理解而且使人安心的。Spring在構(gòu)建完項(xiàng)目后,會(huì)默認(rèn)在resources文件夾下創(chuàng)建一個(gè)application.properties文件,application.yml也是一樣的效果。@ConfigurationProperties可以獲取配置文件中的數(shù)據(jù),將其注入類。2021-05-05
IntellJ idea使用FileWatch實(shí)時(shí)編譯less文件的方法
這篇文章主要介紹了IntellJ idea使用FileWatch實(shí)時(shí)編譯less文件的相關(guān)資料,需要的朋友可以參考下2018-02-02

