1. 程式人生 > 實用技巧 >JAVA學習第十三天

JAVA學習第十三天

While迴圈

順序結構只能執行一次,而迴圈結構可以執行多次或無數次。

While迴圈

格式

while(布林表示式){

當布林表示式成立時所要執行的命令

}

注意

若布林表示式一直成立,則迴圈一直進行。而大多數情況下我們需要迴圈停止,因此括號內的布林表示式需要讓迴圈在合適的時候停止。

輸出1~100:

public class WhileDemo01 {
public static void main(String[] args) {
int a = 0;
while (a<100){
a++;
System.out.println(a);
}
}

}

計算1+2+3+......+100:

public class WhileDemo02 {
public static void main(String[] args) {
int a = 0;
int sum = 0;
while (a<=100){
sum = sum +a;
a++;
System.out.println(sum);
}

}
}

do while迴圈

while迴圈先判斷布林表示式是否成立,再決定是否執行命令,而do while迴圈是先執行一遍命令,再去判斷布林表示式是否成立以及是否繼續執行。即do while 迴圈至少會執行一次。

int a = 0;

while(a<0){

System.out.println(a);

a++

}

此時由於a=0而不小於零,所以布林表示式不成立,所以後面的命令並不會被執行;

int a = 0;

do{

System.out.println(a)

}while(a<0);

此時執行程式會輸出一個0,即先輸出了a,再讓a=a+1,接著才判斷布林表示式是否成立。

for迴圈(重要)

所有的迴圈都可以用while或者do while實現,但java中的for迴圈可以使一些複雜的迴圈變得更加簡單。for迴圈是支援迭代的一種通用迴圈,是最有效、最靈活的迴圈結構。

格式

for(定義一個或幾個變數;限制條件;迴圈內容){

執行的命令

}

定義變數:定義需要的數字變數或字元;

限制條件:使迴圈在合適的次數後停止;

迴圈內容:在限制條件成立的情況下和“執行的命令”同樣進行迴圈的語句。

1.分別計算0到100之間奇數和偶數的和:

public class ForDemo01 {
public static void main(String[] args) {
int oddsum = 0;
int evensum = 0;
for (int a=0;a<=100;a++ ){
if (a%2!=0){
oddsum+=a;
}else{
evensum+=a;
}
}
System.out.println(oddsum);
System.out.println(evensum);
}
}

主要是運用取餘運算判斷奇數和偶數。

2.用while迴圈和for迴圈輸出0到5000內能被5整除的數,且每行輸出三個。

public class ForDemo03 {
public static void main(String[] args) {
for (int i = 0; i <= 5000; i++) {
if (i%5==0){
System.out.print(i+"\t");
}
if (i%(5*3)==0){
System.out.println();
}
}



}
}

特別注意:System.out.println( )輸出一個內容後就會分行;

System.out.print( )持續在一行內輸出所有內容。

本例題要求每三個數一行,則在輸出三個能被5整除的數之後,即輸出一個能被15整除的數之後分行,此處分行採用直接使用System.out.println( )輸出一個空白行,也可以使用System.out.print( \n ).

3.輸出九九乘法表:

public class SwitchDemo03 {
public static void main(String[] args) {
int a = 9;
while(a>0){
for (int b = 1;b<=a;b++){
System.out.print(b+"*"+a+"\t");
}a--;
System.out.println();
}
}
}

或者:

public class SwitchDemo02 {
public static void main(String[] args) {
int a = 1;
while(a<10){
for (int b = 1;b<=a;b++){
System.out.print(a+"*"+b+"\t");
}a++;
System.out.println();
}

}
}

當然,列印此乘法表也有一些笨方法,但推薦遇到此類存在較多迴圈的問題時多使用迴圈結構,以大大提高效率。