1、複合語句
if條件語句
使用場景:boolean型別判斷、一個範圍的判斷、幾個常量值的判斷
有左大括號就沒有分號,有分號就沒有左大括號。
如下:
public class demo1 { static int x = 1;//定義成員變數x //以下包含許可權修飾符、靜態修飾符、返回值修飾符以及主方法main() public static void main(String[] args){ int x = 2;//定義區域性變數x int y=3; if (x==y); { System.out.println("依然會輸出"); } } }
此時{}內與if (x==y)無關,”;“代表停止,if (x==y)變空語句體。()內的表示式必須是boolean型別
if…else語句也可以使用三元運算子進行簡化
if (x>0){ z=y; } else { z=x; } //可簡化成如下語句 z=x>0?y:x;
if…else if多分支語句結構
if(){ } else if{ }
...
switch多分支語句
使用場景:針對幾個常量值的判斷
語法結構,注意case的常量值必須互不相同。
switch(表示式) { case 常量1 語句塊1 [break;]//break省略結果會出現case穿透,case1和case2同時出現在輸出結果 ... case 常量n 語句塊n [break;] default://可省略,但不建議,為不正確的情況給出提示資訊 語句塊 [break;]//可省略 }
demo:鍵盤輸入1~7,輸出星期一~日
import java.util.Scanner;//導包 public class demo2 { public static void main(String[] args){ //建立錄入物件 Scanner sc = new Scanner(System.in); //控制鍵盤錄入資料 System.out.println("請輸入1~7"); int week = sc.nextInt(); switch (week){ case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; ... case 7: System.out.println("星期日"); break; default: System.out.println("程式錯誤"); break; } } }
2、迴圈語句
三種迴圈語句優先考慮for,其次while,最後考慮使用do…while。
while迴圈語句
while(判斷條件語句) { 迴圈體語句; 控制條件語句; } //示例 public class getsum{ public static void main(String[] args){ int x = 1; int sum=0; while(x<10){ sum = sum + x; x++; } } }
注意因為while在括號加“;”出現死迴圈,如:while(x==5);
do…while迴圈語句
先執行一次迴圈再判斷條件,迴圈至少被執行一次
do{ 迴圈體語句; 控制條件語句; } while(判斷條件語句);//注意這裡要加分號結束
for迴圈語句
表示式1:變數初始化
表示式2:迴圈條件表示式,boolean型表示式
表示式3:操作表示式,修整變數
for(表示式1;表示式2;表示式3;)//for括號裡的變數在{}外不能訪問,變數及早的從記憶體中消失可以提高記憶體的使用效率 { 迴圈體語句; }
科普一下水仙花數,什麼是水仙花數?
是一個三位數,且滿足每個位上的數字的 3次冪之和等於它本身,例如153=1^3+5^3+3^3
for巢狀九九乘法表
public class chengfabiao { public static void main(String[] args){ for(int x = 1;x <= 9;x++){ for(int y = 1;y <= x;y++){ System.out.print(y+"*"+x+"="+y*x+" "); } System.out.println(); } } }
3、迴圈控制
break語句
遇到break,跳出迴圈
continue語句
continue不是立即跳過本次迴圈,而是跳過本次迴圈結束前的語句,回到迴圈的條件測試部分