標籤:執行 不能 char ase == 偶數 區分 else 代碼塊
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 類
筆記列表
alan.huang
407***[email protected]
運用前面變數和for迴圈,以及if知識,編製一個小程式,程式的功能是在控制台輸入由*號組成的菱形。請看以下代碼:
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);
}
}
alan.huang
alan.huang
407***[email protected]
5個月前 (08-07)
Ant阿布
163***[email protected]
把需要列印的配資平台菱形放在一個正方形裡面,控制台列印出一個a*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