一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

java基礎(chǔ)知識

 印度阿三17 2019-12-30

什么是java

Java是美國sun公司,在1995年推出的高級編程語言。所謂的編程語言,是計算機語言,使用編程語言對計算機下達命令,完成人們所需要的功能。

1、 字節(jié)和DOS命令

  字節(jié):是計算機中最小的存儲單位。   

  1byte = 8 bit  (1字節(jié) = 8 位)

2、 java開發(fā)環(huán)境

  JVM(java Vritual Machine):java虛擬機。

  是虛擬的用于執(zhí)行bytecode字節(jié)碼的,虛擬計算機。

  JRE(java Runtime Environment):java程序運行環(huán)境。

  包含 JVM、運行程序必要的文件。

  JDK(java Development Kit): 程序開發(fā)工具包。

  包含JRE、編譯器、調(diào)試器等開發(fā)的工具。

   

  運行程序,只需要安裝JRE就可以。

  開發(fā)程序,一定要安裝JDK.

3、 標識符

  指程序中我們自己定義的內(nèi)容。如:類名,變量名等。

  命名規(guī)則:

  可以包含a-z(大小寫)、0-9、$、_(下劃線)

       不能使用數(shù)字開頭

       不能使用關(guān)鍵字。

  有大駝峰式 (ByuhGin)和小駝峰式(byuhGin)

4、 常量

  就是在程序運行的過程中,不會改變的量。

5、 數(shù)據(jù)類型

  基本數(shù)據(jù)類型:         (由小到大)

       整形數(shù)據(jù)      byte、short、int、long

       浮點型         float、double

       字符型         char

       布爾型         Boolean

  引用數(shù)據(jù)類型:

       字符串、數(shù)組、類、接口、Lambda

6、數(shù)據(jù)轉(zhuǎn)換

  自動轉(zhuǎn)換: 由小賦值給大的

  強制轉(zhuǎn)換:  int  sum = (int) 100L

  byte、short、char可以進行數(shù)學運算,都會先提升為int類型,再運算。

  Boolean類型不能進行數(shù)據(jù)類型的轉(zhuǎn)換。

7、ASCLL碼表

  0 -----》 48, A ------》 65, a------》97

8、運算符

     簡單運算符: 、-、*、 /、 %、

     賦值運算符: =、-=、*=、/=、%=

     比較運算符:> 、<、 >=、 <=、 ==、 !=

     邏輯運算符:&&、||、 !

     三元運算符:

  數(shù)據(jù)類型  名稱 = 判斷條件 ? 表達式A : 表達式 B;

 ?。ūWC:

  1、      表達式A、B都需要滿足前面的數(shù)據(jù)類型。

  2、      三元運算符的結(jié)果必須被使用。)

9、判斷語句

  注意的是,break和continue。

  break是跳出當前內(nèi)容。

  continue是跳出當前條。繼續(xù)執(zhí)行。

方法的重載

  方法是不能嵌套使用的。

  重載(ovreload):就是多個方法的名稱一樣,但是參數(shù)列表不一樣。

         ?。▍?shù)個數(shù)、參數(shù)類型、參數(shù)類型的順序)不一樣。

數(shù)組的幾種創(chuàng)建方法

  動態(tài)初始化數(shù)組:

  數(shù)據(jù)類型[ ] 數(shù)組名稱 = new 數(shù)據(jù)類型[ 數(shù)組長度  ] ;

  靜態(tài)初始化數(shù)組:

  數(shù)據(jù)類型[ ] 數(shù)組名稱 = new 數(shù)據(jù)類型[ ] { 元素1,元素2 } ;

  省略式:

  數(shù)據(jù)類型[ ] 數(shù)組名稱 = { 元素1,元素2  };

  索引值從0開始,到 數(shù)組長度-1 為止。

集合

ArrayList

  ArrayList<E> 名稱 = new ArrayList<E>();

  注意:ArrayLiist的長度是可以隨意變化的,

           泛型E,需要裝的是全部統(tǒng)一的泛型類型。

           泛型只能是引用類型,不能是基本類型。

Map

 

Java內(nèi)存

