java之旅(5)基本概念(下)

來源:互聯網
上載者:User

測試對象的相等性:雖然==和!=能用於所有對象,但得出的結果卻未必是你想要的。除了未經處理資料類型外,
==和!=用在兩個對象間都比較的是兩個對象的reference,而我們一般要比較的卻是對象的內容,我們可以
使用equals()方法,但該方法在object基類預設行為還是比較對象的reference,所以在比較自己建立的類的對象
時,應該自己實現該方法。好在絕大多數java類庫的類都實現了該方法,我們只管用就好了。

短接,位元運算符,移位元運算符,三元運算子( ? :),逗號運算子(java裡只有在FOR迴圈裡有應用),string
的+運算子(自動轉換後相加)。

常見的使用運算子中的錯誤:while( x = y) {//do something},哦,在c++裡會不小心犯的錯誤,java裡卻不會
出現,因為java裡的boolean 是false和true,而不是0 和非0;

類型轉換:寬位值轉換為窄位值時,java要求你進行明確的顯示轉換否則產生異常,因此避免了意外出錯。

java沒有sizeof(),曾經在《c++高品質編程》裡被大段講過的東西終於一下子被哢喳了,真爽。

控制語句:if else; for ; while ; do while;  for (只有for語句才有在“控製表達式”裡定義變數的能力,千萬別在
其他選擇語句或迴圈語句裡這麼做。雖然可以定義變數,但也只能是同一個類型而已); break (跳出當前迴圈)
; continue(立即進入下一輪迴圈); while(true)==for(;;) ; switch case;

goto後來者:C++程式員在編程時因為擔心goto的副作用,都很謹慎的使用它,或者乾脆不用,但有時它也會有
很好的效果在適當的地方,(不過我至今還沒用到)java終於摒棄了這把雙刃劍,同時提供了另一個類似的功能
的東東,以便能在適當的地方起些適當的作用。label.
///////////////////////////////
label1:
outer-iteration
{
 inner-iteration
 {
  //......
  break; //案例1
  //......
  continue; //案例2
  //......
  continue label1; //案例3
  //......
  break label1; //案例4
  //......
 }
}
/////////////////////////////////
在案例1中break中斷了內部迴圈,退到了外部迴圈。案例2中continue仍在內部迴圈。案例3中continue到label1
處,重新開始迴圈。案例4退到label1處,但是這次再不進入迴圈了(不可思議)。

以上規則同樣適用於while迴圈。

ok,今天到這裡,明天學習隱藏實現,對象的初始化和清理。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.