日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java常用的知识点就20_JAVA中一些需要记录的知识点

發布時間:2023/12/4 java 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java常用的知识点就20_JAVA中一些需要记录的知识点 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

原標題:JAVA中一些需要記錄的知識點

的老師今天給大家講java中一些重要的知識點。

JDK與JRE的區別:

JRE是所有JAVA程序運行所需要的環境,任何JAVA程序的運行都依賴于JRE,當前從JAVA官網選擇安裝JAVA即安裝的是JRE。

JDK是為開發人員所提供的工具包,對開發人員來說屬于必備項,一般在JDK本身包含JRE,但是一般JDK還會再安裝一套JRE,這一套JRE被成為公共JRE。

當前的主流編輯器,如eclipse會找到JRE和JDK的位置,當然也可以再進行手工修改。

JAVA所需環境變量說明:

PATH:(必需)指定編譯、運行java程序是所需要的程序所在路徑,一般在jdk安裝目錄(注意是JDK!!!和JRE是不一樣的!!!)下的bin文件夾中。目前常用的設置辦法是先定義一個JAVA_HOME變量,在PATH中引用JAVA_HOME:%JAVA_HOME%/bin;

CLASSPATH:(之前必需,現在非必需)設置Classpath的目的,在于告訴Java執行環境,在哪些目錄下可以找到您所要執行的Java程序(.class文件),現在已經不需要;

JAVA_HOME:(理論上非必需,實際必需)設置一個變量存放java程序運行所需要的程序所在路徑,方便在其他地方進行引用(不用再輸入一長串路徑,直接使用JAVA_HOME變量即可),同時,現在不少軟件也會直接調用JAVA_HOME變量,不設置容易出錯。

1.java主要結構闡述

java中每一個.java文件都是一個類,一個java工程由許許多多的.java文件組成,也就是由java類組成。一般而言一個java類中主要的結構如下:

1.包申明:java類在本工程中屬于哪個包,即在工程中的位置;

2.導入的包:外部庫,工具;

3.公共類體(或接口)定義:類名與java文件的名稱必須相同,類中內容即java文件的主要內容

4.其他:其他類的定義和接口定義。

java項目中,由外至內分別為:source文件夾、包(package)、類(.java,就是上面bb了半天的那個東西),經過編譯后會將編譯后的類(.class)放在與source文件夾同級的bin文件夾中。不同的source floder中的package可以同名,相同的package中的類不能同名(在兩個不同source floder中的相同package中也不行)

2.基本數據類型

基本數據類型8中:整型4種、浮點2種、字符、布爾;

btye最大128-1;short最大32768-1;int包含最大2開頭的10位數;數值計算注意整型數值范圍,記得加轉換符;long數據在賦值時若整數的數值超出int的最大范圍則要在整數后面加上l說明;

浮點型對于float的賦值要在小數后面加f說明;

單純的字符型變量相加(即每個元素都是字符變量(PS.加入整形也是ascii碼相加))等于把各個字符的ascii碼相加;(與字符串的加法運算不同!!!字符和字符串相加得到的是字符串)

3.基礎包裝類

基礎的常用的包裝好的類有7種(一定注意大小寫!!!):String、Integer、Boolean、Byte、Character、Double、Number;

4.類型轉換:

char、int、double等之間可以用強制轉換的方式轉化,如(int)‘a’,(char)25;boolean類型變量無法由強制轉換得到

各個變量與各個類之間的轉換,需要通過調用各個對象的方法來實現。如:整形、字符型向String對象轉換,可以使用String.valueOf();

5.常量賦值:

全局常量初始化時必須賦值;局部常量初始化時可以不賦值,但是只能賦值一次。

6.變量有效范圍:

全局變量分為實例變量和靜態變量(static),靜態變量可以在其他類中使用類名.變量名的方式使用,實例變量只可在本類中使用。

局部變量只在定義變量的代碼塊中有效,即{}兩個大括號之間,從變量申明開始算。

與局部變量同名的全局變量,在局部變量的使用范圍內失效。

