Java SE基礎部分--.03Java流程控制
學習目標:
1、流程控制
2、if else判斷語句
3、switch選擇語句
4、for迴圈語句
5、while迴圈語句
6、do while迴圈語句
7、跳出語句break,continue
一、流程控制:
1、流程控制:分為順序結構、判斷(選擇)結構、迴圈結構
2、順序結構:程式是按照從上往下的順序執行的。
3、判斷語句:當程式執行過程中、需要加一些條件、就要使用java 中的判斷結構、判斷結構分別是:if 、if –else、 if-else if、switch
4、迴圈結構:某些事情、需要重複性做很多次、此時就要用迴圈語句、java 迴圈有三種:for 迴圈、
二、順序結構:
順序就是程式從上向下執行;
例子:
三、判斷語句:
1、判斷語句if:
格式 : if(關係表示式){ //關係表示式為一個boolean 結果。
語句體;
}
例:
2、判斷語句: if else 、格式:if(關係表示式){
語句體一;
}else{
語句體二;
}
例:
3、if else 語句和三元運算子的互換:在某些應用中、if 語句可以和三元運算子互換
例:
4、判斷語句、if else – if else:
格式: if(判斷語句
執行語句一;
}else if(判斷語句2){
執行語句二;
}else if(判斷語句n){
執行語句n;
…..
}else{
執行語句n+1;
}
例:
5、巢狀判斷結構:
格式: if(判斷條件1){//條件1 滿足才能進行第二個if 判斷。
If(判斷條件2){
} }
例:
6、選擇語句-switch:
格式:
定義常量表達式
Switch(表示式){//表示式為常量 整型、字元、字串
Case 常量1:
語句體1;
Break;
Case
語句體2;
Break;
………
default:
語句體n+1;
Break;
}
例子:
public static void main(String[] args) {
int day = 2;
switch(day){
case 1:
System.out.println("星期一");
break;
case 2:
System.out.println("星期二");
break;
default:
System.out.println("沒有這個星期");
break;
}
System.out.println("Hello World!");
}
7、case 穿透性:如果switch 語句裡、case 後面不寫break、就會進行穿透、直接向後執行、
直到遇到break、或整體switch 結束。
例子:
public static void main(String[] args) {
int i = 5;
switch (i){
case 0:
System.out.println("執行case0");
break;
case 5:
System.out.println("執行case5");
case 10:
System.out.println("執行case10");
default:
System.out.println("執行default");
}
}
四、迴圈結構:
1、迴圈語句:某些事情、需要重複性做很多次、此時就要用迴圈語句、java 迴圈有三種:for 迴圈、while 迴圈、do-while 迴圈
2、迴圈語句-for:
格式: for(初始化表示式1; 布林表示式2; 修改布林表示式 4){
迴圈體 3;
}
執行流程:1234—>234-->234—>…2 不滿足為止
例子:計算1-100 之間偶數和
Public static void main(String[] args){
int sum = 0;
for(int i =1; I <= 100; i++){
if( i % 2 ==0 ){
sum +=I;
}
}
System.out.println(“sum=”+sum);
}
3、迴圈語句-while
格式:
初始化表示式1
While(布林表示式2){
迴圈體3;
修改布林表示式4(迭代);
}
執行順序:1234—>234-->234—>….2 不滿足為止
例子:while 迴圈出10 次中國
Int i = 1;
While(i <= 10){
System.out.println(“中國”);
i++;
}
4、迴圈語句do – while:無條件執行一次。
格式:
初始化表示式1;
Do{
迴圈全3;
修改表示式4;
}while(布林表示式2);
執行順序:134—>234-->234…..2 不滿足為止
例子:
Int x = 1;
Do{
System.out.println(“ok”);
}while(x <= 10);
5、迴圈語句的區別for、while:
控制條件語句所控制的那個變數如int i,在for 迴圈結束後,就不能再被訪問到了,而while 迴圈
結束還可以繼續使用,如果你想繼續使用,就用while,否則推薦使用for。原因是for 迴圈
結束,該變數就從記憶體中消失,能夠提高記憶體的使用效率。
例子:
6、無限迴圈:
while 格式:
while(true){
迴圈體;
}
For 的格式:
For( ; ; ){
迴圈體;
}
7、巢狀迴圈
格式:
For(初始化表示式1; 布林表示式2;修改迴圈條件7){
For(初始化表示式3; 布林表示式4;修改迴圈條件6)){
執行語句5;
}
}
執行順序:123456>456>723456>456
外迴圈一次內迴圈多次、外迴圈代表行、內迴圈代表列。
例子:
class ForForDemo {
public static void main(String[] args) {
//外層迴圈
for (int i = 1;i <= 2;i++ ){
//內層迴圈
for (int j = 1;j <= 2;j++){
System.out.println("i = "+ i + " , j = " +j);
}
}
System.out.println("Hello World!");
}
}
8、跳出語句break:停止switch 或者迴圈語句
迴圈中或switch 選擇結構中遇到break 就會直接退出當前迴圈、break 只能在switch 的case
中、或者用在迴圈中。
例子:
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
//需求:列印完兩次HelloWorld 之後結束迴圈
if(i == 3){
break;
}
System.out.println("HelloWorld" + i);
}
}
9、continue:在迴圈裡、跳過本次迴圈、執行本迴圈的下一次的迴圈。
例子:
public static void main(String[] args) {
for (int i = 1; i <= 10; i++) {
//需求:不列印第三次HelloWorld
if(i == 3){
continue;
}
System.out.println("HelloWorld"+i);
}
}