第三章:控制程序流程(控制纔不至於程序成傻瓜)

3.1 java運算符

幾乎所有的運算符都只能操作主類型,=,==,!=除外。String支持+ ,+=。

3.1.2賦值

左面=右面

右面無論變量,表達式,常數,只要能夠產生一個值得,左面必須變量,它有物理空間。

%模運算符號,取餘數。

/ 取 值

3.1.5 關係運算符

==,!=比較的是對象的內存地址是否相當,而不是對象內容是否相等

對象的equals()方法比較對象內容是否相等。

但是equals的默認行爲是比較句柄,所以除非自己的類覆蓋了equals(),否則不會比較內容。java的很多類都實現了equals(),所以比較對象內容。java.object的equal方法比較的是句柄。

短路:對於邏輯表達式,只要執行了一部分能夠明確判斷表達式的值,就不必要全部執行下去了。

3.1.7移位運算符

<<,>>,>>>移位運算符號,進行移位前,char,byte,short會進行自動轉化爲int,只有右側的5位低位纔會被用到。

3.1.10java中用到逗號的唯一場所就是for 循環。 +號操作字符串,會把加法中的所有變量變成字符串。

例如:int x=0,y=1,z=2.  String sring="x,y,z";System.out.println(string+x+y+z);這個計算結果可以把x,y,z轉化爲對應的字符。

3.11兩個足夠大的int執行乘法運算的時候,結果就會溢出,而且不會從編譯器受到出錯提示(這個可以作爲軟件測試的bug引入點)

例子:int i=0x7ffffff;//max of int

            int bigger=i*4;

            System.out.println(s);

輸出結果:-4

3.2.2return

static int test2(int testval){

if(testval>target)

return -1;

if(testval<target)

return +1;

return 0;

3.2.5for(初始表達式;布爾表達式;步進)

下面一個例子表示在時間未到設定的時間到達之前:一直做某事情。

for(;Runtime.gettime()<theSettime;)

    {   ajfkaljfafl;

         asdjas

}

3.2.5 逗號運算符

java中唯一使用到逗號的只有for循環。可以在for語句中的初始表達式,步進表達式中,使用一系列逗號。

for(int i=1,j=i+10;i<5;i++,j=i*2)

3.2.6 中斷和繼續

任何循環主題中,可以使用break,continue,break用於強行退出循環,contimue用於停止執行當前的反覆,回到循環起始、

3.2.7  switch(int 或者char)

switch(整數選擇因子){

case 整數值1:語句;break;

case 整數2:語句:break;

default:語句;break;//編程風格考慮,加上break;

}

 float 或者double造型成int 或者char後,總是去掉小數部分。

Math.random()-->{0,1) 能夠得到萬物起始點0、

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章