java流程控制語句

一、順序語句

語句:使用分號分隔的代碼稱作爲一個語句

注:沒有寫任何代碼只是一個分號的時候,也是一條語句,稱作空語句

 


二、判斷(if…else)

注:如果花括號中只有一條語句,那麼花括號可以省略不寫

格式一:

if(判斷條件){

       執行的代碼塊1;

       執行的代碼塊2;

       …;

       執行的代碼塊n;

}

 

格式二:

if(判斷條件){

    執行的代碼塊1;

    …;

    執行的代碼塊n;

}else{

    執行的代碼塊1;

    …;

    執行的代碼塊n;

}

 

格式三:

if(判斷條件1){

        執行的代碼塊1;

}else  if(判斷條件2){

    執行語句;

}else if(判斷條件3){

    執行語句;

}

   

例子:

import java.util.Scanner;
//導入包import java.util.Scanner,使用Scanner這個類,固定用法Scanner sc=new Scanner(System.in),int nextInt = sc.nextInt()獲取用戶輸入的數字
 
public class Demo1 {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("請輸入一個數:");
    int nextInt = sc.nextInt();
    if (nextInt %2 == 0) {
        System.out.println(nextInt +":是個偶數");
    } else {
        System.out.println(nextInt +":是個奇數");
    }
    System.out.println("over");
 
    }
}
 
 
//運行結果
[root@bch04 java]# javac Demo1.java
[root@bch04 java]# java Demo1
請輸入一個數:
3
3:是個奇數
over

 

[root@bch04 java]# cat Demo2.java
import java.util.Scanner;
public class Demo2 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        System.out.println("請輸入一個數:");
        double score = sc.nextDouble();
        char grade;
        if (score >=90) {
            grade = 'A';
        }
        else if (score >= 80) {
            grade = 'B';
        }
        else if (score >= 60) {
            grade = 'C';  
        }
        else {
            grade = 'D';
        }
        System.out.println(grade);
    }
 
}
 
//運行結果
[root@bch04 java]# java Demo2
請輸入一個數:
78.4
C

 

import java.util.Scanner;
public class Demo3 {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.println("請輸入年份:");
    int year = sc.nextInt();
    boolean isLeapYear = (year %4 == 0);
    isLeapYear = isLeapYear && (year %100 != 0);
    isLeapYear = isLeapYear || (year %400 ==0);
    if (isLeapYear) {
        System.out.println(year +":是潤年");
    } else {
        System.out.println(year +":是平年");
    }
   
}
 
}
 
//運行結果
[root@bch04 java]# java Demo3
請輸入年份:
2018
2018:是平年

 

 

三、選擇判斷語句(switch)

格式:

switch(表達式)

{

    case 取值1:

       執行語句;

       break;

    case 取值2:

       執行語句;

       break;

    …...

    default:

       執行語句;

       break;

}

switch語句特點:

1)switch語句選擇的類型只有四種:byte,short,int,char;

2)case之間與default沒有順序,先判斷所有的case,沒有匹配的case執行default;

3)switch語句停止的條件是:遇到了break關鍵字或者結束switch語句的大括號;

4)如匹配的case或者default沒有對應的break,那麼程序會繼續向下執行,直到遇到break或者switch結尾結束;

5)switch case中的值必須要與switch表達式的值具有相同的數據類型

 

例子:

[root@bch04 java]# cat Demo4.java
import java.util.Scanner;
public class Demo4 {
    public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    double x = sc.nextDouble();
    String z = sc.next();
    double y = sc.nextDouble();
    switch (z) {
    case "+":
        System.out.println("x+y=" +(x+y));
        break;
    case "-":
        System.out.println("x-y=" +(x-y));
        break;
    case "*":
        System.out.println("x*y=" +(x*y));
        break;
    case "/":
        System.out.println("x/y=" +(x/y));
        break;
    default:
        System.out.println("不靠譜");
        break;
    }
   
    }
}
 
//運行結果
[root@bch04 java]# java Demo4
4
+
5
x+y=9.0

 

 

四、while循環

說明:先判斷條件,只有條件滿足才執行循環體

格式:

while(條件表達式)

{

執行語句;

}

  

例子

[root@bch04 java]# cat Demo5.java
import java.util.Scanner;
public class Demo5 {
public static void main(String[] args) {
int num = (int)(Math.random()*100)+1;
Scanner sc = new Scanner(System.in);
int guessNum = -1;
 
while (guessNum != num) {
    System.out.println("請輸入1-100之間的數:");
    guessNum = sc.nextInt();
    if ( guessNum == num) {
       System.out.println("中了!");
 
    } else if ( guessNum > num) {
       System.out.println("值大了!");
 
    } else {
       System.out.println("值小了!");
 
    }
}
 
}
}
 
//運行結果
[root@bch04 java]# javac Demo5.java
[root@bch04 java]# java Demo5
請輸入1-100之間的數:
12
值小了!
請輸入1-100之間的數:

 

 

五、do while循環

說明:先執行循環體,再判斷條件,條件滿足,再繼續執行循環體

特點:條件無論是否滿足,循環體至少被執行一次

格式

do

{

    執行語句;

}while(條件表達式);

 

例子

[root@bch04 java]# cat Demo6.java
import java.util.Scanner;
public class Demo6 {
public static void main(String[] args) {
int num = (int)(Math.random()*100)+1;
Scanner sc = new Scanner(System.in);
int guessNum = -1;
int count = 0;
 
do {
    System.out.println("請輸入1-100之間的數:");
    guessNum = sc.nextInt();
    if ( guessNum == num) {
       System.out.println("中了!");
 
    } else if ( guessNum > num) {
       System.out.println("值大了!");
 
    } else {
       System.out.println("值小了!");
 
    }
    count++;
} while ( guessNum != num);
 
System.out.println("要猜的數字是:" +num +" 你一共猜了:" +count +"次");
 
}
}
 
//運行結果
[root@bch04 java]# javac Demo6.java
[root@bch04 java]# java Demo6
請輸入1-100之間的數:
10
值大了!
請輸入1-100之間的數:
5
值大了!
請輸入1-100之間的數:
4
值大了!
請輸入1-100之間的數:
2
中了!
要猜的數字是:2 你一共猜了:4次

 

 

六、for循環

格式:

for(初始化表達式;循環條件表達式;循環後的操作表達式) {

       執行語句;

}

  

例子:

[root@bch04 java]# cat Demo7.java
public class Demo7 {
    public static void main(String[] args) throws InterruptedException {
    for (int i=1;i<=9;i++) {
        for (int j=1;j<=i;j++) {
            System.out.print(i +"*" +j +"=" +(i*j) +"\t");
            Thread.sleep(1000);
            }   
        System.out.println(" ");
        }
    }
}
 
 
//運行結果
[root@bch04 java]# javac Demo7.java
[root@bch04 java]# java Demo7
1*1=1   
2*1=2  2*2=4   
3*1=3  3*2=6  3*3=9   
4*1=4  4*2=8  4*3=12 4*4=16  
5*1=5  5*2=10 5*3=15 5*4=20 5*5=25  
6*1=6  6*2=12 6*3=18 6*4=24 6*5=30 6*6=36  
7*1=7  7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=49  
8*1=8  8*2=16 8*3=24 8*4=32 8*5=40 8*6=48 8*7=56 8*8=64  
9*1=9  9*2=18 9*3=27 9*4=36 9*5=45 9*6=54 9*7=63 9*8=72 9*9=81

 

 

七、break、continue關鍵字

break:終止語句後面的語句

continue:跳出本循環,執行下一次循環

注:如果continue出現在循環的末尾(最後一條語句),那麼可以省略

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章