7.switch與if elseif的區別

兩者可實現相同的功能,但從邏輯上說,if elseif必須對匹配項前面的每一個項都執行檢查,而switch通過一定的查找辦法去查找匹配項。在需要檢查的項較多時,switch效率更高,switch另一個優勢是代碼清晰,但缺點是難以進行復雜操作。

8.使用foreach循環方式

使用foreach循環方式可以快速的遍歷數組、對象等,具體方式:for(int x:arr){操作},但需要注意foreach形式無法對數據進行寫入

9.String對象常用方法記錄(按個人理解的常用程度排序,參數和具體用法未說明,下同)

length()獲取字符串長度;

equals()判斷字符串的內容是否相同,注意,不能直接使用等號比較,使用等號會比較內存中的位置!!!!!

replace()字符串中的子串替換;

split(),將字符串按給定的符號進行分割,保存在數組中;

toCharArray(),將字符串轉換為字符數組;

trim()去除字符串前后的空格,注意,不對字符串進行更改,而是返回相應副本;

substring()截取字符字串;

toLowerCase(),toUpperCase()進行字符串的大小寫轉換;

indexOf(),lastIndexOf()在字符串中查找子串位置;

charAt()返回字符串中指定位置的字符;

startsWith(),endsWith()判斷字符串的開始和結尾是否為指定字符串;

compareTo(),按字典順序比較字符串;

10.Arrays對象常用方法記錄(按個人理解的常用程度排序,參數和具體用法未說明)

Arrays.fill(),填充數組,可用于數組初始化、賦值;

Arrays.sort(),對數組進行排序;

Arrays.copyOf(),Arrays.copyOfRange對數組進行復制;

11.注意static關鍵詞的使用

具體解析見技術博客:http://www.cnblogs.com/dolphin0520/p/3799052.html

在使用的時候,如要在類外部調用的方法、變量都需要加上static限制符,而帶有static限制符的類(方法)若需要調用其他方法或全局變量,那么被調用的方法和全局變量也必須有static修飾(這是因為非靜態變量必須要創建實例才能被調用)。一般用于不需要創建實例的類(方法),例如用作工具的類。

要區分static與權限修飾符的區別,static的目的是,在不創建實例的情況下也可使用static變量和方法,而權限修飾符則規定了該方法與變量的使用范圍。

12.Java的集合類保存數據說明

Arraylist、HashMap等集合類是java中的一個特色,但在其中只能保存引用型的數據,不能保存基本數據。即:Integer可以但int不行。

13.對于class的權限修飾符說明

對于頂級類(包內部第一層的類)來說,只有public修飾符可用,表示可跨包使用該類,若不用public則默認在該包內可用,一個.java文件中使用public的類至多存在一個。對于頂級類的內部類,其權限修飾符為private、protected、public與默認。

關于內部類的權限問題需要深入研究(比如內部類中存在private變量,需要在外部類的內部使用該變量等情況),此處暫時跳過。

14.判斷一個類的兩個對象是否相等

除了基礎變量,引用變量(對象)不能使用兩個等號==去判斷值是否相等(一個類生成的兩個對象是否相等),需要使用equals方法。但注意的是,一般用戶定義的類的equals方法內部都是使用雙等號判斷的,要實現判斷的效果還需要用戶重載equals。

15.基本變量對應的包裝類中可能常用的方法

Integer

equals(),比較兩個integer對象的值是否相等

byteValue(),intValue(),shortValue(),返回對應類型的值

toString(),將Integer對象轉換為String對象(toBinaryString()、toHexString()、toOctalString()同理)

Integer.valueOf(),將String對象轉換為Integer對象

Integer.parseInt(),將String對象轉換為int變量。

Boolean

Byte

Character

Character.inUpperCase()、Character.inLowerCase(),判斷是否為大寫、小寫字符

Character.toUpperCase()、Character.toLowerCase(),轉換為大寫、小寫字符

toString(),將字符轉化為字符串

