JAVA基礎 之 邏輯控制
概述:
Java語句(流程控制、邏輯控制)
關鍵字:if、switch、while、do while、for、break、continue、return
Java代碼:
- package com.cxy.base;
- /**
- * @author cxy
- */
- public class BaseTest2
- {
- public static void main(String[] args)
- {
- int i=1;
- //最簡單的if,當然這里的else可以不寫
- if(i==1)
- {
- System.out.println("i等于1");
- }else
- {
- System.out.println("i:"+i);
- }
- //嵌套if:一個if塊 或者 else塊內 還有if語句。
- if(i<2)
- {
- if(i==1)
- {
- System.out.println("i等于1");
- }else
- {
- System.out.println("i小于2但是不等于1");
- }
- }else
- {
- System.out.println("i大于2");
- }
- //多重if:多個if (例A)
- if(i==1){ /*你的操作*/ }
- if(i==2){ /*你的操作*/ }
- //if-else if (例B)
- if(i==1){ /*你的操作*/ }
- else if(i==2) { /*你的操作*/ }
- /* 注意上面例A和例B的區別
- * 例A 是無論i等不等于1 他都會去判斷i等不等于2
- * 例B 是只有i不等于1的時候程序才會去判斷i等不等于2
- * 其實個人感覺if-else if的模式 即可以說是多重if,又可以說是嵌套if,這兩方面的特點都具備,不過更加嚴格來講還是嵌套
- * */
- //if-else如果情況很多 會導致代碼很臃腫,這時候您可以考慮使用switch
- switch (i)
- {
- case 1:
- {
- //你的操作
- break;
- }
- case 2:
- {
- //你的操作
- break;
- }
- default:
- break;
- }
- /* 解釋:
- * 1.如果i(switch括號中的變量)等于1(case 1),那么執行這種case下的代碼塊,如果都不是那么就執行default代碼塊
- * 2.switch括號中的變量 的類型只能是 byte、short、char、int,不過從java7開始可以是String類型了
- * 3.每個case方法體都建議有一個break,否則會出現非預期的結果(當然除非你知道結果就是那樣的)
- * 4.下面例子只能在java7下運行,請運行后注釋掉所有的break再看結果
- * */
- String flag="abc";
- switch (flag)
- {
- case "aaa":
- {
- System.out.println("case abc");
- break;
- }
- case "abc":
- {
- System.out.println("case abc");
- break;
- }
- case "bbb":
- {
- System.out.println("case bbb");
- break;
- }
- default:
- {
- System.out.println("這里沒有找到適合flag的情況");
- break;
- }
- }
- System.out.println("------------------------");
- //while 和 do while
- System.out.print("while測試:");
- int j=0; //改成5
- while(j<5)
- {
- System.out.print(j+" ");
- j++;
- }
- System.out.println();
- System.out.print("do while測試:");
- j=0; //改成5
- do
- {
- System.out.print(j+" ");
- j++;
- }
- while(j<5);
- //這里注意while和do while的區別,while是先判斷再執行,而do while先執行(無論第一次是否滿足條件)再判斷
- //這里將兩處j的值改成5看一下結果
- //使用這兩個關鍵字 要注意死循環問題,while后的表達式一定要有成為false的時候,否則程序會一直循環下去
- System.out.println("");
- System.out.println("------------------------");
- /* for 常用的循環方式
- * for后面的()中有兩個分好,3個表達式
- * 第一個表達式:初始化一些東西,一般是控制循環的變量
- * 第二個表達式:循環條件,是true的時候才會繼續循環(所以一定要保證這里有一些時刻會是false,否則就出現死循環)
- * 第三個表達式:控制循環變量的變化(以保證程序可以正常結束,不是死循環)
- */
- System.out.print("for測試:");
- for(int k=0;k<6;k++)
- {
- System.out.print(k+" ");
- }
- System.out.println("");
- System.out.println("------------------------");
- /* break、continue、return
- * break:強制終止循環(跳出循環),switch下是跳出case判斷
- * continue:結束本次循環,開始執行下次循環
- * return:原意用在方法返回值,但是如果方法內有循環體,那么可以通過return來側面控制循環
- * */
- System.out.print("break、continue測試:");
- for(int k=0;k<6;k++)
- {
- if(k==2){ continue; } //當k是2的時候 結束這次循環(不會打印),開始下次循環
- if(k==4){ break; } //當k是4的時候,直接結束循環(雖然k還仍然在可循環條件范圍內)
- System.out.print(k+" ");
- }
- System.out.println("");
- //結果:break測試:0 1 3
- System.out.println("------------------------");
- //首先這個是一個嵌套循環,循環體內還有循環
- //在if中 分別修改break、continue、return體驗他們的不同
- for(int n=0;n<3;n++)
- {
- for(int m=0;m<3;m++)
- {
- if(m==1)
- {
- // continue;
- // break;
- // return;
- }
- System.out.print(n+","+m+" ");
- }
- System.out.println();
- }
- //得出結論:return使得整個方法返回不僅僅是結束一個循環那么簡單,如果你一個方法中存在循環,請慎用return去控制循環結束
- System.out.println("------------------------");
- System.out.println("程序正常結束");
- }
- }
聲明:
1.原創文章(http://www.software8.co/wzjs/java/3090.html),轉載請標明并加本文連接。
2.文章反映個人愚見,如有異議歡迎討論指正