1. 程式人生 > >第三章 Java的基礎程序設計結構

第三章 Java的基礎程序設計結構

解決 運算 prot build copy array 數據類型 永遠 判斷

第三章 Java的基礎程序設計結構

一個簡單的 Java 應用程序

  • 訪問修飾符 public,private,protected
  • main 方法必須時public修飾的,C#則不必須

數據類型

  • 可以用16進制表示浮點數
  • 可以用2,8,16進制表示整數
  • Double.POSITIVE_INFINITY,Double.NEGATIVE_INFINITY,DOUBLE.NaN 分別表示正無窮,負無窮,不是數值; if(x==Double.NaN) 永不成立,可以使用Double.isNaN(x)判斷
  • 強烈建議不要在程序中使用char,除非必須,可以使用String替代

運算符

  • 整數被0除會拋出異常,浮點數則會得到無窮大或NaN結果
  • 最初的JVM計算浮點時規定必須截斷,這樣在不同類型機器上可以得到一致的結果,但後來這點被修改, JVM設計者允許中間結果采用擴展的精度. 但是經過strictfp修飾的方法/類必須截斷. 使用strictfp的方式可能產生溢出, 但不屬於什麽大問題.
  • Math.floorMod 是為了解決有關整數余數的問題,即計算機設計中負數的余數為負數導致的不方便
  • StrictMath類能提供比Math更精確,更可預測的結果
  • int x; x+=3.5; 是合法的,結果為(int)(x+3.5)

字符串

  • StringBuilder 和 StringBuffer 的API是一樣的, 不同的是StringBuffer是線程安全的,但使用StringBuilder效率較高;

流程控制語句

  • for中檢測兩個浮點數需要格外小心,for ( double x = 0 ; x ! = 10 ; x + = 0.1 ) 可能永遠不會結束, 因為0.1不能精確用二進制表示

  • Java允許有標簽的break語句,對嵌套循環的跳出到開頭可以使用此類語句

數組

  • Arrays.copyOf()方法用於數組拷貝,將原數組的每個元素拷貝到新數組中去,通常用於數組擴容

第三章 Java的基礎程序設計結構