Double(Float可以參考Doubel,方法是一樣的)

intValue(),返回整形變量

toString(),返回字符串

Double.valueOf(),將String對象轉換為Double對象

的老師的總結:需要進行基礎類的轉換時,可使用toString()轉換成字符串,再將字符串用各個類的valueOf轉換為需要的類。

16.常用數學計算方法

DecimalFormat類

當中的各個方法對數字進行格式化,得到的是字符串;

Math類

三角函數方法,可進行各類三角函數計算,包括弧度角度互換

指數函數方法,平方、平方根、立方、立方根方法等

取整函數方法,向上、向下取整,最近取整

最大值最小值絕對值

隨機數方法(產生0到1之間的任意double型數值)

Random類

nextInt()返回一個整數、nextLong()返回一個長整型、nextBoolean()返回一個布爾變量、nextFloat()返回一個浮點數

17.關于方法重寫(不同于重載!!!!)

重寫方法時,可以修改方法的修飾符、返回值類型(參數類型、個數不可變),大多數情況下父類中的final方法不可重寫(private final在子類中不可見,可重寫,是比較特殊的情況)

子類方法對父類方法重寫時,子類方法的修飾符必須比父類方法的修飾符權限更大;

子類對父類方法從重寫時,若要修改子類方法中返回值類型,該類型必須是父類中同方法返回值的子類;

18.關于方法重寫與重載的區別

在同一個類中,方法無法重寫,即在一個類中不能存在兩個相同方法名、參數個數、參數類型的方法,在同一個類中,方法可以重載,即一個類中允許多個相同的方法名,不同的參數類型、參數個數的方法存在。方法的重寫涉及到父類、子類至少兩個類,若要重寫,不能修改方法的參數類型和個數,方法的重載只在一個類中發生,若要重載,必須要修改參數類型、個數。所有的父類中的方法都會在子類中被繼承,所以父類與子類中存在兩個方法名相同、參數不同的方法時,可以看作先被繼承,后被重載。

19.抽象類(abstract關鍵字)

抽象類只能被繼承,沒有其他任何功能,而抽象類中的抽象方法在被繼承后必須要進行重寫,抽象方法沒有方法體。若類中含有抽象方法,則該類必定為抽象類。

20.接口

接口(interface)的權限修飾符(待解決),接口中的方法均為public且不含方法體需要繼承后重寫,

先不管原理談應用,接口一般使用public修飾,不加public的接口只能在同包中的不同類中使用(依然是默認的protected),加上public的接口才能跨包使用,但是只有與.java名稱相同的interface才能使用public。而在接口內部,除去static、default方法,其他方法均不能有方法體。

21.對象的轉型

對象轉型分為向上轉型和向下轉型,子類對象可以一直向上轉型(會自動轉型),父類對象的轉型要考慮其是否屬于子類對象才能轉(需要強制轉型)。如:A a = new B();,B為A的子類,則最終a當作A類型的對象,但本質上仍是B類,父類類型的引用可以調用父類中定義的所有屬性和方法,對于只存在與子類中的方法和屬性它就望塵莫及了,即a可以調用B類型中從A類繼承到的方法和屬性,但不能調用B類中獨有的方法和屬性。在方法調用時同理,假設C繼承于B繼承于A,則C類型對象c在調用類中某一方法時,會在可用范圍內(可用范圍參考上一句)先查找以C類型為參數的方法重載版本,若不存在,則向上轉型為B并查找B類型為參數的方法重載版本,直至找到可執行的方法重載版本,若不存在,則無法調用,會報錯。

22.關于類包

在實際開發中,應為所有的類指定類包,包的聲明必須是文件中第一行非注釋代碼,所有類包均為小寫字母構成。導入包時,若使用*來導入包中的所有類,則并不會導入子類,如需要導入子類還需要重新import。使用import static可以導入類當中的靜態成員。

23.關于常量

final定義的常量分類局部常量和全局常量,局部常量在其生命周期內不能重定義,但是需要的話可在每次創建的時候都可以賦新值,全局常量一般使用public static final,在程序運行期間,全局常量的值都不會被改變。

