一.while語句
1.格式
while(進入循環的條件){
循環體語句
}
2.執行流程
先判斷循環條件是否滿足,如果條件為true,則進入循環體,執行完畢後再次回到while語句進行下一次的判斷,如果條件為false,則退出循環
3.特點—先判斷後執行
1)想要進入循環,應該對循環變量設定适當的值,以便滿足判斷條件
2)要想執行指定次數後退出循環而避免死循環,應設法在循環體内對循環變量的值做修改
4.注意事項
1)如果循環體隻有一個語句,可以省略大括号,但為了保證程式結構的清晰和可讀性,建議不要省略
2)while語句的判斷條件後不能加分号,否則會影響到執行的效果
3)永真循環又叫死循環,如while(true)或while(1==1)
二.使用Random類産生随機數
1)建立Random類的對象,Random類在java.util包中
2)調用Random類的方法傳回随機數
int nextInt()—傳回随機整數
int nextInt(int n)—傳回0到n-1間的随機整數
m到n之間的随機數—nextInt(n-m+1)+m
三.do while語句
1.格式
do{
循環體語句
}while(判斷條件);
2.執行流程
無論條件是否滿足,都先進入循環體執行一次,然後再判斷循環條件是否滿足,如果條件為true,則再次進入循環體,如果條件為false,則退出循環
3.特點—先執行後判斷
4.注意事項
while語句後有分号
四.for語句
1.格式
for(初始化語句;條件判斷語句;後續語句){
循環體語句
}
2.執行流程
1)初始化語句隻會執行一次,用于循環變量的初始化,保證能進入循環
2)判斷循環條件是否滿足,如果條件為true,則進入循環體,如果條件為false,則退出循環體
循環執行完畢後,在執行後續語句(一般在這裡修改循環變量的值)
3)重複步驟2,進行下一次判斷
3.特點—先判斷後執行
1)要想進入循環,應對循環變量設定适當的值,以便滿足判斷條件
2)要想執行指定次數後退出循環而避免死循環,應設法在循環體内對循環變量的值做修改
4.注意事項
1)如果循環體隻有一個語句,可以省略大括号,但為了保證程式結構的清晰和可讀性,建議不要省略
2)for語句的判斷條件後不能加分号,否則會影響到執行的效果,整個for語句末尾無需加分号
3)用針循環又叫死循環,如for(;;)或for(;true;)或for(;1==1;)
五.循環語句的嵌套使用
1.三種循環語句都可以嵌套使用,形成多重循環
2.三種循環語句的比較
1)for循環适用于循環次數已知的情況,而while循環和do while循環适用于循環次數未知的情況
2)while循環和for循環有可能一次也不執行,而do while循環至少執行一次
3)大多數情況,三種循環可以互相等價替代,都能實作相同的功能需求
六.導緻流程跳轉的語句
以下四種情況都可以導緻程式代碼的執行流程發生改變
1)break //退出整個循環
2)continue //退出本次循環進入下一次循環
3)return //方法傳回
4)throw //抛出異常
1.break關鍵字
1)break用于switch語句時,會立即退出整個switch語句,繼續執行後面的語句
2)break用于循環語句時,會立即退出目前所在的循環語句,繼續執行後面的語句
while(true){
循環體語句;
if(條件){
break;
}
}
等價于
boolean flag = true;
while(flag){
循環體語句;
if(條件){
flag =false;
}
}
3)單獨使用break隻能退出目前循環,配合标記使用退出外層循環
outer:for(int j=0;j<3;j++){
for(int i=0;i<2;i++){
System.out.println("hello world");
break outer;
}
}
2.continue關鍵字
1)continue隻能用于循環語句中,不會退出整個循環,隻會退出本次循環,繼續執行下一次循環
2)continue後面不能跟其他語句,因為這些語句永遠都無法執行到,稱之為死代碼
3)continue也可以配合标記使用