1. 程式人生 > >JAVA—— 邏輯 結構

JAVA—— 邏輯 結構

三種邏輯結構

Java中也有三種邏輯結構:
1,順序結構
2,選擇結構
3,迴圈結構
(一)順序結構

順序結構即按照順序執行:
舉例程式碼如下:

//以下程式碼按照順序執行
//計算兩個數的和

 public class Example{
 public static void main(String[] args){
  int num1 = 2;
  int num2 = 4;
  int sum = num1 + num2;
  System.out.println("sum = "+sum);
 }
}

執行結果如下:
在這裡插入圖片描述
(二)分支結構

分支結構即選擇結構。
1,if 結構




基本資料型別比較(即表示式值)可以用 bool 型別。
引用資料型別比較(即表示式值) 應該使用 equals。
(字串和字串比較不能用 ==,應該用equals)
Java中沒有 1,0 表示真假。用bool值表示真假,true為真,false為假。



形式1:

if(布林表示式){    
//條件滿足時執行程式碼   
 }
 else{    
 //條件不滿足時執行程式碼 
    }

舉例如下:

//找出兩個數中的最大值

 public class Example2{
 public static void main(String[] args){
  int num1 = 2;
  int num2 = 4;
  int max = 0;
  if(num1 > num2){
   max = num1;
  }
  else{
   max = num2;
  }
  System.out.println("max = "+max);
 }
}

執行結果如下:
在這裡插入圖片描述

形式2:

if(布林表示式){
                //條件滿足時執行程式碼
        }
        else if(布林表示式){ 
                //條件滿足時執行程式碼
         } ...
         else{ 
                //條件都不滿足時執行程式碼 
         }

舉例如下:

//以下程式碼是找出三個數中的最大值

 public class Example2{
 public static void main(String[] args){
  int num1 = 2;
  int num2 = 4;
  int num3 = 8;
  int max = 0;
  if(num1 > num2){
   max = num1;
  }
  else if(num2 > num3){
   max = num2;
  }
  else{
   max = num3;
  }
  System.out.println("max = "+max);
 }
}

執行結果如下:
在這裡插入圖片描述

2,switch結構

如果有多個值進行判斷,則使用switch結構。
注意:

  • switch後面的常量可以為 數字,列舉,字元,字串;
    C語言中switch後面的常量只能為 數值(常量,常量表達式都可以) 或字 符。
  • 若多個case對應的值一樣,則只寫一條語句即可。
  • case命令後最好加 break 或者 continue,就不用繼續執行下面的語句。
  • 命令後如果超出一條語句,用大括號括起來最好。



switch結構形式為:

//輸入第幾天,判斷是星期幾
//如果輸入的數字不在1-7內,則用default判斷錯誤

 switch(數字|列舉|字元|字串){
    case 內容1 : {
            內容滿足時執行語句; 
            [break;] 
                          
    case 內容2 : { 
           內容滿足時執行語句; 
            [break;]  
                  }    ...   
    default:{ 
           內容都不滿足時執行語句; 
             [break;]
              }   
           }
 

執行結果如下:
在這裡插入圖片描述
舉例如下:

//輸入數字,判斷是 工作日還是休息日
//多個case對應一個執行語句。

public class Example2{
 public static void main(String[] args){
  int week = 5;
  switch(week){
   case 1:
   System.out.println("今天是星期一");
   break;
   case 2:
   System.out.println("今天是星期二");
   break;
   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;
  }
 }
}
public class Example2{
 public static void main(String[] args){
  int week = 5;
  switch(week){
   case 1:
   case 2:
   case 3:
   case 4:
   case 5:
   System.out.println("今天是工作日");
   break;
   case 6:
   case 7:
   System.out.println("今天是休息日");
   break;
  }
 }
}

執行結果如下:
在這裡插入圖片描述

(三)迴圈結構

迴圈使用原則:

  1. 對於不知道迴圈執行次數,但知道迴圈結束條件的,使用while.
  2. 明確知道迴圈次數的,使用for2. 明確知道迴圈次數的,使用for.
    1,while 迴圈
while(迴圈結束條件判斷){
    迴圈語句; 
    修改迴圈結束判斷;  
      }

2,do…while迴圈

do…while語句的特點:最少執行一次。

do{
    迴圈語句;  
    修改迴圈結束判斷;
     }
   while(迴圈結束條件判斷);
 

3,for迴圈

for(迴圈初始化;迴圈結束判斷;修改迴圈結束條件){
    迴圈體; 
    }

具體問題實現上述三種迴圈:
列印1-4之間的自然數
1,使用while 迴圈

 public class Example2{
 public static void main(String[] args){
  int num = 1;
 while(num <= 4){
  System.out.print(num+"\t");
  num ++;
 }
 }
}

執行結果如下:
在這裡插入圖片描述
2,使用do … while迴圈

public class Example2{
 public static void main(String[] args){
  int num = 1;
  do{
   System.out.print(num+"\t");
   num++;
  }
     while(num <= 4);
 }
}

執行結果如下:
在這裡插入圖片描述

3,使用for 迴圈

 public class Example2{
 public static void main(String[] args){
  for(int num = 1;num <= 4;num++){
   System.out.print(num+"\t");
  }
 }
}

執行結果如下:
在這裡插入圖片描述

  • 控制迴圈
    (1)continue
    執行到此語句時會跳過當前迴圈的剩餘部分,返回迴圈判斷。
    (2)break
    直接跳出迴圈。


    舉例如下:
    1,continue控制迴圈
//找出1-4中不能被2整除的數

 public class Example2{
 public static void main(String[] args){
  int num = 0;
  for(num = 1;num <= 4;num++){
   if(num % 2 == 0){
    continue;
   }
   else{
    System.out.print(num+"\t");
   }
  }
 }
}

在這裡插入圖片描述
2,break控制迴圈

//在1-4的數中,一旦遇到某個數能被2整除,則退出整個迴圈

 public class Example2{
 public static void main(String[] args){
  int num = 0;
  for(num = 1;num <= 4;num++){
   if(num % 2 == 0){
    break;
   }
   else{
    System.out.print(num+"\t");
   }
  }
 }
}

在這裡插入圖片描述