顯示具有 java 基礎 標籤的文章。 顯示所有文章
顯示具有 java 基礎 標籤的文章。 顯示所有文章

2019年1月11日 星期五

java - 迴圈Loop for,while, do, 巢狀迴圈, 控制Loop,

(一) 重覆"速讀"的步驟
(二)for(1.;2 ; 3 )
       1.起點,計算次數用的變數,要結合初始值
       2. 條件 = if => true/false => 判斷 停止/繼續
       3.如何讓2 回覆 false (停止)
       
範例:
class ex5
{
public static void main(String args[])
{
for(int x=1;true;)  //可以執行但是會一直迴圈不會停止
{
System.out.println("hello java");
}


/*
System.out.println("hello java");
System.out.println("hello java");
System.out.println("hello java");
System.out.println("hello java");
System.out.println("hello java");
*/
}


}
執行結果:
不會停下  可以按 Ctrl + c 停止



















範例二:

class ex5
{
public static void main(String args[])
{
for(int x=1;x<=6;x++)  //一定要加入 判斷  x <6 不然會抱錯
{
System.out.println("x="+x+"\thello java");
}
/*
for(int x=1;true;)
{
System.out.println("hello java");
}
*/

/*
System.out.println("hello java");
System.out.println("hello java");
System.out.println("hello java");
System.out.println("hello java");
System.out.println("hello java");
*/
}


}
執行結果:









範例三:
class ex5
{
public static void main(String args[])
{
for(int x=1,y=2;x<=20000 || y<=35000;)//可以加入多個判斷
{
System.out.println("x="+x+"\ny="+y);
x=y*100-5;
y=100*x-10;
}
}


}
執行結果:








(三)while (條件)
{
......................................
}
範例一:
class ex5
{
public static void main(String args[])
{
int x=1;
while(x<=6)
{
System.out.println("x="+x+"\thello java");
x++;
}
}


}
執行結果:










(四)
do
{
......................................
}while (條件)

範例一:

class ex5
{
public static void main(String args[])
{
int x=1;
do
{
System.out.println("x="+x+"\thello java");
x++;
}while(x<=6);
}


}

執行結果:








※ (三) 會先判斷在執行   (四) 會先執行在判斷,區別可用來做即時監控可以判斷錯誤在停止



(五)巢狀迴圈
=> 九九乘法表
class ex6
{
public static void main(String args[])
{
for(int x=1;x<=9;x++)
{
for(int y=1;y<=9;y++)
{
System.out.print(x+"*"+y+"="+(x*y)+"\t");
}
System.out.println();
}
/*int x1=1;
for(int y=1;y<=9;y++)
{
System.out.print(x1+"*"+y+"="+(x1*y)+"\t");
}
System.out.println();
int x2=2;
for(int y=1;y<=9;y++)
{
System.out.print(x2+"*"+y+"="+(x2*y)+"\t");
}
System.out.println();
int x3=3;
for(int y=1;y<=9;y++)
{
System.out.print(x3+"*"+y+"="+(x3*y)+"\t");
}
System.out.println();
*/
}


}

執行結果:













可控制迴圈範例:
class ex5
{
public static void main(String args[])
{

java.util.Scanner sc=new java.util.Scanner(System.in);

System.out.println("輸入次數");
int n=sc.nextInt();

for(int x=1;x<=n;x++)
{
System.out.println("x="+x+"\thello java");
}



}


}
執行結果:


















(六)控制迴圈 Loop
1.break
2.continue
3.Label => 標記

範例一:
class ex8
{
public static void main(String args[])
{

java.util.Scanner sc=new java.util.Scanner(System.in);

System.out.println("輸入次數");
int n=sc.nextInt();



for(int x=1;x<=n;x++) //控制變數是 X  因X有增遞控制機制
{
if(x==101) break;
System.out.println("x="+x+"\thello java");
}





}


}
執行結果:
















範例二:
class ex9
{
public static void main(String args[])
{


java.util.Scanner sc=new java.util.Scanner(System.in);

System.out.println("輸入次數");
int n=sc.nextInt();



for(int x=1;x<=n;x++)
{
if(x>=2 && x<=8) continue;   //滿足區間跳過   continue 可以跳過
if(x>=11 && x<=17) continue; //滿足區間跳過   continue 可以跳過

if(x==121) break;

System.out.println("x="+x+"\thello java");
}

}


}
執行結果:















範例三: 矛點
class ex10
{
public static void main(String args[])
{

java.util.Scanner sc=new java.util.Scanner(System.in);

System.out.print("列數:");
int n=sc.nextInt();
System.out.print("行數:");
int m=sc.nextInt();

a: //可以在for迴圈加一個矛點  告訴下面的break 可以停止
for(int x=1;x<=n;x++)//列數
{


for(int y=1;y<=m;y++)//行數
{

if(y==8) break;
if(x==7) break a;//關閉外面的迴圈


System.out.print(x+"*"+y+"="+(x*y)+"\t");

}
System.out.println();

}



}


}
執行結果:
a: 中斷執行






java - 流程控制、圖 、if, switch


class ex2
{
public static  void main(String args[])
{
java.util.Scanner sc = new  java.util.Scanner(System.in);
System.out.println("請輸入數字");

int x;

x= sc.nextInt();
System.out.println("你輸入的是:"+ x);

}


}
執行結果:







class ex2
{
public static  void main(String args[])
{
java.util.Scanner sc = new  java.util.Scanner(System.in);



System.out.println("請輸入要買幾支筆");

int x;
int y;
int z;

x= sc.nextInt();
System.out.println("請輸入要買幾隻尺");
y= sc.nextInt();


z = (34*x) + (29*y);

//System.out.println("你一共買了"+ x +"隻筆/n"+y+"把尺/n""一共花了"+z+"元");

//"你的訂單:\n尺"+ruler+"把\n筆"+pen+"支\n一共:"+sum+"元"

//System.out.println("你一共買了"+ x +"隻筆/n"+y+"把尺/n""一共花了"+z+"元");
System.out.printf("你一共買了%d隻筆\n%d把尺\n一共花了%d元",x,y,z);


}

}
執行結果:













class ex2
{
public static  void main(String args[])
{
java.util.Scanner sc = new  java.util.Scanner(System.in);

System.out.println("輸入分數");
int x = sc.nextInt();

if(x>= 60) //如果IF 不加上跨號只會控制下一段代碼
{          //要加上跨號才會控制整個跨號的內容
System.out.println("及格");
System.out.println("恭喜你");




}



}


}
執行結果:











class ex2
{
public static  void main(String args[])
{
java.util.Scanner sc = new  java.util.Scanner(System.in);

System.out.println("輸入分數");
int x = sc.nextInt();

if(x>= 60) //如果IF 不加上跨號只會控制下一段代碼
{          //要加上跨號才會控制整個跨號的內容
System.out.println("及格");
System.out.println("恭喜你");




}
else
{


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



}


}
執行結果:







class ex2
{
public static  void main(String args[])
{
java.util.Scanner sc = new  java.util.Scanner(System.in);

System.out.println("輸入分數");
int x = sc.nextInt();

/*if(x>= 60) //如果IF 不加上跨號只會控制下一段代碼
{          //要加上跨號才會控制整個跨號的內容
System.out.println("及格");
System.out.println("恭喜你");




}
else
{


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

if(x >= 91 && x <= 100)
{
System.out.println("A");
}
else if(x >= 76 && x <= 90)
{
System.out.println("B");
}
else if(x >= 60 && x <= 75)
{
System.out.println("C");
}
else if(x >= 0 && x <= 59)
{
System.out.println("D");
}
else
{
System.out.println("不再範圍內");
}
}


}
執行結果:







巢狀 判定  在IF內再加上IF
class ex2
{
public static  void main(String args[])
{
java.util.Scanner sc = new  java.util.Scanner(System.in);

System.out.println("輸入分數");
int x = sc.nextInt();



if(x >= 91 && x <= 100)
{
System.out.println("A");
}
else if(x >= 76 && x <= 90)
{
if(x>82)
{
System.out.println("B+");
}
else
{
System.out.println("B-");
}

}
else if(x >= 60 && x <= 75)
{
System.out.println("C");
}
else if(x >= 0 && x <= 59)
{
System.out.println("D");
}
else
{
System.out.println("不再範圍內");
}
}


}
執行結果:






class ex2
{
public static  void main(String args[])
{
java.util.Scanner sc = new  java.util.Scanner(System.in);

System.out.println("輸入一個數,判斷正負奇偶數");

int x=sc.nextInt();
int y;

y = x % 2;
System.out.println(y);
if(y == 0 )
{
System.out.print("是偶數,");
if(x>0)
{
System.out.println("是正數");
}
else
{
System.out.println("是負數");
}

}
else
{
System.out.print("是奇數,");
if(x>0)
{
System.out.println("是正數");
}
else
{
System.out.println("是負數");
}
}


}
}
執行結果:






switch

switch  = >  單選;複選皆可
語法:
       
switch(變數)
{
     case  值1:
                 變數為值  1 時.........
     [break;] //停止
   
       case  值2:
                 變數為值 2 時.........
     [break;] //停止
   
       case  值3:
                 變數為值  3 時.........
     [break;] //停止
      .
      .
      .
      default: 
      變數為default 時.........

}
switch  條件可為    1.變數 可以為  int, short, byte
                                 2.chat
                                 3.string



.break  可用在終止回圈 跟 switch


範例一:
class ex3
{
public static void main(String args[])
{
/*java.util.Scanner sc=new java.util.Scanner(System.in);

System.out.println("會員等級:"+
"\n1)VIP"+
"\n2)金卡"+
"\n3)銀卡"+
"\n4)普通");

int member=sc.nextInt();  //輸入
*/

//char member='A';    //篩選條件 
String member="Level_2";  //篩選條件   可以放入數字跟字母 
int = x ;   //能在這邊宣告變數
switch(member)
{
                        int = x ;   //不能在這邊宣告變數
//case 1:
//case 'A':
case "Level_1":
System.out.println("你是VIP");
break;
                                 int = x ;   //能在這邊宣告變數
//case 2:
//case 'B':
case "Level_2":
System.out.println("你是金卡");
break;
//case 3:
//case 'C':
case "Level_3":
System.out.println("你是銀卡");
break;
//case 4:
//case 'D':
case "Level_4":
System.out.println("你是普通會員");
break;
default:
System.out.println("輸入1~4");






}


}



}
執行結果:




.三元運算子
語法 => 條件?  true: false



















例子二:
class ex4
{
 public static void main(String args[])
 {
  int chi=65;
  System.out.println(chi>=60? "及格":"不及格");// 可以修改為這樣 三元運算
  
  /*if(chi>=60)
  {
   System.out.println("及格");
  }
  else
  {
   System.out.println("不及格");
  }*/
 
 
 }


}