PS:

多態沒能理解透徹,待深入

接口的權限修飾符未能理解透徹,待深入

JDK與JRE的區別:

JRE是所有JAVA程序運行所需要的環境,任何JAVA程序的運行都依賴于JRE,當前從JAVA官網選擇安裝JAVA即安裝的是JRE。

JDK是為開發人員所提供的工具包,對開發人員來說屬于必備項,一般在JDK本身包含JRE,但是一般JDK還會再安裝一套JRE,這一套JRE被成為公共JRE(如圖),JDK需要從oracle的官網下載。

當前的主流編輯器,如eclipse會找到JRE和JDK的位置,當然也可以再進行手工修改。

JAVA所需環境變量說明:

PATH:指定編譯、運行java程序是所需要的程序所在路徑,一般在jdk安裝目錄(注意是JDK!!!和JRE是不一樣的!!!)下的bin文件夾中。目前常用的設置辦法是先定義一個JAVA_HOME變量,在PATH中引用JAVA_HOME:%JAVA_HOME%/bin;

CLASSPATH:設置Classpath的目的,在于告訴Java執行環境,在哪些目錄下可以找到您所要執行的Java程序(.class文件),現在已經不需要;

JAVA_HOME:設置一個變量存放java程序運行所需要的程序所在路徑,方便在其他地方進行引用(不用再輸入一長串路徑,直接使用JAVA_HOME變量即可),同時,現在不少軟件也會直接調用JAVA_HOME變量,不設置容易出錯。

1.java主要結構闡述

java中每一個.java文件都是一個類,一個java工程由許許多多的.java文件組成,也就是由java類組成。一般而言一個java類中主要的結構如下:

1.包申明:java類在本工程中屬于哪個包,即在工程中的位置;

2.導入的包:外部庫,工具;

3.公共類體(或接口)定義:類名與java文件的名稱必須相同,類中內容即java文件的主要內容

4.其他:其他類的定義和接口定義。

java項目中,由外至內分別為:source文件夾、包(package)、類(.java,就是上面bb了半天的那個東西),經過編譯后會將編譯后的類(.class)放在與source文件夾同級的bin文件夾中。不同的source floder中的package可以同名,相同的package中的類不能同名(在兩個不同source floder中的相同package中也不行)

2.基本數據類型

基本數據類型8中:整型4種、浮點2種、字符、布爾;

btye最大128-1;short最大32768-1;int包含最大2開頭的10位數;數值計算注意整型數值范圍,記得加轉換符;long數據在賦值時若整數的數值超出int的最大范圍則要在整數后面加上l說明;

浮點型對于float的賦值要在小數后面加f說明;

單純的字符型變量相加(即每個元素都是字符變量(PS.加入整形也是ascii碼相加))等于把各個字符的ascii碼相加;(與字符串的加法運算不同!!!字符和字符串相加得到的是字符串)

3.基礎包裝類

基礎的常用的包裝好的類有7種:String、Integer、Boolean、Byte、Character、Double、Number;

4.類型轉換:

char、int、double等之間可以用強制轉換的方式轉化,如(int)‘a’,(char)25;boolean類型變量無法由強制轉換得到

各個變量與各個類之間的轉換,需要通過調用各個對象的方法來實現。如:整形、字符型向String對象轉換,可以使用String.valueOf();

5.常量賦值:

全局常量初始化時必須賦值;局部常量初始化時可以不賦值,但是只能賦值一次。

6.變量有效范圍:

全局變量分為實例變量和靜態變量(static),靜態變量可以在其他類中使用類名.變量名的方式使用,實例變量只可在本類中使用。

局部變量只在定義變量的代碼塊中有效,即{}兩個大括號之間,從變量申明開始算。

與局部變量同名的全局變量,在局部變量的使用范圍內失效。

7.switch與if elseif的區別

