Java 考試常用的觀念、類別與方法
基本資料型別Primitive Types
參考資料型別Reference Types
- 基本資料型別以外的都是參考資料型別
- 參考資料型別可提供相關屬性或方法
- 就像遙控器,有提供按鈕,可操控音量或轉台
- 例如:
- 字串(String)
- 基本型別與外包類別
- Global全域:存放宣告為 static 的類別變數,在java執行期間一值被維護的資料。
- Stack堆疊:存放基本型別(Primitive type)資料,可預測的記憶體配置方式。
- Heap堆積:存放參考型別(Reference type)資料,動態配置記憶體。
泛化
- 清楚的跟 Stack 說,我們要收集 Integer 型別的資料
- 泛化過資料型別是安全的,只有 Integer 型別的資料可以被存放到 Stack 裡面
- 如果有非Integer 型別的資料,則會出現錯誤
- 任何型態的資料都可以加入Stack中
- 但讀取時需要轉型才能使用
- 若有多種形態同時存入Stack中,讀取資料時,會遇到轉型的問題
常用技巧
取得使用者輸入
- Scanner scanner = new Scanner(System.in);
- Scanner為簡易的IO工具
- System.in 使用者可自行輸入資料(可自行輸入測試資料)
- 取得使用者輸入的數字或字串
- scanner.nextInt():取得使用者輸入的整數
- scanner.nextFloat():取得使用者輸入的浮點數
- scanner.next():取得使用者輸入的字串, 遇到空白字元、空白鍵、Tab鍵即截止
- scanner.nextLine():取得使用者輸入的一行字串, 包含空白字元、空白鍵、Tab鍵
- 判斷是否還有輸入的資料
- scanner.hasNext ():
- scanner.hasNextInt ():
輸出
- 輸出文字後,換行
- System.out.println(“test”)
- 輸出文字後,不換行
- System.out.print(“test”)
- System.out.print(“test/n”) = System.out.println(“test”)
格式化輸出
- System.out.printf(“文字與格式”, 變數1, 變數2, …)
- System.out.println("最大公因數:"+max+",最小公倍數:"+min);
- System.out.printf("最大公因數:%d,最小公倍數:%d", max, min);
- %d 整數類型
- %n 換行符號
- https://docs.oracle.com/javase/8/docs/api/java/util/Formatter.html
- char letter = 'A‘; //char 為基本資料型別,使用單引號賦予值
- 工具類別: Character
- char 與 int 互相轉換
- 隱含式轉換:小轉大,無風險,會自動轉型
- char a = 65;
- int b = a;
- 強制式轉換:大轉小,有風險,不自動轉型
- int c = 66;
- char d = (char)c;
- 判斷字元是否為英文
- Character.isLetter(letter))
- (letter >= 65 && letter <=90) || (letter >=97 && letter <=122)
- 字元轉字串
- Character.toString(letter)
- 字元轉大小寫
- Character.toUpperCase(letter); // 轉大寫
- Character.toLowerCase(letter); // 轉小寫
數字
- int number = 10;
- 工具類別: Integer
- 數字轉文字
- Integer.toString(number)
- 數字轉進制文字
- Integer.toString(number, 14)
- 文字轉數字
- Integer.parseInt(“10”);
排序
- Arrays.sort() 陣列
- https://docs.oracle.com/javase/7/docs/api/java/util/Arrays.html
- ascending order 由小到大排序
- Collections.sort() 集合
- https://docs.oracle.com/javase/7/docs/api/java/util/Collections.html
- ascending order 由小到大排序
- Collections.min(arrayList) //1
- Collections.max(arrayList) //3
- 使用foreach印出資料
- for ( 元素資料型別 變數名稱 : 集合) {}
數學計算
- Math 工具包
- 絕對值
- Math.abs()
- https://docs.oracle.com/javase/8/docs/api/java/lang/Math.html
- 最大值
- Math.max(3, 2) //3
- 最小值
- Math.min(1, 2) //1
- 次方 power
- Math.pow(2, 3) // 2的3次方 = 8
- 開根號 square root
- Math.sqrt(9) = 3
留言
張貼留言