c if语句多个条件判断顺序_Java中的流程控制语句 (基础篇四)
流程控制就是對事物次序的布置和安排,在程序中就是對代碼執行次序的安排和控制
程序中的流程控制主要有三種:順序流程、選擇流程、循環流程。
順序流程:比如打印輸出的代碼按照指定的順序結構依次排序,打印的結果按照代碼的順序執行打印;
循環流程:選擇結構的代碼實現;
循環流程:循環結構的代碼實現;
一、順序結果
順序結構最容易理解也比較簡單,執行順序就是代碼編寫的順序,從上到下執行。簡單舉個例子:
public static void main(String[] args){//順序執行,根據編寫的順序,從上到下運行System.out.println(1);System.out.println(2);System.out.println(3); } 輸出: 1 2 3二、選擇結構
Java代碼中存在一種特殊的語句,叫做選擇語句,這種選擇語句也需要對一些條件作出判斷,從而選擇對應執行的代碼。這種選擇語句組成的代碼結構就是選擇結構。
選擇語句分為兩種:if條件語句、switch條件語句。
1. if語句
if語句是滿足某種要求的條件就進行某種處理。格式:
...//其他語句 if (布爾表達式) { //它的結果只有true或false語句體; //滿足條件后執行的代碼 }執行流程:
- 首先判斷布爾表達式,看其結果是true還是false
- 如果是true,執行語句體
- 如果是false就不執行語句體,
舉例:
public static void main(String[] args){System.out.println("小明出來玩了")//int age=16;int age=20;//20歲if(age>=18){System.out.println("小明去上網了");}System.out.println("小明回家了") }2. if...else語句
if...else語句是指如果滿足某種條件就進行某種處理,否則就進行另一種處理,格式:
if (布爾表達式){語句體1; } else {語句體2; }執行流程:
- 首先判斷布爾表達式看結果
- 如果是true就執行語句體1
- 如果是false就執行語句體2
舉例:
public static void main(String[] args){// 判斷給定的數據是奇數還是偶數// 定義變量int a = 1;if(a % 2 == 0) {System.out.println("a是偶數");} else{System.out.println("a是奇數");}System.out.println("結束"); }3. if...else if...else語句
if...else if ...else可以對多個條件進行判斷,進行多種不同的處理。
格式:
if (判斷條件1) {執行語句1; }else if (判斷條件2) {執行語句2; } ... }else if (判斷條件n) {執行語句n; } else {執行語句n+1; }執行流程
- 首先判斷布爾表達式1看其結果是true還是false
- 如果是true就執行語句體1
- 如果是false就繼續判斷布爾表達式2看其結果是true還是false
- 如果是true就執行語句體2
- 如果是false就繼續判斷布爾表達式…看其結果是true還是false
- …
- 如果沒有任何布爾表達式為true,就執行語句體n+1。
舉例:
public static void main(String[] args) { int socre=99;//定義變量記錄分數if(socre>=90&&socre<=100) {System.out.println("成績是優秀的!");} else if(socre>=80&&socre<90) {System.out.println("成績很好!");} else if(socre>=70&&socre<80) {System.out.println("成績良好!");} else if(socre>=60&&socre<70) {System.out.println("成績及格!");} else if(socre>=0&&socre<60) {System.out.println("成績不及格!");} else {System.out.println("不合法成績");} }4. switch語句
switch條件語句也是一種比較常用的選擇語句,和if條件語句不同的是,switch只能針對某個表達式的值作出判斷,從而決定程序執行那一段代碼。
格式:
switch(表達式) {//具體的某個變量case 常量值1:語句體1;break; ?case 常量值2:語句體2;break;...default:語句體n+1;break; }注意:switch的表達式只能是byte、short、int、char、Enum、String。
執行流程:
- 首先計算出表達式的值
- 其次,和case依次比較,一旦有對應的值,就會執行相應的語句,在執行的過程中,遇到break就會結束。
- 最后,如果所有的case都和表達式的值不匹配,就會執行default語句體部分,然后程序結束掉。
舉例:
public static void main(String[] args) {//定義變量,判斷是星期幾int weekday = 6;//switch語句實現選擇switch(weekday) {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("你輸入的數字有誤");break;} }特別注意:break不能漏寫,漏寫了會出現case穿透
其實case的穿透性不算是一個bug,用好了可以簡練代碼,實際開發中可以靈活運用case穿透性解決相應的需求,用的不好會改變代碼邏輯。如果case的后邊不寫break,將出現穿透現象,不再判斷下一個case指,直接向后運行直到遇見break;
舉個簡單的例子:
public static void main(String[] args) {int week=1;switch(week) {case 1:case 2:case 3:case 4:case 5:System.out.println("工作日");break;case 6:case 7:System.out.println("休息日");break;default :System.out.println("數字不在1~7范圍之內,請重新指定");} }三、循環結構
Java中一段代碼重復執行的語句叫做循環語句,這種循環語句形成的結構就叫做循環結構。
循環語句有三種:for語句、while語句、do...while語句。
1. for語句
格式:
for ( 初始化語句① ; 判斷條件語句② ; 控制條件語句④ ) {循環體語句③}執行流程:
- 執行順序:①②③④>②③④>②③④…②不滿足為止。
- ①負責完成循環變量初始化
- ②負責判斷是否滿足循環條件,不滿足則跳出循環
- ③具體執行的語句
- ④循環后,循環條件所涉及變量的變化情況
舉例:
public static void main(String[] args) {//1.定義一個初始化變量,記錄累加求和,初始值為0int sum = 0;//2.利用for循環獲取1-100之間的數字for (int i = 1; i <= 100; i++) {//3.判斷獲取的數字是奇數還是偶數if(i % 2==0){//4.如果是偶數就累加求和sum += i;}}//5.循環結束之后,打印累加結果System.out.println("sum:"+sum); }注意:
- 初始化語句i可以是任意的數字
- 判斷語句一定要保證條件有邊界,可以讓程序停下來,否則就會出現死循環
- 控制語句可以變通,主要目的是讓循環變量變化
- 循環變量出了循環結構就不能使用
2. 循環語句while
格式:
初始化語句① while ( 條件判斷② ) {循環體語句③ 條件控制語句(步進表達式)④ }和for循環功能一樣,只不過關鍵字不一樣,代碼結構不一樣。和選擇結構中的if判斷也有點類似,滿足條件就執行 {} 內的語句,區別在于while語句會反復地執行,知道條件不成立。
執行流程:
- 執行順序:①②③④>②③④>②③④…②不滿足為止。
- ①負責完成循環變量初始化。
- ②負責判斷是否滿足循環條件,不滿足則跳出循環。
- ③具體執行的語句。
- ④循環后,循環變量的變化情況。
舉例:
public static void main(String[] args) {//使用while循環實現//定義一個變量,記錄累加求和int sum = 0;//定義初始化表達式int i = 1;//使用while循環讓初始化表達式的值變化while(i<=100){//累加求和sum += i ;//步進表達式改變變量的值i++;}//打印求和的變量System.out.println("1-100的和是:"+sum); }注意:控制變量語句不能忘記,否則會出現死循環。
3. do...while語句
格式:
初始化表達式① do{循環體③條件控制語句④ }while(條件判斷語句 ②); //這里有分號結束執行順序:①③④>②③④>②③④…②不滿足為止。
舉例:
public static void main(String[] args) {int x=1;do {System.out.println("HelloWorld");x++;}while(x<=10); }注意:
- while后邊一定要有分號結束
- 無論條件是否滿足都會先執行一次循環體,然后再去根據判斷是否繼續執行。
4. 嵌套循環
嵌套循環是指一個循環語句中再定義一個循環語句的語法結構。
for嵌套循環格式:
for(初始化表達式①; 循環條件②; 控制條件語句⑦) { //分針 for(初始化表達式③; 循環條件④; 控制條件語句⑥) { //秒針 執行語句⑤; } }執行流程:
假如外層循環執行2次,內循環執行次數2次執行順序:
第一次循環:①②>③④⑤⑥>④⑤⑥>④
第二次循環:⑦②>③④⑤⑥>④⑤⑥>④>⑦②
5. 跳轉語句
調整語句主要有兩個:break和continue
break:
使用場景:終止switch或循環
這里主要說一下在循環語句中的作用,當出現在循環語句中,作用就是終止并跳出循環,繼續執行循環結構后邊的代碼:
while循環舉例:
public static void main(String[] args){int x=1; //定義變量x,初始值為1while(x<=10){ //循環條件 if(x==3){ //跳出循環的條件是當x==3的時候break; //跳出循環}System.out.println("x="+x);//條件成立,打印x的值 x++; //x進行自增} } //不加break將會執行10次,加了break當x==3時候就跳出循環for循環中舉例:
public static void main(String[] args){for(int x=1;x<=10;x++){ System.out.println("x="+x);//打印x的值if(x==3){ //跳出循環的條件是當x==3的時候break; //跳出循環}} }特別注意:當break語句出現在嵌套循環中的內層循環是,它只能跳出內層循環,如果想跳出到外層循環需要在外層循環的關鍵字前添加標記,然后跳轉到標記,這樣才能跳出外層循環。
public static void main(String[] args) {int y=1;demo: while(y<10) { for(int x=1; x<=9; x++) { System.out.println("x="+x);//打印x的值 if(y==3) { //跳出循環的條件是當x==3的時候 break demo; //跳出demo循環} } y++;}}continue:
continue是結束本次循環,繼續下一次循環。
//求1-100之間的奇數的和 public static void main(String[] args) {int sum=0; for (int i = 1; i <= 100; i++) {if(i % 2==0){ //如果是偶數,結束本次循環continue;}sum+=i;//不斷累加 }System.out.println(sum); }總結
以上是生活随笔為你收集整理的c if语句多个条件判断顺序_Java中的流程控制语句 (基础篇四)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android webview 报错,A
- 下一篇: Android phone xp 华为3