Java基礎五

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的那一次,除數就是最大公約數。

 

//練習二:水仙花數

//練習三:百錢百雞問題

 

優化:

相關文章
相關標籤/搜索