Java基礎知識點學習筆記

Java基本語法:

__1、標識符 Java出現的名稱 如源文件名 類名 變量名 方法名 __

命名規范(見名知意):
1、類名 :所有單詞首字母大寫的 其他字母要小寫 一般使用名詞命名 如 PersonTestPerson
2、變量名:第一個單詞首字母小寫 其他單詞首字母大寫 其他字母小寫 一般使用形容詞 如 stuAge
3、常量名:所有字母都大寫 多個單詞之間使用下劃線隔開 如 static final int EXIT_ON_CLOSE=0
4、方法名:第一個單詞首字母小寫 其他單詞首字母大寫 其他字母小寫 一般使用動詞 如 void setAge(int age)

__2、變量 定義 變量的數據類型 變量名[=初始值];變量可能是基本數據類型 如 int age;
也可能是引用數據類型的變量 如 Student stu; __

3、常量 定義 final 數據類型 常量名 = 初始值;

4、數據類型

基本數據類型
byte, short, int, long, float, double, char, boolean

基本數據類型的轉換
1、自動轉換 :
小容量類型 自動轉換為大容量類型
byte, short, char 參與運算時 先提升為int
short s1 = 1; short s2 = s1 + 1;
2、強制轉換
大容量 轉換為 小容量
注意:強制轉換可能丟失精度

引用數據類型
數組

接口
枚舉 :
1.默認實現java.lang.Comparable接口
2 .它不能有public的構造函數,這樣做可以保證客戶代碼沒有辦法新建一個enum的實例。
3.所有枚舉值都是public , static , final的。

5、運算符
算術
+ - * / % ++ --
比較運算符
> >= < <= != ==
所有的比較都可以應用到int, short, byte, long, float, double, char
對于boolean只能使用==!=
引用數據類型 只能使用 ==!=
賦值運算符

= ,+=, -= ,*= ,/= ,%=
如:int x = 20;

邏輯運算符

&& 短路
& 非短路
|| 短路
| 非短路
! 非

程序的流程結構

順序結構
選擇結構

if(條件表達式){}else{}
        switch case  break default
        switch(表達式){// byte short char int String enum(也可以是枚舉類型)
            case 常量1:
                語句塊;
                [break;]
            case 常量2:
                語句塊;
                [break;]
            default:
                默認的語句塊
                [break;]
        }

循環結構

while(條件表達式){
        }
        do{
        }while(條件表達式);
        for(初始表達式;條件表達式;迭代表達式){
        }
    流程跳轉語句
        break
        continue
面向對象

1、數組定義和使用
定義數組:
數據類型[] 數組名;
int[] scores ; Student[] students;
創建數組:

 a、scores = new int[10];
 b、Student stu1 = new Student();
      Student[] students = {new Student(),new Student(),stu1};
 c、Student[] students = new Student[2];
            students[0] = new Student();

通過索引引用數組中的元素 從0 開始 到 length-1
數組有length屬性表示數組的長度

注意:數組越界異常 (運行時異常) java.lang.ArrayIndexOutOfBoundsException

2、面向對象的相關語法:

類定義

[修飾符(public|final|abstract)] class 類名 [extends 父類][implements 接口1,接口2]{
成員變量
定義:[修飾符(public|protected|private|final|static)] 數據類型 變量名[=初始值];
成員方法
定義:[修飾符(public|protected|private|final|static|abstract)] 返回值類型|void 方法名([參數類型 參數名]) throws 異常類型,異常類型{
}
構造方法
定義:[修飾符(public|protected|private)] 類名([參數類型 參數名]){}
成員內部類
靜態和實例代碼塊
}

對象創建

Student stu = new Student() ;
            new Student().setAge(10);
            new 構造方法([參數]);

構造方法定義與使用
在Java中,任何變量在被使用前都必須先設置初值.Java提供了為類的成員變量賦初值的專門方法
1、有參
2、無參

public class A{  
   public A(){  
      System.out.println("調用了無參的構造函數");  
   }  
   public A(String mess){  
      System.out.println("調用了有參的構造函數\n"+  
         "參數內容為:"+mess);  
   }  
}  

方法重載(overload)

同一個類中定義類多個同名方法 但是這些方法參數不同
參數不同: 參數數據類型不同 參數個數不同

__ 什么是引用__

引用就是某一變量(目標)的一個別名,對引用的操作與對變量直接操作完全一樣。
引用的聲明方法:類型標識符 &引用名=目標變量名;
【例1】:int a; int &ra=a; //定義引用ra,它是變量a的引用,即別名

__ 對象的內存地址__

__ this關鍵字的使用__
this指的是當前類的當前對象 保存當前對象的引用
1、調用當前對象的成員變量和成員方法 如 this.成員變量名 或者 this.成員方法
2、在構造方法調用同一個類的另外一個構造方法 如 this([參數])

3、繼承
Java中類和類之間是單繼承 接口和接口是多繼承
所有的類默認會繼承Object
主要目的:
重用,擴展性提升
子類會繼承父類中非私有的成員(成員變量 成員方法 成員內部類)
4、重寫
把從父類繼承來的方法在子類中重新實現

注意:
和重載的區別
方法的簽名要和父類一致(
訪問修飾符要大于或者等于父類中方法
拋出異常個數要少于或者等于父類中異常個數
拋出異常的類型要和父類相同 或者 是父類中拋出異常類型的子類型
)

