Java 分支結構 - if...else/switch

來源:互聯網
上載者:User

標籤:沒有   變數類型   程式   ase   .com   另一個   test   相等   oat   

if 語句
一個 if 語句包含一個布林運算式和一條或多條語句。
文法
if 語句的用文法如下:
if(布林運算式)
{
//如果布林運算式為true將執行的語句
}
如果布林運算式的值為 true,則執行 if 語句中的代碼塊,否則執行 if 語句塊後面的代碼。
Test.java 檔案代碼:
public class Test {

public static void main(String args[]){
int x = 10;

  if( x < 20 ){     System.out.print("這是 if 語句");  }

}
}
以上代碼編譯運行結果如下:
這是 if 語句
if...else語句
if 語句後面可以跟 else 語句,當 if 語句的布林運算式值為 false 時,else 語句塊會被執行。
文法
if…else 的用法如下:
if(布林運算式){
//如果布林運算式的值為true
}else{
//如果布林運算式的值為false
}
執行個體
Test.java 檔案代碼:
public class Test {

public static void main(String args[]){
int x = 30;

  if( x < 20 ){     System.out.print("這是 if 語句");  }else{     System.out.print("這是 else 語句");  }

}
}
以上代碼編譯運行結果如下:
這是 else 語句
if...else if...else 語句
if 語句後面可以跟 elseif…else 語句,這種語句可以檢測到多種可能的情況。
使用 if,else if,else 語句的時候,需要注意下面幾點:
if 語句至多有 1 個 else 語句,else 語句在所有的 elseif 語句之後。
if 語句可以有若干個 elseif 語句,它們必須在 else 語句之前。
一旦其中一個 else if 語句檢測為 true,其他的 else if 以及 else 語句都將跳過執行。
文法
if...else 文法格式如下:
if(布林運算式 1){
//如果布林運算式 1的值為true執行代碼
}else if(布林運算式 2){
//如果布林運算式 2的值為true執行代碼
}else if(布林運算式 3){
//如果布林運算式 3的值為true執行代碼
}else {
//如果以上布林運算式都不為true執行代碼
}
執行個體
Test.java 檔案代碼:
public class Test {
public static void main(String args[]){
int x = 30;

  if( x == 10 ){     System.out.print("Value of X is 10");  }else if( x == 20 ){     System.out.print("Value of X is 20");  }else if( x == 30 ){     System.out.print("Value of X is 30");  }else{     System.out.print("這是 else 語句");  }

}
}
以上代碼編譯運行結果如下:
Value of X is 30
嵌套的 if…else 語句
使用嵌套的 if…else 語句是合法的。也就是說你可以在另一個 if 或者 elseif 語句中使用 if 或者 elseif 語句。
文法
嵌套的 if…else 文法格式如下:
if(布林運算式 1){
////如果布林運算式 1的值為true執行代碼
if(布林運算式 2){
////如果布林運算式 2的值為true執行代碼
}
}
你可以像 if 語句一樣嵌套 else if...else。
執行個體
Test.java 檔案代碼:
public class Test {

public static void main(String args[]){
int x = 30;
int y = 10;

  if( x == 30 ){     if( y == 10 ){         System.out.print("X = 30 and Y = 10");      }   }}

}
以上代碼編譯運行結果如下:
X = 30 and Y = 10
switch 語句
switch 語句判斷一個變數與一系列值中某個值是否相等,每個值稱為一個分支。
文法
switch 文法格式如下:
switch(expression){
case value :
//語句
break; //可選
case value :
//語句
break; //可選
//你可以有任意數量的case語句
default : //可選
//語句
}
switch 語句有如下規則:
switch 語句中的變數類型可以是: byte、short、int 或者 char。從 Java SE 7 開始,switch 支援字串類型了,同時 case 標籤必須為字串常量或字面量。
switch 語句可以擁有多個 case 語句。每個 case 後面跟一個要比較的值和冒號。
case 語句中融金匯銀的值的資料類型必須與變數的資料類型相同,而且只能是常量或者字面常量。
當變數的值與 case 語句的值相等時,那麼 case 語句之後的語句開始執行,直到 break 語句出現才會跳出 switch 語句。
當遇到 break 語句時,switch 語句終止。程式跳轉到 switch 語句後面的語句執行。case 語句不必須要包含 break 語句。如果沒有 break 語句出現,程式會繼續執行下一條 case 語句,直到出現 break 語句。
switch 語句可以包含一個 default 分支,該分支必須是 switch 語句的最後一個分支。default 在沒有 case 語句的值和變數值相等的時候執行。default 分支不需要 break 語句。
執行個體
Test.java 檔案代碼:
public class Test {
public static void main(String args[]){
//char grade = args[0].charAt(0);
char grade = ‘C‘;

  switch(grade)  {     case ‘A‘ :        System.out.println("優秀");         break;     case ‘B‘ :     case ‘C‘ :        System.out.println("良好");        break;     case ‘D‘ :        System.out.println("及格");     case ‘F‘ :        System.out.println("你需要再努力努力");        break;     default :        System.out.println("未知等級");  }  System.out.println("你的等級是 " + grade);

}
}
以上代碼編譯運行結果如下:
良好
你的等級是 C
Java 迴圈結構 – for, while 及 do…while Java Number & Math 類 br/>筆記列表
alan.huang
407***[email protected]
號組成的菱形。請看以下代碼:
public class Demo2 {
// 下面是升序的代碼
public void prit1(float c) {
float p = c / 2;// 升序排序
float d;// 聲明行數變數
float e;// 聲明列印號的變數
float f;// 聲明列印空格的變數
float r;// 聲明升序排序
float s = c % 2;// 模數
if (s == 0) {
System.out.println("你輸入的資料不能形成菱形結構");
} else {
for (d = 1; d <= p; d++) {
for (f = p; f >= d; f--) {
System.out.print(" ");
}
for (e = 1; e <= d 2 - 1; e++) {
if (e == 1 || e == d
2 - 1) {
System.out.print("");// 如果是第一個數和最後一個數,就輸入
} else {
System.out.print(" ");// 否則輸入空格
}
}
System.out.println();
}
}
}

// 下面是列印倒序的代碼public void prit2(float m) {    float i;// 聲明行數變數    float j;// 聲明列印*號的變數    float k;// 聲明列印空格數的變數    float n = m / 2 + 1;// 倒序排序    float o = m % 2;// m模數    if (o == 0) {        System.out.print("");    } else bjrongjinhuiyin.com {        for (i = 1; i <= n; i++)// 行數迴圈;        {            // 列印*號前列印空格;            for (k = 0; k < i - 1; k++) {                System.out.print(" ");            }            // 下面列印*號個數的迴圈;            for (j = (n - k) * 2 - 2; j >= 1; j--)// 列印*號個數的迴圈;            {                if (j == (n - k) * 2 - 2 || j == 1) {                    System.out.print("*");                } else {                    System.out.print(" ");                }            }            // 列印完*號換行列印;            System.out.println();        }    }}public static void main(String[] args) {    Demo2 a = new Demo2();    float b = 11;// 根據行數,判斷是否可以組成菱形。如果是基數行可以輸入對應的菱形,如果是偶數行則輸出"你輸入的資料不能形成菱形結構";    a.prit1(b);    a.prit2(b);}

}br/>alan.huang
alan.huang
407***[email protected]
Ant阿布
163***[email protected]
a的地區,找出菱形邊所在的函數,逢邊上的點列印"",其他點列印" "。不用區分升序降序,請看代碼:
public class Draw{
int a,b; //a是要產生的菱形行數
int h; //h是方法中的參數,也是行數
int i,j; //i j是迴圈結構參數
public void draw(int h ){
for(i = 1 ;i <= h ;i++){ //逐行列印
for(j = 1;j <= h;j++){ //每行列印個數與行數保持一致
//下面語句是菱形四條邊的函數,在邊上的座標點,列印,否則列印空格
if(j == (h + 3) / 2 - i || j == (h - 1) / 2 + i || j == i - (h - 1 ) / 2 || j == (3
h + 1) / 2 - i){
System.out.print("*");
}else{
System.out.print(" ");
}
}
System.out.println(); //第 i 行列印完換行
}
}
public static void main(String[] args){ //靜態方法
Draw b = new Draw(); //初始化方法
int a = 35; //賦值並執行draw方法
b.draw(a);
}
}

Java 分支結構 - if...else/switch

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.