1. 程式人生 > >java學習lesson 03

java學習lesson 03

java三大流程控制:順序、條件、循環

Java三大流程控制

* 順序控制:代碼從上到下依次執行;

* 條件控制;

* 循環控制。

條件控制:條件具有真假的特性,而且只可能為真或為假。

* if語句

import java.util.Scanner;

public class ScoreDemo {
	public static void main(String[] args){
		
	System.out.println("請輸入你的成績:");
		
		
	Scanner sc=new Scanner(System.in);
	int score=sc.nextInt();
	
         // 比較表達式無論簡單還是復雜,結果必須是boolean類型
	 if(score>=90)

         System.out.println("優秀!");
  
       //if語句控制的語句體如果是一條語句,大括號可以省略;
    if(score>=80&&score<90){

         System.out.println("良好!");
  
    }
     if(score>=60&&score<80){

         System.out.println("及格!");
  
    }
     if(score>=0&&score<60){

         System.out.println("不及格!");
  
    }

}
	
}

技術分享


* if……else if……else if(可接N個else if)……else語句

最後一個else可以省略,但建議保留else,以保證程序的完整性,提高可讀性。



  import java.util.Scanner;//導包;只要不是java.long包下的類都要導包;
  public class AgeDemo{
  public static void main(String[] args){
  
      //鍵盤錄入
      System.out.println("請輸入你的年齡:");

      Scanner sc=new Scanner(System.in);

      int age=sc.nextInt();

      //錄入的年齡進入循環進行條件匹配
      if(age>60){

            System.out.println("老年人!!");
          }     
       else if(age>=40&&age<60){

            System.out.println("中年人!!");

          }
       else if(age>=18&&age<40){

            System.out.println("少年!!");
          }
       else{
             System.out.println("未成年!!");
          }

       }
}


技術分享

* switch(判斷值){

case 值:實現的代碼;

break;

case 值:實現的代碼;

break;

case 值:實現的代碼;

break;

default:實現的代碼;

break;

}

switch後面的()不可以省略;

switch後面跟的整形或字符型;

case值後加:只能是字面常量(1,2,‘a‘)或常量表達式(2*3)

break;跳出匹配的條件;break如果省略程序會一直執行下去直到遇到break才跳出循環

default:當匹配不到任何條件時執行的內容

public class SwitchDemo{

    public static void main(String[] args){

    int food=5;
    switch(food){
    case 1:
    case 2:
    case 3:System.out.println("今天吃餃子!!");
    break;
    case 4:System.out.println("今天吃米飯!!");
    break;
    case 5:System.out.println("今天不準吃飯!!");
    break;
    case 6:System.out.println("今天有人請客!!");
    break;
    case 7:System.out.println("今天吃面!!");
    break;   
     }

  }

}

技術分享

* 表達式的類型:


int a = 5;

a*3 (結果15)

表達式的輸出類型為表達式計算結果的類型


double num = 1.5;

num * 4 (6.0, 表達式最終被當做的類型就是double類型)

循環控制

* while 循環


結構:

while(循環條件){

//循環實現的代碼

}

* 求1-50(倆邊都閉區間), 所有偶數的和.

public class EvenNumDemo{

    public static void main(String[] args){
        int arr[]=new int[50];
        int sum=0;
        int i=0;  
        while(i<arr.length){
           arr[i]=(i+1);
           if((arr[i]%2)!=0){
                 sum+=arr[i];
           }
           i++;
           }
        System.out.println("1-50的偶數之和為:"+sum);
}
}

技術分享


* do .. while循環

結構:


do{

//實現的代碼

}while(循環的條件);


* for 循環

使用率最高的;


結構:


for(循環變量初始化 ;循環條件判斷; 循環變量的改變){

//循環需要實現的邏輯

}

* 求1-100自然數,其中所有偶數的和,所有奇數的和,並且求所有偶數的和與所有奇數的和的差.

public class NumSumDemo{
    public static void main(String[] args){
        int MAX_NUM=100;
        int evenSum=0;
        int oddSum=0;
        int poor=0;
        int j=0;
        for(int i=0;i<MAX_NUM;i++){
            j=i+1;
            if((j%2)!=0){
                 oddSum+=(i+1); //余2不等於0:奇數和
           }else{
                 evenSum+=(i+1); //偶數和
           }
         }
         poor=(evenSum-oddSum);
         System.out.println("1-100偶數和為:"+evenSum);
         System.out.println("1-100奇數和為:"+oddSum);
         System.out.println("1-100偶數和與奇數和的差為:"+poor);

}
}

技術分享

* foreach 循環(不是一個常規的java提供的循環的方式,他只是java提供的一種語法糖)

foreach: 對一種循環方式的命名,常規循環的簡化方式。

* 語法糖: 針對基本的語法,提供了一種簡化的實現方式。


* 倆個關鍵字: 應用到循環控制中,continue的含義是跳出當次的循環,break的含義是跳出整個循環。

循環的嵌套:

public class StarDemo{
    public static void main(String[] args){
        int MAX_NUM=4;
        for(int i=MAX_NUM;i>=0;i--){
            for(int j=0;j<i;j++){
                System.out.print("*"); //輸出,不會換行
            }
            System.out.println("*"); //輸出,會默認換行
        }
}
}

技術分享




java學習lesson 03