__ super__
當前對象的父對象
1、調用父類對象的成員變量和成員方法
2、在子類構造方法調用父類的構造方法

__ static __
修飾符 注意 不能和abstract一起使用
成員變量
類變量 是當前類所有對象共享的 建議使用類名調用
成員方法
類方法 建議使用類名調用
static{
}

__ final__
修飾符
變量 成員方法 類 注意 final不能和abstract一起使用
final 、finally 、finalize三者之間的區別

5、封裝
把一類事物進行抽象 取出它屬性和行為封裝到Java類中
屬性的封裝 將屬性私有 提供get和set方法
private 修飾 成員變量 成員方法 構造方法

程序23種設計模式 其中有一種模式 :單例模式 保證某一個類在程序運行期間只有一個對象 而且獲取多次是同一個對象

抽象類 和 抽象方法
abstract class 類名{ }
抽象類中可能會定義抽象方法
[修飾符(public|protected)] abstract 返回值類型|void 方法名([參數類型 參數名]);

__6、接口 __

[public] interface 接口名 [extends 接口1,接口2]{
                //常量 public static final
                //抽象方法 public abstract
            }

類實現接口
[implements 接口名1,接口名2]

__7、向上轉型 __
把子類對象 賦值 給父類型的引用變量 就是向上轉型:
WindowListener wl = new WindowAdepater(){};
向上轉型之后 只能調用父類型中定義成員變量和成員方法,但是如果這個方法子類中寫了 調用子類重寫后的方法

8、多態
相同類型的引用變量 調用同一個方法表現出不同的行為

Animal a = new Cat();
            a.shout();//喵喵
            a = new Dog();
            a.shout()://汪汪

訪問修飾符
public > protected > 默認的 > private
常用類:

       Objecte quals toString hashCode finalize wait notify notifyAll clone String

最常用的

                String s0 = new String("hello");
                String s1 = "hello";
                String s2 = "hello";
            StringBuffer
            StringBuilder 

包裝類
八種基本數據類型 每一個基本數據類型對應一個包裝類
將字符串轉換為基本數據類型值的方法 xxx parseXxx
自動裝箱 和 自動拆箱

            java.util.Date ****表示日期時間的對象
                Date()
                Date(long mills)
                long getTime()
            java.util.Calendar **** 通過這個類可以實現 設置具體某一個日期時間
            java.text.SimpleDateFormat ****

集合

 Collection<E>
                    List<E>
                        ArrayList<E>
                        LinkedList<E>
                    Set<E>
                        HashSet<E>
                Map<K,V> ****
                    HashMap<K,V>
                Map.Entry<K,V> 表示Map集合中一個鍵值對對象
                    getKey()
                    getValue()

Collections 排序

public void changeSort(int type){ 
    Comparator<ItemBean> comparator; 
    Toast.makeText(this, "type=="+type, 5).show(); 
    switch(type){ 
        case 1:{ 
            // 價格從低到高排序 
            comparator = new PriceLowToHighComparator(); 
            Collections.sort(list, comparator); 
        } 
        break; 
        case 2:{ 
            // 價格從高到低排序 
            comparator = new PriceHighToLowComparator(); 
            Collections.sort(list, comparator); 
        } 
        break; 
    } 
     
    adapter.setItemBeanList(list); 
    adapter.notifyDataSetChanged(); 
} 

__File 和 io流 __
io流和文件是Android常用技術
根據處理數據類型的不同分為:字符流和字節流
根據數據流向不同分為:輸入流和輸出流

線程
Java中線程的創建方式 以及保證類是線程安全
1、繼承 java.lang.Thread
2、實現 java.lang.Runnable
重寫他們的run方法 創建線程對象 調用start方法啟動線程
掌握線程狀態

異常
1、分類

運行時 :NullPointerException 空指針異常 
            ArrayIndexOutOfBoundsException  數組越界異常(數組下標越界)
            StringIndexOutOfBoundsException    字符串越界異常(字符串索引越界)
            ClassCastException     數字格式化異常
            NumberFormatException    類轉換異常
編譯期異常: IOException 以及它的子類(FileNotFoundException(文件未找到異常),SocketException(套接字異常))
                         PaserException  

2、異常處理的方式:
a、拋出 定義方式 指定 當前方法的方法體內可以能會產生異常類型
b、捕捉try{ }catch(異常類型 對象名){}finally{總是要執行的代碼}

網絡編程

1、TCP
TCP屬于即時通信,點對點連接進行通信,常用于開發聊天室。
學習的時候寫過一個demo,放在了github上,需要的可以下載看看,地址https://github.com/wapchief/chat-room-JFrame
2、UDP
UDP是通過數據包來進行通信,UDP當中會涉及到數據的解析和傳送。常用于音頻、視頻等數據的傳輸。

內部類
靜態內部類
成員內部類
⒊局部內部類
⒋匿名內部類
枚舉類型 和 類 以及 接口類似 是Jdk1.5之后提供的一種新的Java類型 類似于定義的常量

            [public] enum 類型名{
                //枚舉常量

                //成員方法
            }

之前學習java時候做的總結筆記,希望對一些初學者能有所幫助。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,837評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,196評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,688評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,654評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,456評論 6 406
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,955評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,044評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,195評論 0 287
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,725評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,608評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,802評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,318評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,048評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,422評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,673評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,424評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,762評論 2 372

推薦閱讀更多精彩內容