Java中的內(nèi)存分布

  1、棧(Stack):存放的都是方法的局部變量。方法的運行一定在棧中運行。

       局部變量:方法的參數(shù),是方法{ } 中的局部變量

       作用域:一旦超出作用域,立刻從棧內(nèi)存中消失。

  2、堆(Heap):new出來的東西,都在堆里面。(.class相關(guān)的信息)

    堆里面的東西都有一個地址值:16進制

  3、方法區(qū)(Method Area):存儲.class的相關(guān)信息,包含方法的信息。

  4、本地方法棧(Native Method Stack) 與操作系統(tǒng)相關(guān)

  5、寄存器(pc Register) 與cpu相關(guān)

異常

空指針異常:

  所有的引用類型都可以賦值一個null值,

  數(shù)組必須要new初始化才能使用其中的元素。

  如果在沒有new的情況下,給數(shù)組賦值了一個null。那么就會出現(xiàn)空指針異常。

  空指針異常:NullPointerException

數(shù)組索引越界異常

  如果在訪問數(shù)組的時候,訪問的索引已經(jīng)超出了數(shù)組的索引值,

  就會出現(xiàn)數(shù)組索引越界異常:ArrayListIndexOutOfBoundsException

成員變量和局部變量區(qū)別

局部變量:

      在方法的內(nèi)部;

     只有方法可以使用,外面不能使用

     沒有默認值,如果要使用,側(cè)需要手動賦值。

     位于棧內(nèi)存中。

     隨著進棧產(chǎn)生,出棧消失。

成員變量

      在方法的外面

     整個類都可以使用

     如果沒有賦值,會有默認值

     位于堆內(nèi)存中

     隨著創(chuàng)建對象產(chǎn)生,對象被垃圾回收而消失。

Static的講解

Static的使用

  使用static修飾成員方法,就成為了靜態(tài)方法。靜態(tài)方法不屬于對象。而是屬于類。

  無論是成員變量、還是成員方法,使用了static修飾,都建議使用   類名稱點進行調(diào)用。

  注意:    靜態(tài)不能直接訪問非靜態(tài)

                靜態(tài)方法中,不能使用this。

靜態(tài)代碼塊

  Static{  靜態(tài)內(nèi)容 }

  靜態(tài)代碼塊,執(zhí)行唯一的一次。

  靜態(tài)內(nèi)容總優(yōu)先于非靜態(tài)內(nèi)容。所以,靜態(tài)代碼塊比構(gòu)造方法先執(zhí)行。

Java的三大特征

封裝

  就是將一些細節(jié)信息隱藏起來,不對外界開放。

  方法就是一種封裝。

  關(guān)鍵字Private 也是一種封裝

繼承

  使用extends 、implements 對父類進行繼承。

  父類 (基類)、子類 (派生類)

繼承中的重寫

  就是和父類的方法名一樣,參數(shù)列表也是一樣。

  @Override 驗證是不是有效的正確覆蓋重寫。

  就算不寫,只要滿足要求,也是正確的方法覆蓋重寫了。

繼承中的構(gòu)造方法的訪問特點

  子類必須調(diào)用父類構(gòu)造方法,不寫側(cè)贈送一個super();

  寫了則用寫的指定的super調(diào)用,super只能有一個,還必須是第一個

Super的三個用法

  在子類的成員方法中,訪問父類的成員變量。

  在子類的成員方法中,訪問父類的成員方法。

  在子類的構(gòu)造方法中,訪問父類的構(gòu)造方法。

  Super和this兩種構(gòu)造調(diào)用,不能同時使用。

多態(tài)

  就是父類引用指向子類對象。

  格式:父類名稱  對象名 = new 子類名稱();   或者

           接口類名稱  對象名 = new 實現(xiàn)類名稱();

  多態(tài)中的方法的訪問,看new的是誰。就優(yōu)先用誰,沒有就向上找。

  訪問:

       成員變量:編譯看左,運行還是看左。

       成員方法:編譯看左,運行看右。

向上向下轉(zhuǎn)型

  向上轉(zhuǎn)型:一定安全的,從小范圍轉(zhuǎn)向大范圍。

  向下轉(zhuǎn)型: 范圍小的轉(zhuǎn)型范圍大的。注意:在轉(zhuǎn)型的時候,必須要規(guī)定,

      小范圍的對象本來就是屬于大范圍的對象才行。

