天天看點

Java流程控制(循環結構)

一.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也可以配合标記使用