繼續接着Java基礎文法來:JavaSE入門學習5:Java基礎文法(一)和JavaSE入門學習6:Java基礎文法(二)。
語句
Java常用的3種循環:while,do...while,for。
(5)Java循環語句之while
文法:
執行過程:
1)判斷while後面的條件是否成立(true/false)。
2)當條件成立時,執行循環内的操作代碼 ,然後重複執行1),2),直到循環條件不成立為止。
特點:先判斷,後執行。
如:
(6)Java循環語句之do...while
do...while循環與while循環文法有些類似,但執行過程差别比較大。
文法:
執行過程:
1)先執行一遍循環操作,然後判斷循環條件是否成立。
2)如果條件成立,繼續執行1),2),直到循環條件不成立為止。
特點: 先執行,後判斷。
由此可見,do...while 語句保證循環至少被執行一次。這就是和while循環語句的差別。
例如,依然輸出 1000 遍“我愛慕課網”,使用do...while的實作代碼為:
(7)Java循環語句之for
Java 的循環結構中除了while和do...while外,還有for循環,三種循環可以互相替換。
文法:
執行過程:
1)執行循環變量初始化部分,設定循環的初始狀态,此部分在整個循環中隻執行一次。
2)進行循環條件的判斷,如果條件為true,則執行循環體内代碼;如果為false,則直接退出循環。
3)執行循環變量變化部分,改變循環變量的值,以便進行下一次條件判斷。
4)依次重新執行2),3),4),直到退出循環
特點:相比 while 和 do...while 語句結構更加簡潔易讀。
例如,輸出 1000 遍“我愛慕課網”,使用 for 的實作代碼為:
需要留心的幾個小細節:
1)for關鍵字後面括号中的三個表達式必須用";" 隔開,三個表達式都可以省略,但";"不能省略。
a. 省略“循環變量初始化”,可以在 for 語句之前由指派語句進行變量初始化操作,如:
b. 省略“循環條件”,可能會造成循環将一直執行下去,也就是我們常說的“死循環”現象,如:
在程式設計過程中要避免“死循環”的出現,是以,對于上面的代碼可以在循環體中使用break語句強制跳出循環。
c. 省略“循環變量變化”,可以在循環體中進行循環變量的變化,如:
2)for 循環變量初始化和循環變量變化部分,可以是使用 “,” 同時初始化或改變多個循環變量的值,如:
代碼中,初始化變量部分同時對兩個變量i和j賦初值,循環變量變化部分也同時對兩個變量進行變化,運作結果:
3)循環條件部分可以使用邏輯運算符組合的表達式,表示複雜判斷條件,但一定注意運算的優先級,如:
代碼中,必須同時滿足變量i小于10 ,并且i不等于5時才會進行循環,輸出變量i的值。
(8)Java循環跳轉語句之break語句
生活中,我們經常會因為某些原因中斷既定的任務安排。在Java中,我們可以使用 break語句退出指定的循環,
直接執行循環後面的代碼。
例如,使用循環輸出1--10的數值,其中,如果數值大于2 ,并且為3的倍數則停止輸出。
實作代碼:
運作結果:
(9)Java循環跳轉語句之continue語句
continue語句的作用是跳過循環體中剩餘的語句執行下一次循環。
例如,列印1--10之間所有的偶數,使用continue語句實作代碼為:
運作結果:
(10)Java循環語句之多重循環
循環體中包含循環語句的結構稱為多重循環。三種循環語句可以自身嵌套,也可以互相嵌套,最常見的就是二重
循環。在二重循環中,外層循環每執行一次,内層循環要執行一圈。
如下所示:
例如:使用*列印長方形:
實作代碼為:
執行流程:當i = 1時,外層循環條件成立,進入内層循環,開始列印第一行内容。此時,j從1開始,循環8次,内
層循環結束後換行,實作第一行 8個 * 的輸出。接下來傳回外層循環i變為2,準備列印下一行,依此類推,直到完成
長方形的列印。
那我們再來做一個直角三角形的輸出,如:
實作代碼:
最後再來補充一下基本資料類型之間的轉換:
基本資料類型轉換
1)boolean類型不參與轉換,因為不可以以0或非0的整數代替false和true。這一點和其他的進階程式設計語言不
同,一定要注意。
2)整型,字元型,浮點型的資料類型在混合運算中互相轉換,轉換時遵循以下的規則:
A預設轉換
容量小的類型自動轉換為容量大的資料類型,資料類型按容量大小排序為:
byte,short,char -- int -- long -- float -- double
byte,short,char之間不互相轉換,在計算時首先直接轉成int類型參與運算。
B強制轉換
容量大的資料類型轉換為容量小的資料類型時,要加上強制轉換符,但可能造成精确度降低或溢出,使用時一定要注意。
C有多種類型的資料混合運算時,系統首選自動的将所有的資料轉成容量大的那一種資料類型,再進行計算。
執行個體的話參考JavaSE入門學習5:Java基礎文法(一)中最後面的面試題和思考題。