(二)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: 中斷執行
沒有留言:
張貼留言