Java思惟理清思路

標題圖

Java思惟導圖css

學習方法:html

  1. 針對性學習
  2. 引導式學習
  3. 對比式學習
  4. 總結式學習

Java開發.png

Java學習.png

Java學習思惟導圖.png

第一篇:Java基礎.png

第二篇:面向對象.png

第三篇:Java進階.png

Java簡介: 簡單性,面向對象,分佈式,健壯性,安全性,平臺獨立與可移植性,多線程,多態性等.前端

Java三大致系:JavaSE,JavaEE,JavaME
平臺標準版,平臺企業版,微星版.java

Java開發環境配置:下載jdk,配置環境變量,JAVA_HOME設置,安裝java開發工具,CLASSPATH設置,PATH設置..算法

java基礎語法:spring

對象,就是類的一個實例,有行爲和狀態
類,就是模板,用來描述一個類對象的行爲和狀態
方法,就是行爲
實例變量,就是每一個對象都有一些獨特的實例變量,對象的狀態由這些實例變量的值決定sql

基礎語法:後端

Java中大小寫敏感,就是說Hellohello是不同的額.
類名,類名的首字母應該是大寫
方法名,全部方法名都應該是以小寫字母開頭
源文件名,源文件名必須和類名相同
主方法入口,全部程序經過publlic static void main(String []args)方法執行數組

標識符:類名,變量名以及方法名都被稱爲標識符安全

標識符以字母,美圓符號,或下劃線
關鍵字不能用做標識符
標識符是大小寫敏感的

修飾符分爲訪問控制修飾符和非訪問控制修飾符

一,訪問,default public protected private
二,非訪問,final abstract strictfp

變量:局部變量, 類變量(靜態變量), 成員變量(非靜態變量)

數組,數組就是存儲在堆上的對象,能夠保持多個同類型的變量

枚舉概念爲,枚舉限制變量只能是預先設定好的值,枚舉是能夠用於單獨聲明或者聲明在類裏面,方法,變量,構造函數也能夠在枚舉中定義.

java中有大概50多個保留字吧,關鍵字是不能用於常量變量,和任何標識符的名稱.

繼承是在java中,一個類能夠由其餘類派生的,被繼承的類爲超類,派生的類爲子類,利用了繼承的方法,能夠重用已經存在類的方法和屬性

接口,是做爲對象間相互通訊的協議,接口是定義要用到的方法,方法的實現要在派生類

學習java不少吧,有:

  1. 面向對象
  2. 多態
  3. 繼承
  4. 封裝
  5. 抽象
  6. 重載
  7. 方法
  8. 實例
  9. 對象

面向對象:

是描述對象的行爲和狀態
對象是類的一個實例,有行爲和狀態
構造方法,新建對象時,執行的一個特殊方法,建立一個對象的時候,至少要調用一個構造方法,構造方法的名稱要和類同名,一個類能夠有多個構造方法.

this是用來引用當前對象,構造方法之間的調用.

方法的重載是同名不一樣參.

final是用來修飾方法,變量,和類的,是最終不能夠變的.

static靜態, 靜態變量是類, 又叫類變量, 非靜態成員屬於實例, 靜態成員是經過類名直接調用, 而被static修飾的成員將最優先加載到內存裏.

接口, interface替代class , implements替代extends
接口中只能定義,公共的常量,抽象方法,內部類,內部接口.

說到抽象類,抽象類的做用是爲子類提供通用代碼,抽象類不能建立對象,在抽象類中,不必定有抽象方法,可是有抽象方法的類,必定是抽象類.

說到內部類,內部類是定義在類的內部,方法的內部或者是局部代碼中的類,就是叫內部類.

內部類: 靜態內部類, 非靜態內部類, 局部內部類, 成員內部類, 匿名內部類.

面向對象的三大特性

  1. 繼承
  2. 多態
  3. 封裝

繼承的做用是代碼重複使用,單繼承,一個類只能有一個父類,一個類,能夠有多個子類.在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用於建立抽象類和方法.synchronizedvolatile用於線程.

運算符要點

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){
}

時間

DateSimpleDateFormat

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

結語

  • 下面我將繼續對 其餘知識 深刻講解 ,有興趣能夠繼續關注
  • 小禮物走一走 or 點贊
相關文章
相關標籤/搜索