繼續接著Java基礎語法來:[JavaSE入門學習5:Java基礎語法(一)](http://blog.csdn.net/erlian1992/article/details/50549806)和[JavaSE入門學習6:Java基礎語法(二)](http://blog.csdn.net/erlian1992/article/details/50557265)。
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基礎語法(一)](http://blog.csdn.net/erlian1992/article/details/50549806)中最后面的面試題和思考題。