Java Learning (2)

來源:互聯網
上載者:User

標籤:

Java基礎細節記錄

Java的index不是從0開始的情況:

  格式化參數索引是從1開始的,而不是0:System.out.println(%1$s %2$s, "Test: ", "OK");

Java中在使用while loop的時候要小心endless loop的情況, 因為while是當什麼時候的意思, 容易沒有終止條件而不停的運行無法終止;

Java中switch中每個case都需要有“break;”, 並且還要有default的語句用於處理所有case之外的case; 且case標籤必須是整數或者枚舉常量;

String equals(),禁用 “==”, except (String A == null); String的== 比較中為比較儲存地址, 如果字串是通過拼接或其他動作得到的就會出現不一致的情況, 所以不能使用以避免bug的產生:

e.g.  

 1 public static void main(String[] args) { 2         // TODO Auto-generated method stub 3          4         String A = "AB"; 5         String B = "A"; 6         String C = B + "B"; 7         if(A == C){ 8             System.out.println("A==C is true"); 9         }10         11         if(A.equals(C)){12             System.out.println("A equals B is true");            13         }14}

Output: A equals B is true;

常量聲明: final (Constant為保留關鍵字不建議使用)

Double類型的運算注意: 2.0-1.1=0.8999999...

自加自減的運算子: 使用需注意因為更新和運算的順序會影響最終的結果

位元運算符和關係運算子的混淆: 

  “|, &, ^, ~” 和 "||, &&, !"

數實值型別的轉換:

  無資料丟失轉換

  byte --> short --> int --> long

              |--> double  <-- float

  char --> int

  有資料丟失

  int ---> float  <--- long ---> double

Math類的方法:

  Math.round實現四捨五入;

  java.math.XXXX比較牛掰;

拷貝賦值:

  對象的賦值是引用的賦值, 如果複本修改則引用指向內容被修改, 從而導致全部對象值改變,而如果是其他的單一指派陳述式則是只會單一方面的值變化不會彼此影響;

常用的語句書寫:

  Condition?expression1:expression2;

  for(type para : paraSet){}

 

Java Learning (2)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.