Java思惟導圖css
學習方法:html
Java
簡介: 簡單性,面向對象,分佈式,健壯性,安全性,平臺獨立與可移植性,多線程,多態性等.前端
Java
三大致系:JavaSE
,JavaEE
,JavaME
平臺標準版,平臺企業版,微星版.java
Java
開發環境配置:下載jdk
,配置環境變量,JAVA_HOME
設置,安裝java
開發工具,CLASSPATH
設置,PATH
設置..算法
java
基礎語法:spring
對象,就是類的一個實例,有行爲和狀態
類,就是模板,用來描述一個類對象的行爲和狀態
方法,就是行爲
實例變量,就是每一個對象都有一些獨特的實例變量,對象的狀態由這些實例變量的值決定sql
基礎語法:後端
在Java
中大小寫敏感,就是說Hello
和hello
是不同的額.
類名,類名的首字母應該是大寫
方法名,全部方法名都應該是以小寫字母開頭
源文件名,源文件名必須和類名相同
主方法入口,全部程序經過publlic static void main(String []args)
方法執行數組
標識符:類名,變量名以及方法名都被稱爲標識符安全
標識符以字母,美圓符號,或下劃線
關鍵字不能用做標識符
標識符是大小寫敏感的
修飾符分爲訪問控制修飾符和非訪問控制修飾符
一,訪問,default
public
protected
private
二,非訪問,final
abstract
strictfp
變量:局部變量, 類變量(靜態變量), 成員變量(非靜態變量)
數組,數組就是存儲在堆上的對象,能夠保持多個同類型的變量
枚舉概念爲,枚舉限制變量只能是預先設定好的值,枚舉是能夠用於單獨聲明或者聲明在類裏面,方法,變量,構造函數也能夠在枚舉中定義.
在java
中有大概50多個保留字吧,關鍵字是不能用於常量變量,和任何標識符的名稱.
繼承是在java
中,一個類能夠由其餘類派生的,被繼承的類爲超類,派生的類爲子類,利用了繼承的方法,能夠重用已經存在類的方法和屬性
接口,是做爲對象間相互通訊的協議,接口是定義要用到的方法,方法的實現要在派生類
學習java
不少吧,有:
面向對象:
類是描述對象的行爲和狀態
對象是類的一個實例,有行爲和狀態
構造方法,新建對象時,執行的一個特殊方法,建立一個對象的時候,至少要調用一個構造方法,構造方法的名稱要和類同名,一個類能夠有多個構造方法.
this
是用來引用當前對象,構造方法之間的調用.
方法的重載是同名不一樣參.
final
是用來修飾方法,變量,和類的,是最終不能夠變的.
static
靜態, 靜態變量是類, 又叫類變量, 非靜態成員屬於實例, 靜態成員是經過類名直接調用, 而被static
修飾的成員將最優先加載到內存裏.
接口, interface
替代class
, implements
替代extends
接口中只能定義,公共的常量,抽象方法,內部類,內部接口.
說到抽象類,抽象類的做用是爲子類提供通用代碼,抽象類不能建立對象,在抽象類中,不必定有抽象方法,可是有抽象方法的類,必定是抽象類.
說到內部類,內部類是定義在類的內部,方法的內部或者是局部代碼中的類,就是叫內部類.
內部類: 靜態內部類, 非靜態內部類, 局部內部類, 成員內部類, 匿名內部類.
面向對象的三大特性
繼承的做用是代碼重複使用,單繼承,一個類只能有一個父類,一個類,能夠有多個子類.在java
中構造方法不繼承,靜態成員不繼承,沒有訪問權限的成員不繼承.
多態,繼承是多態的基礎,沒有基礎就沒有多態,繼承屬於多態的一種,子類重寫父類的方法,父類引用變量指向子類對象.
子類轉父類,將一個父類的引用指向一個子類的對象,稱爲向上轉型,自動類型轉換.
封裝,封裝的好處是用來隱藏類的實現,修改屬性的可見性來限制屬性的訪問.
Java
中的程序
聲明對象,有對象名稱和對象類型,使用關鍵字new
來建立對象,初始化對象,如Person person = new Person("dashu")
,經過建立對象進行訪問成員變量和方法,聲明和實例化對象,訪問其中的變量和方法.
在java
中,一個源文件只能有一個public
類,能夠有多個非public
類,源文件的名稱和類名要同樣.java
包,包是用來對類和接口進行分類的.
數據類型
八種基本類型,六種數字類型,四種是整數型,兩種是浮點型, 另外的是字符類型, 還有布爾型.
類型: byte
,short
,int
,long
, float
,double
, boolean
,char
引用數據類型,在java
中有對象和數組都是引用數據類型,全部引用類型的默認值爲null
.
基本數據類型
自動類型轉換,低到高,byte
,short
,char
->int
->long
->float
->double
.
強制類型轉換,高到底.
轉換:\n
換行,\r
回車,\b
退格,\s
空格等.
修飾符
修飾符是用來定義類,方法或是變量,java
中支持4種不一樣的訪問權限,public
能夠用於當前類,同一包內,子孫類,其餘包,protected
能夠用於當前類,同一包內,和子孫類,default
能夠用於當前類,同一包類,private
只能用於當前類.
若是父類中聲明public
的方法在子類中也必須是public
,若是父類中protected
的方法在子類中聲明爲protected
,也能夠爲public
,不能爲private
.聲明爲private
的方法,不能被繼承.
非訪問,static
修飾符,能夠用來建立類方法和類變量.final
修飾符是用來修飾類,方法,變量.final
修飾的類不能被修飾,修飾的方法不能被繼承類從新定義.修飾的變量爲常量是不能夠被修改的.abstract
用於建立抽象類和方法.synchronized
和volatile
用於線程.
運算符要點
i++
是運算完加1,++1
先加1,後運算.
運算符:
&
都是1,結果爲1,不然爲0;
|
都是0,結果爲0,不然爲1;
^
相同的,結果爲0,不然爲1;
~
按位補運算符翻轉操做數的每一位,即0變成1,1變成了0.
循環結構
// do...while循環和while循環類似,可是do...while循環至少會執行一次 while(){ } do{ }while(); for(初始化;布爾表達式;更新){ } for(聲明語句;表達式){ } if語句 if...else語句 if...else if...else語句 switch語句 switch語句中的變量類型爲: byte, short, int, char
封裝,拆箱,抽象類,
Math
類,String
類
StringBuffer和StringBuilder StringBuffer的方法是線程安全的 StringBuilder相比較StringBuffer有優點 Integer x = 2; x = x + 2; 抽象類Number Integer,Long,Byte,Double,Float,Short Math類 xxxValue(),valueOf(),parseInt(),abs(),random() int compareTo() 進行比較兩個字符串 String concat() 將字符串鏈接到此字符串的結尾 boolean equals() 將字符串與指定的對象比較 int length() String[] split() byte[] getBytes() int hashCode() int indexOf() String substring() String trim()
數組
聲明數組變量,建立數組,多維數組
arr[] arr = {1,3,4,5,6,7,13}; for(int array : arr){ }
時間
Date
和SimpleDateFormat
String toString() long getTime() int compareTo() boolean before() boolean after() Date datenow = new Date(); SimpleDateFormat ft = new SimpleDateFormat("yyyy.MM.dd hh:mm:ss"); System.out.println(ft.format(datenow));
流,文件,
io
FileReader->InputStreamReader FileWriter->OutputStreamReader
// 建立目錄 mkdir()建立一個文件夾 mkdirs() // 讀取目錄 isDirectory()判斷是不是目錄 list()列表文件 delete()方法
異常處理
Throwable->Error Throwable->Exception try/catch throws/throw finally
集合框架
接口 Collection Map List 爲採用線性列表的存儲方式,長度可動態改變 Map 爲鍵-值對的存儲方式,長度可動態改變 具體類 List Map List -> ArrayList LinkedList Map -> HashMap 算法 Collections 提供了對集合實現遍歷等 Collection接口是最基本的容器接口 List接口 Set接口 List -> LinkedList -> 底層數據結構爲鏈表結構,查詢慢,增刪快 ArrayList -> 底層數據結構是數組結構,查詢快,增刪慢,線程不一樣步 Vector 底層是數組數據結構,線程同步,增刪改查都慢的 Set -> 不容許放入重複的元素,最多隻能保護一個null HashSet類,底層基於HashMap,不保證Set的迭代順序和永久不變 Map HashMap TreeMap
泛型
public class Test<T>() Test<Object> t = new Test<Object>(); 泛型類: public class Box<T>{ private T t; public void add(T t){ this.t = t; } public T get() { return t; } }
類型通配符:值使用
?
代替具體的類型參數
多線程
多線程就是多個線程進行?,線程是一種輕量級的進行,進程具備獨立性,動態性,併發性,進程的獨立性在於擁有獨立資源,獨立的地址,無受權其餘進程沒法訪問.多線程表明性,繼承Thread
和實現Runnable
接口.
線程創建,new一個Thread,而後就緒執行start方法,開始運行,執行run方法,而後阻塞,接着死亡.run方法進行結束,調用stop方法.
要學習框架的理念,目的,背景,優點,功能,特色,看書,框架原理,作一些demo
等.
學習開源項目,要學什麼,要掌握什麼,框架用法,功能通常有前臺和後臺.須要掌握的是前端和後端.這個項目的結果,設計思想,有什麼是咱們要學習的,遇到的一些問題去如何實現.
javase
基礎,掌握語法基礎,io
流,多線程,反射,sql
繼承,增刪改查,和學習表關聯查詢,前端學習,html``css
,jsp
學習,框架學習spring
,springmvc
,springBoot
,mybatis
等.
若是看了以爲不錯
點贊!轉發!
達叔小生:日後餘生,惟獨有你
You and me, we are family !
90後帥氣小夥,良好的開發習慣;獨立思考的能力;主動而且善於溝通
簡書博客: 達叔小生
https://www.jianshu.com/u/c785ece603d1