標籤:java學習
Java學習筆記(2015.7.27~7.31)Java學習筆記(2015.7.27~7.31)
Java 課堂
Day16
(複習)
1、整形
資料的基本單位是bit(位)。
| 類型 |
bit |
Kb |
範圍 |
| byte |
8位 |
1位元組 |
-128~127(2^8) |
| short |
16位 |
2位元組 |
-32768~32767(2^16) |
| int |
32位 |
4位元組 |
很大,略 |
| long |
64位 |
8位元組 |
灰常大,略 |
2、數值的轉換
char通過ASCII(英語發音/ski/)轉成int,應用較多。
3、程式的機構
順序
分支
迴圈
4、方法重寫的常見問題
Duplicate method study() in type Student class
方法重複了
The constructor Student() is undefined
構造方法 未定義
Constructor call must be the first statement in a constructor
this()調用重載(Overload)構造方法必須在第一行
The static field Chinese.guoji should be
accessed in a static way
靜態調用靜態
Day181、容器Collection1、概念:儲存多個對象的對象。2、JDk為什麼提供容器
幾乎所有程式員都需要的功能
3、API
應用程式介面 Application Programming Interface
4、容器的功能
5、Collection介面常用方法
int size();
boolean isEmpty();
void clear();
boolean contains(Object element);要用到equals
boolean add(Object element);
boolean remove(Object element);
6、容器之間的操作(瞭解)
boolean cotainsAll(Collection c);
boolean addAdd(Collection c);
boolean removeAll(Collection c);
boolean retainAll(Collection c);求交集
7、List的特點
8、Set的特點
不按照儲存順序存放,按照自己的特定順序
HashSet內部元素排序按照HashCode值
元素不可以洪福
9、ArrayList的自動增加或減少元素的策略(瞭解)
ArrayList的內部實現使用了數組,如果元素個數小於10,數組大小為10,如果大於10,則為原長度+原長度的一半
10、Map(瞭解)
儲存索引值對形式的資料
例如:學號和學生姓名
儲存元素時,如果key相同,值會被覆蓋
key是唯一的,不允許重複
11、迭代
每個容器都實現了Iterator介面
僅有三個方法:
boolean hasNext();
Object next();
void remove();
迭代程式碼片段:
Iterator itr = c.iterator();while(itr.hasNext()) { itr.next();}2、自動拆裝箱(瞭解)
AutoBoxing/AutoUnBoxing
| 基本類型 |
封裝類型 |
| byte |
Byte |
| short |
Short |
| int |
Integer |
| long |
Long |
| float |
Float |
| double |
Double |
| char |
Character |
| boolean |
Boolean |
boolean digit = Character.isDigit(‘4‘);System.out.println(digit);boolean letter = Character.isLetter(‘!‘);System.out.println(letter);
3、JDK增強for迴圈(瞭解)
for(Object str: list) { System.out.println(str);}for(int i = 0; i<list.size();i++) { String str = (String) list.get(i); System.out.println(str);}4、泛型(掌握)
List<String> list = new ArrayList<String>();list.add("aaa");list.add(12);//錯誤,類型不符5、iterator與for在迭代中的區別
Day191、List另一個子類--LinkedList
| 子類 |
增 |
刪 |
改 |
查 |
| ArrayList |
低 |
低 |
高 |
高 |
| LinkedList |
高 |
高 |
低 |
低 |
2、數組的常用方法1、二分法尋找
前提:數組必須是有序的
Arrays.binarySearch(arrays,key)
2、數群組轉換為List
List asList = Arrays。asList(1,2,3,4,5);
3、可變參數Type ... param (瞭解)
可變參數是以數組的方式實現的,所以不能同時存在以數組作為形參的方法重寫。
3、排序
思路:
class Student implements Comparable<Student> { private int id; private String name; public int compareTo(Student o) { return this.id - o.id; }}
class StudentComparator implements Comparator<Student>{ public int compare(Student o1, Student o2) { return o1.id - o2.id; }}……Comparator<Student> comparator = new StudentComparator();Collections.sort(list,comparator);周末作業小技巧
將字元轉為數字
例如將‘1‘轉為整形1
int a = Integer.valueOf(‘1‘+"")
這樣才能順利轉成1
常用方法
charAt() 字串的方法
字串名.charAt(index) 將字串中的字元取出
Collections.frequency(Collection c, Object o)
返回指定 collection 中等於指定對象的元素數。
Java學習筆記(2015.7.27~7.31)