抽象

概念

  還不能確定具體是做什么的方法。

  規(guī)則:使用abstract關(guān)鍵字,不需要方法體。

  如: public  abstract  void  eat(); 這就是一個抽象的方法。

  注意:抽象方法所在的類,一定需要是抽象類才行。

  調(diào)用抽象類,不能直接調(diào)用。

  需要創(chuàng)建實現(xiàn)類,重寫抽象類里面的所有的抽象方法,并且需要打開方法體{  } 進行方法的設(shè)置。

  除非子類也是抽象類,就不用所有的抽象方法都重寫。

特殊方法

this

  當局部變量和成員變量同名的時候,使用“就進原則”。

  先使用的是局部變量。訪問成員變量就使用this.成員變量。

構(gòu)造方法

  專門是用來創(chuàng)建對象用的。當我們new創(chuàng)建對象的時候,其實是在調(diào)用構(gòu)造方法。

  注意:

    1、如果,沒有編寫構(gòu)造函數(shù),編譯器會自動贈送一個構(gòu)造方法

    2、不能返回一個具體的值。

    3、構(gòu)造方法也是可以重載的。

final的使用

  代表最終、不可改變(內(nèi)容還是可以變的)

  對于類和方法來說,abstract和final不能同時使用,

final四種用法:

  1、      修飾類

    規(guī)定:當前類不能有任何的子類。(太監(jiān)類)

    類中的所有成員方法不能進行覆蓋重寫。

  2、      修飾方法

    規(guī)定:這個方法是最終的方法。也是不能被覆蓋重寫。

  3、修飾局部變量

    規(guī)定: 一次賦值,終生不變。

    對于基本類型,不變的是數(shù)據(jù)不變

    對于引用類型,不變的是地址值不變。

  4、修飾成員變量

    因為成員變量有默認值,所以,final之后必須手動賦值,

    要么,直接賦值,要么通過構(gòu)造方法賦值。

    必須保證類中所有的重載的構(gòu)造方法,都最終會對final的成員變量進行賦值

Java的四種權(quán)限

   

內(nèi)部類

  就是事物的內(nèi)部包含另外一種事物。

  成員內(nèi)部類、局部內(nèi)部類(包含匿名內(nèi)部類)

  就是在類中嵌套一個類

  注意:內(nèi)用外,隨意訪問,外用內(nèi),需要創(chuàng)建內(nèi)部對象,

  調(diào)用格式:

  外部類.內(nèi)部類  對象名 = new 外部類().內(nèi)部類();

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美欧美欧美欧美一区| 国产欧美日产久久婷婷| 欧美日韩国产精品第五页| 99久久精品午夜一区二区| 少妇在线一区二区三区| 国内自拍偷拍福利视频| 国产乱久久亚洲国产精品| 人妻久久这里只有精品| 日韩不卡一区二区三区色图| 风间中文字幕亚洲一区| 美女被草的视频在线观看| 东京热男人的天堂久久综合| 真实偷拍一区二区免费视频| 精品亚洲香蕉久久综合网| 九九热精品视频免费在线播放| 日韩在线中文字幕不卡| 亚洲最新中文字幕在线视频 | 国产又粗又硬又大又爽的视频| 韩国日本欧美国产三级 | 高清在线精品一区二区| 精品国产亚洲一区二区三区| 不卡在线播放一区二区三区| 日本人妻丰满熟妇久久| 搡老妇女老熟女一区二区| 一个人的久久精彩视频| 久久精品亚洲情色欧美| 亚洲国产色婷婷久久精品| 香蕉久久夜色精品国产尤物| 欧美日韩一区二区午夜| 一区二区三区在线不卡免费| 国产精品一区二区高潮| 日本欧美在线一区二区三区| 日本一区二区三区久久娇喘| 国产av天堂一区二区三区粉嫩| 国产精品福利一二三区| 特黄大片性高水多欧美一级| 91免费一区二区三区| 国产精品偷拍一区二区| 亚洲淫片一区二区三区| 丝袜av一区二区三区四区五区| 微拍一区二区三区福利|