兩者可實現相同的功能,但從邏輯上說,if elseif必須對匹配項前面的每一個項都執行檢查,而switch通過一定的查找辦法去查找匹配項。在需要檢查的項較多時,switch效率更高,switch另一個優勢是代碼清晰,但缺點是難以進行復雜操作。

8.使用foreach循環方式

使用foreach循環方式可以快速的遍歷數組、對象等,具體方式:for(int x:arr){操作},但需要注意foreach形式無法對數據進行寫入

9.String對象常用方法記錄(按個人理解的常用程度排序,參數和具體用法未說明)

length()獲取字符串長度;

equals()判斷字符串的內容是否相同,注意,不能直接使用等號比較,使用等號會比較內存中的位置!!!!!

replace()字符串中的子串替換;

split(),將字符串按給定的符號進行分割,保存在數組中;

toCharArray(),將字符串轉換為字符數組;

trim()去除字符串前后的空格,注意,不對字符串進行更改,而是返回相應副本;

substring()截取字符字串;

toLowerCase(),toUpperCase()進行字符串的大小寫轉換;

indexOf(),lastIndexOf()在字符串中查找子串位置;

charAt()返回字符串中指定位置的字符;

startsWith(),endsWith()判斷字符串的開始和結尾是否為指定字符串;

compareTo(),按字典順序比較字符串;

10.Arrays對象常用方法記錄(按個人理解的常用程度排序,參數和具體用法未說明)

Arrays.fill(),填充數組,可用于數組初始化、賦值;

Arrays.sort(),對數組進行排序;

Arrays.copyOf(),Arrays.copyOfRange對數組進行復制;

11.注意static關鍵詞的使用

在使用的時候,如要在類外部調用的方法、變量都需要加上static限制符,而帶有static限制符的類(方法)若需要調用其他方法或全局變量,那么被調用的方法和全局變量也必須有static修飾(這是因為非靜態變量必須要創建實例才能被調用)。一般用于不需要創建實例的類(方法),例如用作工具的類。

要區分static與權限修飾符的區別,static的目的是,在不創建實例的情況下也可使用static變量和方法,而權限修飾符則規定了該方法與變量的使用范圍。

12.Java的集合類保存數據說明

Arraylist、HashMap等集合類是java中的一個特色,但在其中只能保存引用型的數據,不能保存基本數據。即:Integer可以但int不行。

13.對于class的權限修飾符說明

對于頂級類(包內部第一層的類)來說,只有public修飾符可用,表示可跨包使用該類,若不用public則默認在該包內可用,一個.java文件中使用public的類至多存在一個。對于頂級類的內部類,其權限修飾符為private、protected、public與默認。

關于內部類的權限問題需要深入研究(比如內部類中存在private變量,需要在外部類的內部使用該變量等情況),此處暫時跳過。

14.判斷一個類的兩個對象是否相等

除了基礎變量,引用變量(對象)不能使用兩個等號==去判斷值是否相等(一個類生成的兩個對象是否相等),需要使用equals方法。但注意的是,一般用戶定義的類的equals方法內部都是使用雙等號判斷的,要實現判斷的效果還需要用戶重載equals。

15.基本變量對應的包裝類中可能常用的方法

Integer

equals(),比較兩個integer對象的值是否相等

byteValue(),intValue(),shortValue(),返回對應類型的值

toString(),將Integer對象轉換為String對象(toBinaryString()、toHexString()、toOctalString()同理)

Integer.valueOf(),將String對象轉換為Integer對象

Integer.parseInt(),將String對象轉換為int變量。

Boolean

Byte

Character

Character.inUpperCase()、Character.inLowerCase(),判斷是否為大寫、小寫字符

Character.toUpperCase()、Character.toLowerCase(),轉換為大寫、小寫字符

toString(),將字符轉化為字符串

Double(Float可以參考Doubel,方法是一樣的)

intValue(),返回整形變量

toString(),返回字符串

Double.valueOf(),將String對象轉換為Double對象

