1. 程式人生 > >基本程式設計結構

基本程式設計結構

一、型別轉換

  1. 數值型別之間的轉換

 

  1. 強制型別轉換

a)       將一個數值強制轉換成另一種型別時,如果超出目標型別的便是範圍,結果就會截斷成一個完全不同的值。(如:(byte)300的實際值為44)

b)       將boolean型別的值轉換成其他型別時,可使用三目表示式(如:b?1:0 將boolean轉換成int型)

 

二、運算子

  1. Java沒有逗號運算子,但可以在for語句的第1部分和第3部分使用逗號分隔表示式列表
  2. 運算子優先順序

 

 

三、列舉型別

 

四、字串

       1. String類被稱為不可變字串,不可修改一個字串中的任何一個字元,但可以讓其引用另外一個字串。不可變字串優點:編譯器可以讓字串共享,共享所帶來的高效率遠遠勝於提取、拼接字串所帶來的低效率。

       2. 當一個字串與一個非字串進行拼接時,後者被轉換成字串(任何一個Java物件都可以轉換成字串)

       3. 常用String靜態方法

如果需要把多個字串放在一起,用一個定界符分割,可以使用靜態join方法。

equals方法檢測兩個字串是否相等,如需不區分大小寫,可以使用equalsIgnoreCase。

trim方法返回一個刪除了源字串頭部和尾部的空格的新字串。

format方法建立一個格式化的字串而不列印輸出

       4. StringBuffer:效率較低,但允許採用多執行緒的方式執行新增或刪除字元的操作,而jdk5.0引入的StringBuilder是單執行緒的。這兩個類的API是相同的。

 

五、 輸入輸出

       1.控制檯讀取輸入,首先需要構造一個Scanner物件,並與標準輸入流(即System.in)關聯(即 Scanner in = new Scanner(System.in);)。Scanner中,nextLine()讀取一行(包含空格,以回車為分隔符);next()讀取一個單詞(以空格為分隔符);nextInt()讀取一個整數,nextDouble()讀取一個浮點數…

       2. 格式化輸出(System.out.printf())

用於printf的轉換符、標誌(控制格式化輸出)、日期與時間的轉換符(詳見博文)。

       3. 檔案輸入輸出

要想對檔案進行讀取,需要一個用File物件構造的Scanner物件(即Scanner in = new Scanner(Paths.get(“myfile.txt”),“utf-8”))

要想寫入檔案,就需要構造一個PrintWriter物件。(即PrintWriter out = new PrintWriter(“myfile.txt”,”utf-8”),當檔案不存在時會自動建立檔案)

六、控制流程

       1. 塊(即複合語句)是由一堆大括號括起來的若干條簡單的Java語句。不能再巢狀的兩個塊中宣告同名的變數。

       2. 中斷控制流程語句(break、continue)

在一條語句或語句塊前加上標籤及冒號(如 hello:),使得可以在迴圈語句中使用break 標籤名或continue 標籤名(如break hello; continue hello;),能跳出或跳到標籤所代表的語句塊。

七、大數值

       1. BigInteger類實現了任意精度的證書運算,BigDecimal實現了任意精度的浮點數運算,但不可以使用算術運算子(+-*/%),而是使用相應的方法

八、陣列

       1. 數字陣列所有元素會被初始化為0,boolean陣列是false,物件陣列的元素則是null。

       2. 常用Arrays類靜態方法

列印陣列可使用Arrays.toString(a);

Arrays.copyOf()將一個數組的所有值拷貝到一個指定長度的新陣列中,如果新陣列長度小於源陣列,則只拷貝最前面的資料元素,否則則對多餘的元素自動賦值,規則參考上一條。

Arrays.sort()對數值型陣列進行排序

Arrays.binarySearch()採用二分搜尋演算法查詢值

Arrays.fill()將陣列的所有資料元素設定為同一個引數

Arrays.equal()如果兩個陣列的大小及其下標對應的元素相等,則返回true