1 程序結構
程序結構分為順序結構、分支結構、循環結構。分支結構有:if結構,if....else結構,if...else if....else ,if...else結構,switch結構;循環結構有:while循環,do....while循環,for循環。
2 分支結構
①if結構 語法:
if(布爾表達式){
//語句;
}
執行過程:如果布爾表達式為true執行其下語句,布爾表達式為false時不執行其下語句。
{}可以省略,如果省略將執行第一個語句塊。為了程序的可讀性推薦不要省略{}
②if...else結構 語法:
if(布爾表達式){
//語句1
}else{
//語句2;
}
執行過程:如果布爾表達式值為true,執行語句1,否則執行語句2.
{}也是可以省略的,省略之后只執行第一個語句塊。
示例1:根據用戶輸入的年份,加上一個[0,10]隨機數后,判斷該年是否為閏年。
分析:
1.獲取用戶輸入的年份:Scanner
2.產生一個[0,10]之間的隨機整數:Math.random()-->(0,1)之間的隨機小數
3.判斷該年是為閏年,閏年的判斷條件:能被4整除並且不能100整除;或者能被400整除。
public class TestIfElse2{
public static void main(String[] args){
Scanner input = new Scanner(System.in);
System.out.println("請輸入一個年份:");
int year = input.nextInt();
//產生[0,10]之間的隨機整數
int random = (int)(Math.random()*11);
year = year+random;
//判斷是否為閏年
if((year%4==0&&year%100!=0)||year%400==0){
System.out.println(year+"為閏年,共366天!");
}else{
System.out.println(year+"為平年,共365天!");
}
}
}
示例2:(if嵌套)
if嵌套:一個if語句包含了其他的if語句。
if(條件1){
if(條件2){
//語句;
}
}
③if....else if....else結構 語法:
if(條件1){
//語句1;
}else if(條件2){
//語句2;
}else if(條件3){
//語句3
}....{
}else{
//語句N;
}
執行過程:先判斷條件1是否成立,如果條件1成立執行語句1並跳出條件結構;如果條件1不成立繼續判斷其下的條件2,如果條件2成立執行語句2....,所有條件都不成立執行else中語句N.
注意:條件的位置有可能影響執行結構,條件位置一般需要滿足從范圍小的條件到范圍大的條件逐次擺放。
④switch結構
switch可以代替多重if條件結構中等值判斷。
語法:
switch(表達式){
case 值1:
語句1;
[break];
case 值2:
語句2;
[break];
....
default
語句N;
[break];
}
執行過程:將表達式的值與case中的常量值挨個進行比較,如果匹配成功將執行其下語句,直到遇到break關鍵字跳出switch結構。
注意:
1)swtich中傳入的表達式可以是byte,short,int,char,從JDK1.7以后支持String類型
2)case后的常量值不能重復
3)case語句中的break是可以省略的,但如果省略break將出現case穿透。
4)default語句也是可以省略的。
3 循環結構
如果遇到需要反復做的事情,可以利用循環進行解決。
①while循環 語法:
while(布爾表達式){
//循環體
}
執行過程:
步驟1:先判斷布爾表達式值是否為true,如果為true進入步驟2
步驟2:執行while中循環體,執行結束后回到步驟1
注意:檢查循環是否能退出(檢查循環條件是否不滿足的時候)
特點:先判斷,后執行,有可能一次都不執行。
②do...while循環 語法:
do{
//循環體;
}while(布爾表達式);
執行過程
步驟1:先執行循環體,進入步驟2
步驟2:判斷布爾表達式是否為true,如果值為true,執行步驟1,否則退出循環。
特點:先執行,后判斷。執行會執行1次。
③for循環 語法:
for(表達式1;表達式2;表達式3){
//循環體;
}
表達式1:循環變量的初始化,只會執行1次
表達式2:循環條件
表達式3:更改循環變量(步進)
注意:從語法的角度上說表達式1,表達式2,表達式3都可以省略,分號不能省略。但是如果省略了表達式2和表達式3經常會造成死循環。終止執行:ctrl+c
特點:先判斷,后執行。有可能一次都不執行。
執行過程:
步驟1:先執行表達式1進行循環變量的初始化工作
步驟2:執行表達式2進行循環條件的判斷,如果條件為true,執行步驟3,否則退出循環。
步驟3:執行循環體;
步驟4:執行表達式3進行更改循環變量,然后執行步驟2。
4 break和continue
①break關鍵字可以用於switch結構和循環結構
作用: 1.如果用於switch結構,跳出當前的case語句
2.如果用於循環結構中,跳出當前循環結構。
②continue關鍵字只能用於循環結構。
作用:跳過本次循環,重新開始下一趟循環。
5 return
可以使用return關鍵字結束當前函數的執行。
在函數中只要遇到了return關鍵字,終止當前函數(方法),並回調函數(方法)的被調用處。