武漢IT培訓的老師給你總結一下:需要進行基礎類的轉換時,可使用toString()轉換成字符串,再將字符串用各個類的valueOf轉換為需要的類。

16.常用數學計算方法

DecimalFormat類

當中的各個方法對數字進行格式化,得到的是字符串;

Math類

三角函數方法,可進行各類三角函數計算,包括弧度角度互換

指數函數方法,平方、平方根、立方、立方根方法等

取整函數方法,向上、向下取整,最近取整

最大值最小值絕對值

隨機數方法(產生0到1之間的任意double型數值)

Random類

nextInt()返回一個整數、nextLong()返回一個長整型、nextBoolean()返回一個布爾變量、nextFloat()返回一個浮點數

17.關于方法重寫

重寫方法時,可以修改方法的修飾符、返回值類型(參數類型、個數不可變),大多數情況下父類中的final方法不可重寫(private final在子類中不可見,可重寫,是比較特殊的情況)

子類方法對父類方法重寫時,子類方法的修飾符必須比父類方法的修飾符權限更大;

子類對父類方法從重寫時,若要修改子類方法中返回值類型,該類型必須是父類中同方法返回值的子類;

18.關于方法重寫與重載的區別

在同一個類中,方法無法重寫,即在一個類中不能存在兩個相同方法名、參數個數、參數類型的方法,在同一個類中,方法可以重載,即一個類中允許多個相同的方法名,不同的參數類型、參數個數的方法存在。方法的重寫涉及到父類、子類至少兩個類,若要重寫,不能修改方法的參數類型和個數,方法的重載只在一個類中發生,若要重載,必須要修改參數類型、個數。所有的父類中的方法都會在子類中被繼承,所以父類與子類中存在兩個方法名相同、參數不同的方法時,可以看作先被繼承,后被重載。

19.抽象類(abstract關鍵字)

抽象類只能被繼承,沒有其他任何功能,而抽象類中的抽象方法在被繼承后必須要進行重寫,抽象方法沒有方法體。若類中含有抽象方法,則該類必定為抽象類。

20.接口

接口(interface)的權限修飾符(待解決),接口中的方法均為public且不含方法體需要繼承后重寫,

先不管原理談應用,接口一般使用public修飾,不加public的接口只能在同包中的不同類中使用(依然是默認的protected),加上public的接口才能跨包使用,但是只有與.java名稱相同的interface才能使用public。而在接口內部,除去static、default方法,其他方法均不能有方法體。

21.對象的轉型

對象轉型分為向上轉型和向下轉型,子類對象可以一直向上轉型(會自動轉型),父類對象的轉型要考慮其是否屬于子類對象才能轉(需要強制轉型)。如:A a = new B();,B為A的子類,則最終a當作A類型的對象,但本質上仍是B類,父類類型的引用可以調用父類中定義的所有屬性和方法,對于只存在與子類中的方法和屬性它就望塵莫及了,即a可以調用B類型中從A類繼承到的方法和屬性,但不能調用B類中獨有的方法和屬性。在方法調用時同理,假設C繼承于B繼承于A,則C類型對象c在調用類中某一方法時,會在可用范圍內(可用范圍參考上一句)先查找以C類型為參數的方法重載版本,若不存在,則向上轉型為B并查找B類型為參數的方法重載版本,直至找到可執行的方法重載版本,若不存在,則無法調用,會報錯。

22.關于類包

在實際開發中,應為所有的類指定類包,包的聲明必須是文件中第一行非注釋代碼,所有類包均為小寫字母構成。導入包時,若使用*來導入包中的所有類,則并不會導入子類,如需要導入子類還需要重新import。使用import static可以導入類當中的靜態成員。

23.關于常量

final定義的常量分類局部常量和全局常量,局部常量在其生命周期內不能重定義,但是需要的話可在每次創建的時候都可以賦新值,全局常量一般使用public static final,在程序運行期間,全局常量的值都不會被改變。

責任編輯:

總結

以上是生活随笔為你收集整理的Java常用的知识点就20_JAVA中一些需要记录的知识点的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。