java中順序結構的程式語句隻能被執行一次。如果您想要同樣的操作執行多次,,就需要使用循環結構。而在java中循環結構主要有三種:
Java中有三種主要的循環結構:
1.while 循環
2.do…while 循環
3.for 循環
下面來一 一介紹三種循環結構.
一.while循環
while可以說是最簡單的循環結構了.
1.while循環結構
while(1️⃣循環的判斷條件){
2️⃣循環體;
}
2.while循環的規則
循環的規則:
a.當判斷條件成立時,執行循環體
b.當判斷條件不成立時,結束循環
c.當循環條件恒成立時,會出現死循環
可以給死循環 寫一個出口 來結束死循環)
死循環後面會再說
3.whil循環的執行順序
while循環的結構比較簡單,是以執行順序也比較簡單
先判斷1️⃣的真假
如果是真,則會執行2️⃣的語句然後在跳會1️⃣判斷往複循環,知道1️⃣的語 句為假,結束循環;
如果為假,直接結束循環.
圖解:1️⃣–>2️⃣–>1️⃣–>2️⃣–>…..判斷條件不成立,停止循環.
4.while循環舉例
a.列印10遍”睡覺”
運作過程:1.初始化循環增量 –> 2.尋找循環的判斷條件 –> 3.寫循環體
int number = ;
while (number < ) {
System.out.println("睡覺");
number++;
}
注意:循環體中一定記住循環增量要進行改變
b.列印1-100的數(相當于列印循環增量)
int number = ;
while (number <= ) {
System.out.print(number + " ");
number++;
}
c.列印1-10數字的和
這裡提到了一個思想–累加思想,可以用這個思想解決一堆問題
int sum = ;// 定義變量,儲存計算的結果
int number = ;// 定義循環增量(求和 相當于計算循環增量的和)
while (number <= ) {
// 與循環增量相加 儲存結果
// 用每次儲存的結果與循環增量相加 一直加到10結束
sum = sum + number;
number++;
}
// 根據需求來選擇列印的位置
System.out.println(sum);
d.求本金和利息(用到累加思想)
銀行定期存款 5年及以上利率7.5% 否則利率 4.5%
本金為10000 計算本金加利息 求10年後的本金加利息
int year = ;
double money = ;
while( year <= ) {
money = money + (money * );
year++;
}
System.out.println(money);
二.do while循環
do while循環和while循環的差別就是do while循環無論判斷條件為真還是為假,都會執行一次循環語句.是以有些程式while滿足不了,就會選擇do while程式
1.do while循環的結構
do{
1️⃣循環體(循環的内容);
}while(2️⃣循環條件)
2.do while循環的規則
循環的規則:
先執行一次循環體(無論條件成立與否都會執行一次循環體),再去判斷循環條件:
a. 如果成立,就執行循環體
b.如果不成立,就結束循環
3.do while循環的執行順序
do while循環和while循環的執行順序有點不一樣,do while循環無論判斷條件為真還是為假,都會先執行一遍循環體語句,然後在執行判斷條件,然後在判斷真假,如果為真,就繼續執行循環體,直到判斷條件為假;如果判斷為假,直接結束循環.
圖解:1️⃣–>2️⃣–>1️⃣–>2️⃣–>…..判斷條件不成立,停止循環.
4.do while循環舉例
a.列印10遍”睡覺”
int number = ;
do {
System.out.println("睡覺");
// 每次循環 修改循環增量
number++;
} while (number < );
b.周一開始列印,并詢問明天上班不,輸入上班繼續列印;反之,停止程式
這裡就有一個新的名詞了–變量的作用域,也可以稱為變量的作用範圍,變量隻在目前的一對大括号中使用,出了這對大括号,就會通路不到.
int weekend = ;
Scanner scanner = new Scanner(System.in);
String work = "";
do {
System.out.println("明天是周" + weekend );
System.out.println("你明天上班不? 輸入上班或者不上班");
work = scanner.nextLine();
weekend++;
} while (work.equals("上班") && weekend <= );
三.for循環
雖然所有循環結構都可以用 while 或者 do…while表示,但 Java 提供了另一種循環語句–for循環,使一些循環結構變得更加簡單。
1.for循環的結構
for( 1️⃣表達式(循環增量) ; 2️⃣判斷條件 ; 3️⃣表達式( ++ /–) ){
4️⃣循環體;
}
2.for循環的執行順序
先執行1️⃣,然後根據2️⃣和3️⃣的語句進行判斷,如果為真,則執行4️⃣循環體,然後在傳回2️⃣和3️⃣判斷,知道判斷為假結束循環;如果為假,直接結束循環.
圖解:執行順序:1 –> 2 –> 4 –> 3 –> 2 –> 4 –> 3 –>….判斷條件不成立,停止循環.
3.for和while的選取
說了這麼多,可能大家不知道在什麼情況下用for,什麼情況下用while吧現在簡單的說明一下怎麼選取較簡單的循環結構:
如果循環的增量隻是用來控制循環的次數,在循環的外面不需要使用時,可以選取for循環;
反之,循環增量在循環外,你還要繼續使用或操作,這時,你可以選用while循環.
4.for循環舉例
a.求1-10的和
int sum = ;
for( int i = ;i <= ; i++) {
sum = sum + i;
}
System.out.println(sum);
b.使用for循環 1-100中 是7的倍數 的個數
這裡又提到一個思想–計數器思想,善于想到計數器思想可以為你解決一堆問題哦.
int k = ;
for (int i = ; i <= ; i++) {
if( i % == ) {
k++;// 記錄符合要求的次數
}
}
System.out.println(k);
5.for循環的嵌套
for循環的嵌套顧名思義,就是使用for循環裡面再套個for循環,首先進入外層循環,再進入内層循環.然後層循環直到為假,退出内層循環,然後再進行外層的第二次循環.
下面舉幾個for循環嵌套的例子吧:
a.使用for循環列印下面圖形,
**
**
**
**
首先知道内循環和内循環分别控制什麼:
外層循環控制什麼?–> 控制行數
内層循環控制什麼?–> 控制每行有幾個元素
for (int i = ; i < ; i++) {
for (int j = ; j < ; j++) {
System.out.print("*");
}
System.out.println();
}
System.out.println("結束");
b.列印一個三行六列的矩形
for (int i = ; i < ; i++) {
for (int j = ; j < ; j++) {
System.out.print("*");
}
System.out.println();
}
c.尖向下的三角形
*****
****
***
**
*
for (int i = ; i < ; i++) {
for (int j = i; j < ; j++) {
System.out.print("*");
}
System.out.println();
}
d.尖向上的三角形
*
**
***
****
*****
for (int i = ; i < ; i++) {
for (int j = ; j < i + ; j++) {
System.out.print("*");
}
System.out.println();
}
e.99乘法表
for (int i = ; i <= ; i++) {
for (int j = ; j <= i ; j++) {
System.out.print(j +"*"+ i + "=" + i*j + "\t");
}
System.out.println();
}
f.列印下面的圖形
—–*
—-* *
—* * *
–* * * *
-* * * * *
for (int i = ; i < ; i++) {
for (int j = i; j < ; j++) {
System.out.print("-");
}
// 拼接後半部分的圖形
for (int k = ; k <= i; k++) {
System.out.print("* ");
}
System.out.println();
}
這些圖形程式以後的開發都是用不到的,意在鍛煉你的邏輯思維能力,你的思維邏輯變強了,以後的開發會變得比較輕松的.