JAVA—— 邏輯 結構
阿新 • • 發佈:2018-11-12
三種邏輯結構
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;
}
}
}
執行結果如下:
(三)迴圈結構
迴圈使用原則:
- 對於不知道迴圈執行次數,但知道迴圈結束條件的,使用while.
- 明確知道迴圈次數的,使用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");
}
}
}
}