JAVA學習第十三天
順序結構只能執行一次,而迴圈結構可以執行多次或無數次。
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();
}
}
}