i一、While循環oop
二、do ... While循環優化
三、For循環spa
1、While3d
/*
while循環blog
語句格式:源碼
while(boolean表達式){
語句塊;
}數學
執行順序:
先判斷boolean表達式的值,若是是true。就執行語句塊。
再判斷boolean表達式的值,若是是true。就執行語句塊。
再判斷boolean表達式的值,若是是true。就執行語句塊。
……
直到boolean表達式爲false的時候,就結束了。for循環
*/效率
練習題系列:變量
打印五次Hello World
打印輸出1~10
求1~10的階乘
求100之內偶數的和
2、do ... While
/*
do-while的格式:
do{
語句塊;
}while(boolean表達式);
執行順序:
執行語句塊,而後判斷boolean表達式,若是爲true。
繼續執行語句塊,而後判斷boolean表達式,若是爲true。
繼續執行語句塊,而後判斷boolean表達式,若是爲true。
……
繼續執行語句塊,而後判斷boolean表達式,若是爲false。中止。
*/
練習題:
用do-while打印三次helloworld
用do...while打印100之內全部的奇數
打印100之內能被3整除,可是不能被5整除的數
//總結:
//while和do-while的區別:
//while先執行條件,而後執行循環體
//do-while先執行循環體,後判斷條件。
//當第一次就不知足循環條件的狀況下,while一次都不能執行,而do-while會執行一次。
3、For循環
/*
for循環
格式:
for(循環變量初始值設定;循環條件boolean值;每次循環以後執行的語句){
循環體;
}
執行過程:
首先計算初始值設定。
而後計算boolean值,若是爲true,就執行循環體一次,而後執行「每次循環以後執行的語句」。
而後計算boolean值,若是爲true,就執行循環體一次,而後執行「每次循環以後執行的語句」。
而後計算boolean值,若是爲true,就執行循環體一次,而後執行「每次循環以後執行的語句」。
……
而後計算boolean值,若是爲false,就停下來了。
*/
練習題:
打印三個Hello World:
重重瞅瞅這個題的思路
首先打印出符合條件的內容,而後加入count計數,滿6就換行:下面時複雜方法
接着提升效率:
一個*****題:
答案:
首先記得i++必定是正數嗎?
這裏用到了 >>>:無符號右移:不管最高位是0仍是1,左邊都補齊0.裏面的思考
i++算到最後爲
01111111 11111111 11111111 11111111 爲正數,補碼和源碼同樣
若是再加一得:
11111111 11111111 11111111 11111111 爲負數
說真的這個題真沒意思!!!我來驗證一下:
首先由上面的正數加一能夠變成負數可得:2147483647+1=-2147483648
由此可知:2147483647+k+1=-(2147483648-k)
因此題目中是i++,計算的是3*i;也就是負數中最大三倍的(2147483648-k)。
而後再一個一個的加一;
直到:以下:
即:三倍的-1431655763,int強制轉換是等於7的!!!!!!!!
4、For For循環,即嵌套循環
首先用 * 輸入一個矩陣:
而後輸入由 * 組成的三角形:
99乘法表:
重點來,打印菱形:
這個須要加點數學知識,如圖:
這裏以4爲例:
要打印菱形,就是從上一個題目中,打印矩形星星中切除一部分星星。而如何切除呢?
就是從上圖座標中範圍取值切除,每一個星星都會對應一個橫豎座標值,即X、Y;也就是X、Y的不一樣取值範圍中是顯示空格仍是顯示星星的問題。
由上面分析能夠獲得for循環中的條件語句,代碼就能夠敲了。
這個是邊長爲4的菱形,輸出「*」(星星)仍是輸出「 」(空格)根據範圍的變化而變化。
上面那個邏輯性很差,不算打印正確,下面纔是真正的摳圖。
其實均可以。
空心菱形:
break 和continue
標籤:任意定義一個標識符在一個for循環前【loop:for(){}】,在break等後面加上標籤【break loop;】,即表示指定這個位置的for循環break.
For循環練習題:
//練習一:最大公約數與最小公倍數。
首先求最大公約數有兩種方法:
一、更相減損術:
以8和10 爲例:大的減少的,直到兩數相等
eg:10-8=2 8-2=6 6-2=4 4-2=2 2==2 因而最大公約數就是2.
最小公倍數就是兩書相乘後除以最大公約數。
a,b,c,d;初始這三個數,a,b表明要計算的,c表明中間轉換需求值,d最重要,一開始就要用d表示出兩數的乘積!!!!循環後a,b都會發生變化,以下程序:
二、展轉相除法
實例:以8 和 10 爲例:
10 / 8 = 1 .....2 8 / 2 = 4 .......0 前面中獲得0的那一次,除數就是最大公約數。
//練習二:水仙花數
//練習三:百錢百雞問題
優化: