前兩天學習筆記的總結

Object類
Object概念使用方法以及注意事項
Object是根類 是全部類的父類
Object所在的包java.lang.Object,使用時不須要導包
本次學習的兩個成員方法
返回值String 方法名toString() :返回該對象的字符串表示
返回值boolean 方法名equals(Object obj) :指示其餘某個對象是否與此對象"相等" java

toString能夠將對象的內容以字符串的形式打印出來;
可使用子類重寫的方式重寫toString方法;
+ Insert 選擇 toString() 便可重寫 數組

public boolean equals(Object obj) :指示其餘某個對象是否與此對象"相等"
重寫equals()的做用:
不重寫時, 自定義對象默認繼承Object類的equals()方法, 經過 == 比較地址值
但開發時, 通常要重寫equals()方法, 讓對象根據屬性值來判斷是否相等
IDEA快捷鍵: Alt+Insert, 選 equals() and hashCode() app

2:日期時間類  Date、long、String、Calendar
                Date: 時間                  long:表示時間,精確到毫秒,int數字
                String:時間字符串              Calendar:日曆
                        java.util.Date類: 日期, 表示特定的瞬間, 精確到"毫秒"
                        // 構造方法
                        Date(): 建立Date對象, 表示當前系統時間
                        Date(long date): 建立Date對象, 使用指定的毫秒值做爲時間
                        // 經常使用成員方法
                        long getTime(): 獲取Date對象中保存的時間毫秒值
                        void setTime(long time): 修改Date對象的時間 學習

                DateFormat 類及其構造方法
                        java.text.DateFormat抽象類: 用於格式化和解析時間. 提供了方便的方法
                        // 經常使用成員方法 (抽象類不能建立對象, 但能夠有非抽象的方法供子類使用)
                        String format(Date date): 格式化, 從Date對象轉換爲String對象
                        Date parse(String source): 解析, 從String對象轉換爲Date對象
                        java.text.SimpleDateFormat類
                        // 構造方法
                        SimpleDateFormat(String pattern): 用給定的模式和默認語言環境的日期格式符號建立對象
                        // 使用指定的模式建立對象
                        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                        y: 年   M: 月           d: 日                   H: 時 (24小時制)           m: 分
                        s: 秒         E: 星期                D: 年中的天         K: 小時(12小時制)         S: 毫秒
                        例: ui

[Java]純文本查看__複製代碼翻譯

?code

01orm

02對象

03繼承

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

public class Test {

public static void main(String[] args) {

// 建立SimpleDateFormat對象用於格式化日期爲字符串

SimpleDateFormat sdf = new SimpleDateFormat(`"yyyy年MM月dd日 HH:mm:ss"`);

// 建立日期對象(使用當前系統時間)

Date date = new Date();

// 格式化

String s = sdf.format(date);

System.out.println(s); // 2018年07月24日 14:45:48

}

}

                        parse()解析時間:
                                將時間字符串解析爲日期對象
                                // 已知日期字符串"2000-10-01"
                                String s = "2000-10-01";
                                // 將該日期字符串解析爲日期對象
                                SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
                                Date date = sdf.parse(s); // 紅線按 Alt + Enter , 選擇第一項 Add exception to method
                                signature
                                而後將date轉化爲long值:
                                long time = date.getTime();
                                System.out.println(time)
                        Calendar抽象類:表明日曆
                                // 靜態方法
                                static Calendar getInstance(): 根據當前系統設置獲取合適的Calendar對象, 表示當前系統時間
                                // 獲取日曆對象的示例
                                Calendar c = Calendar.getInstance(); // 表明了當前時間
                                Calendar.getInstance() 會根據當前系統獲取合適的子類對象, 咱們獲取到的是 GregorianCalendar
                                // 靜態成員變量
                                static int YEAR :年份
                                static int MONTH :月份. 注意月份數值是 0-11
                                static int DAY_OF_MONTH :日期
                                static int HOUR :小時(12小時制)
                                static int HOUR_OF_DAY :小時(24小時制)
                                static int MINITE :分鐘
                                static int SECOND :秒
                                // 非靜態成員方法
                                int get(int field): 獲取指定日曆字段的值 int year = cal.get(Calendar.YEAR)
                                void set(int field, int value): 修改指定日曆字段爲指定的值
                                void add(int field, int amount): 調整指定日曆字段的值. 正數增長, 負數減小
                                Date getTime(): Calendar轉Date
                                void setTime(Date d): Date轉Calendar
                                // 示例
                                // 獲取日期:
                                int day = calendar.get(Calendar.DAY_OF_MONTH);
                                // 修改年:
                                calendar.set(Calendar.YEAR, 2000);
                                // 修改月:
                                calendar.set(Calendar.MONTH, 0);
                                // 日期增長一天:
                                calendar.add(Calendar.DAY_OF_MONTHY, 1);
                                // 日期減小一天:
                                calendar.add(Calendar.DAY_OF_MONTHY, -1);
        日期轉換總結:
        long (數學計算)
                \                 SimpleDateFormat
                Date -------------------- String (用戶輸入和顯示)
                /
        Calendar (獲取時間的某個部分)
        long和Date對象互轉
                利用Date
                        Date(long millis): long轉Date
                        long getTime(): Date轉long
        String和Date對象互轉
                利用SimpleDateFormat
                        Date parse(String s): String轉Date
                        String format(Date): Date轉String
        Calendar對象和Date對象互轉
                利用Calendar
                        Date getTime(): Calendar轉Date
                        void setTime(Date d): Date轉Calendar

                System類:
                        System.currentTimeMillis();獲取當前時間毫秒
                        long now = System.currentTimeMillis();
                                java.lang.System類: 系統相關功能(數組複製方法)
                                // 靜態方法
                                static void arrayCopy(Object src, int srcPos, Object dest, int destPos, int length): 複製源數
                                組中指定長度個元素到一個新數組中
                                        * Object src: 源數組 (被複制的數組)
                                        * int srcPos: 源數組索引 (從源數組的哪一個索引開始複製)
                                        * Object dest: 目標數組 (要複製到哪一個數組)
                                        * int destPos: 目標數組索引 (指定目標數組接收元素的索引位置)
                                        * int length: 長度 (要複製的元素個數)

        StringBuilder類:字符串拼接
                        以前學習的字符串拼接咱們經常使用「+」號
                                「+」使用加號進行字符串拼接, 會建立不少額外的對象, 浪費內存空間
                                        實際上+加號在最終執行時, 會被翻譯爲:
                                new StringBuilder("原字符串").append("要拼接的字符串").toString();
                                額外建立了多餘的StringBuilder對象
                        StringBuilder(): 構造一個空的StringBuilder容器
                        StringBuilder(String str): String轉StringBuilder
                        StringBuilder append(任意類型): 添加任意類型數據的字符串形式, 並返回當前對象
                        String toString(): 將當前StringBuilder對象轉換爲String對象
                String和StringBuilder互轉: 利用StringBuilder
                        StringBuilder(String str): String轉StringBuilder
                        String toString(): StringBuilder轉String
                        例:
                                /*
                                需求:
                                使用StringBuilder拼接如下內容:
                                        123
                                        true
                                        你好Java
                                並最終轉換爲String類型, 打印出來
                                */

[Java]純文本查看__複製代碼

?

01

02

03

04

05

06

07

08

09

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

public class Test {

public static void main(String[] args) {

// 建立StringBuilder對象

StringBuilder sb = new StringBuilder();

// 鏈式調用

sb.append(`123).append(true).append("你好Java"`);

// 轉換爲String

String s = sb.toString();

System.out.println(s); // 123true你好Java

// 更簡單的配合匿名對象形式

String result = new StringBuilder().append(`123).append(true`).append("你好

Java").toString();

System.out.println(result); // 123true你好Java

}

}

次日內容 Collection 泛型

Collection接口
集合與數組的區別有兩點
        第一點 數組長度不可變 集合長度可變
        第二點 數組只能存儲同一類型的元素,而集合儲存的都是對象,並且對象的類型能夠不同,因此對象多的時候,使用集合。
Collection接口做爲全部單列集合類型的祖類,所含有的方法是全部單列集合都能使用的共性方法,沒有帶索引的方法
        分爲list有序接口 和set無序接口
boolean add(E e):添加到集合中 。
void clear():清空集合中。
boolean remove(E e):刪除指定對象。
boolean contains(E e): 判斷是否包含某對象。
boolean isEmpty(): 判斷集合是否爲空。是的話返回true
int size(): 統計集合元素個數。
Object[] toArray(): 轉成數組。

迭代器
        Iterator接口用來遍歷數組,也被稱爲迭代器
迭代:即Collection集合元素的通用獲取方式。在取元素以前先要判斷集合中有沒有元素,若是有,就把這個元素取出來,繼續在判斷,若是還有就再取出出來。一直把集合中的全部元素所有取出。這種取出方式專業術語稱爲迭代。

Iterator接口的經常使用方法以下:
next:返回迭代的下一個元素。
hasNext():若是仍有元素能夠迭代,則返回 true。

    //迭代器對象
    Iterator<String> it = coll.iterator();
    //  泛型指的是迭代出元素的數據類型
    while(it.hasNext()){ //判斷是否有迭代元素
        String s = it.next();//獲取迭代出的元素
        System.out.println(s);
    }

加強for
加強for循環也叫for each循環,用來遍歷數組和集合。它的內部原理實際上是個Iterator迭代器,不能再遍歷時進行增刪操做。
快捷鍵 集合名.for

泛型

先不肯定類型 等到使用時再肯定類型

泛型<>:
                泛型的好處:
                        一、避免了類型轉換的麻煩
                        二、將運行時的類型轉換異常,轉移到了編譯時期,更有利於提早發現問題

                Collection coll = new ArrayList();
                coll.add(1);
                for(Object o : coll){
                        sout(o)
                }
        方法中的泛型定義位置:
                修飾符 和 返回值類型 之間
                // 帶有泛型的方法定義格式
                修飾符 <表明泛型的名字> 返回值類型 方法名(參數){
                }
                方法中定義泛型後, 返回值類型和參數類型均可以使用泛型
                方法泛型的使用:
                在調用方法時肯定泛型的具體類型
        定義泛型接口與定義泛型類同樣
                // 帶有泛型的類定義格式
                修飾符 interface接口名<表明泛型的變量> {
                }
        實現類實現了泛型接口後能夠有2種選擇:
                1. 定義實現類時就肯定泛型的具體類型
                2. 定義實現類時仍然沿用泛型, 直到建立該類對象時才肯定泛型的具體類型

        泛型定義總結:                 定義在類上的泛型:                         有效範圍: 整個類中都有效                         什麼時候肯定具體類型: 建立該類對象時肯定泛型的具體類型                 定義在方法上的泛型:                         有效範圍: 方法中(包括返回值類型和參數類型)有效                         什麼時候肯定具體類型: 調用方法傳參時肯定泛型的具體類型                 定義在接口上的泛型:                         有效範圍: 接口中                         什麼時候肯定具體類型:                                 1. 子接口或實現類定義時肯定泛型的具體類型                                 2. 建立實現類對象時肯定泛型的具體類型

相關文章
相關標籤/搜索