JAVASE整理知識點

2020-08-14 19:09:37

基礎知識

計算機的組成 :

硬體 : 能看得見, 摸得着的電子元器件.

軟體 : 儲存在硬體中的數據(可以執行) : 指令+數據的集合.

系統軟體 : 操作系統 OS, 讓使用者能夠方便的使用電腦硬體.(沒有國產OS)

應用軟體 : 爲了完成某種功能的軟體. 學習java目標就是應用軟體.

人機互動 : 人通過OS來使用電腦.

GUI :圖形化介面

CLI :命令列, 只有一個控制檯(console).

在windows中啓動控制檯 :

Win+r => cmd 回車(動令)

目錄 : 用於管理批次的子檔案和子目錄.

C:\Users\pauliuyou>_

‘>’稱爲前導符

C:\Users\pauliuyou這是一個目錄, 稱爲當前目錄,也稱爲工作目錄.

dir 目錄的意思, 作用是列出當前目錄下的內容 : 包括子檔案和子目錄.

切換碟符 : 舉例d; 切換到D槽

Md (make directory) 目錄名1 目錄名2 在當前目錄中建立新子目錄

把右面的稱爲命令列參數, 作用是給命令傳遞進一步的資訊數據.

Md 新目錄名1 新目錄名2

Cd (change directory) 改變當前工作目錄.

Cd 目標目錄

2個特殊目錄 :

  • . 點目錄表示當前目錄
  • … 點點目錄表示當前目錄的上級目錄(父目錄)
  • \ 稱爲反斜槓
  • / 稱爲斜槓
  • \的作用是用於表示父子關係.
  • /也可以, 並且在linux系統中必須使用/來表示目錄分隔.

路徑(path) : 一條路, 這條路的盡頭是一個檔案或目錄.(也稱爲地址)

Cd MyWork\JavaSE\day01\code

相對路徑 : 總是從當前目錄爲出發點. .\MyWork\JavaSE\day01\code 就是相對路徑, 相對路徑的前面」./」可以省略

絕對路徑 : 以根目錄爲開始,爲出發點的路徑 D:\MyWork\JavaSE\day01\code 就是絕對路徑. 特點 : 不會出錯

  • cd/ 直接回到當前盤的根目錄
  • cd… 返回上一級目錄
  • cd…/…返回到上兩級目錄
  • Cd /d +路徑 可以任意切換目標目錄
  • exit 退出命令列

計算機語言發展歷程

第一代 : 打孔機 面向硬體開發.

第二代 : 彙編語言 面向CPU開發, 缺點: 不能跨CPU

第三代 : C/C++, 面向OS開發, 優點 : 效率高, 缺點 : 不能跨OS

第四代 : java , 面向VM開發, 優點 : 不受OS影響. 缺點 : 相對彙編稍慢

Java的8個特性

  1. 簡單 : 相對於c/c++
  2. 物件導向 : 相對於程序導向, 程序導向關注問題解決的步驟, 物件導向關注是具有功能的物件
  3. 分佈式 : 基於網路的多主機協助.
  4. 健壯 : 強型別(所有數據必須有型別), 例外處理, 垃圾收集(記憶體中應該被釋放的空間沒有釋放. 把空間標記爲可用狀態就是清理垃圾) GC.
  5. 安全 : 所有java程式必須通過類載入器
  6. 跨平臺 : 所有java程式中的指令都是面向VM的. 只要有VM, java程式就能執行
  7. 效能好 : 是編譯型比解釋型要快.
  8. 多執行緒 : 提升伺服器的吞吐量, 最大化利用CPU.

Java兩種核心機制 機製

  1. Java虛擬機器(Java Virtal Machine)
  2. 垃圾收集機制 機製(Garbage Collection)

執行java程式的最低要求是 JRE

JRE = JVM + 核心類庫

開發java程式必須要求有JDK

JDK = JRE + 開發工具

常用java開發命令

Javac 編譯

Java 執行

開發java程式的步驟

  1. 建立.java原始檔
  2. 編譯.java原始檔, 生成.class位元組碼檔案
  3. 執行.class位元組碼檔案

開發程式具體步驟

  1. 找到d:\MyWork\JavaSE\day01\code目錄, 在code目錄中右擊新建一個文字檔案, 改名爲Hello.java

  2. 右擊此文字檔案, 使用notePad++開啓編輯

注意點 : 編輯檔案時, 大小寫敏感, 所有標點符號必須使用英文半形的標點符號

  1. 開啓命令列視窗, 切換當前工作目錄爲剛纔的code目錄中, 並確保剛纔編輯的.java檔案就在當前目錄下.

D:

Cd mywork\javase\day01\code

  1. 使用命令javac Hello.java 編譯原始檔, 編譯的結果是生成Hello.class位元組碼檔案

  2. 仍然還是在當前目錄中, 使用命令java Hello 執行程式

注意點 : java Hello後面的內容不要加後綴

解決亂碼

  1. 全選並複製所有內容

  2. 點選選單」格式」 選中 「以ANSI格式編碼」

  3. 此時會全亂, 把所有內容刪除,重新貼上剛纔複製的內容

  4. 確保右下角的編碼方式爲ANSI, 如果是utf8重複剛纔的步驟

: java程式的基本單位

方法 : java程式的基本功能單位

語句 : java程式的最小執行單位

類 {

​ 方法1 {

​ 語句1;

​ 語句2;

​ ……

}

​ 方法2 {

}

​ ….

}

主類 : 包含主方法的類稱爲主類

非主類 : 不包含主方法的類稱爲非主類

一個原始檔中可以寫多個類, 編譯以後的結果是每個類都有自己獨立的.class檔案

但是一個原始檔中只能寫一個公共類, 非公共類隨便, 主類隨便

Java程式的執行過程 :

java 主類

java命令一執行, 就會動態地建立一個JVM出來

主類的作用就是告訴JVM載入哪個類並執行, 載入主類以後, 再找到主類的入口方法, 執行入口方法.

主方法一旦執行完畢, JVM銷燬, 程式退出

小結第一個程式 :

  1. Java原始檔以「java」爲擴充套件名。原始檔的基本組成部分是類(class),如本類中的HelloWorld類。
  2. 一個原始檔中最多隻能有一個public類。其它類的個數不限,如果原始檔包含一個public類,則檔名必須按該類名命名。
  3. Java應用程式的執行入口是main()方法。它有固定的書寫格式:public static void main(String[] args) {…}
  4. Java語言嚴格區分大小寫。
  5. Java方法由一條條語句構成,每個語句以「;」結束。
  6. 大括號都是成對出現的,缺一不可。

註釋

// 單行註釋 : 只對當前行有效

/*

多行註釋 : 可以給多行文字進行註釋, 有頭有尾

​ 再來一行, 多行註釋不可以巢狀!!

*/

/**

public 是公共的, 是一個形容詞, 用於修飾後面的東西.

class 是類, 是一個關鍵字, 用於宣告一個類. 類是java程式的基本單位.

Hello 是類名, 通常類名首字母大寫.

類名後面的{}及其中的內容稱爲 類體

類 = 類頭(類簽名) + 類體;

主類 : 包含主方法的類就是主類

被public修飾的類 稱爲 公共類

一個原始檔中必須只能有一個公共類, 公共類的類名必須和檔名一致.

*/

public class Hello{

/**

下面 下麪的這個東西稱爲方法, 也稱爲函數, 是java程式的一個獨立的功能單位.

類中包含方法, 方法必須寫在類中.

public 是公共的, static 靜態的 都是修飾符

void main(String[] args) 方法簽名, main稱爲方法名.

參數後面的一對{}及其中的內容稱爲方法體.

方法 = 方法簽名 + 方法體

方法必須寫在類中, 並且不可以巢狀.

此方法稱爲主方法, 也稱爲入口方法, 程式總是從main方法開始執行.

寫法固定, 必須背會它!!!

*/

public static void main(String[] args){

​ // 語句 : java程式的最小執行單位, 並且要求必須以;結尾

​ // 方法中可以包含語句 , 並且可以包含多條語句.

​ System.out.println(「這裏自由發揮,語句1」);

​ System.out.println(「語句2」);

​ System.out.println(「語句3」);

​ System.out.println(「語句4」);

}

/* 方法在同一個類中不可以重複定義!!

public static void main(String[] args) {

​ System.out.println(「我也是main」);

}*/

public static void method1() {

​ System.out.println(「method1()…」);

​ }

}

// 非公共類 : 沒有被public修飾的類

class Hello2 { // 非主類, 不包含主方法

​ public static void test2() {

​ System.out.println(「test2()…」);

​ }

}

//public class Hello3 // Hello3不能被public修飾, 因爲公共類的類名必須和檔名一致

class Hello3 {

​ public static void main(String[] args) {

​ System.out.println(「Hello3 main()…」);

​ }

}

注意點 : 對於程式的任何修改都必須要重新儲存檔案, 並重新編譯新的.class檔案.

NotePad++快捷操作

  • Ctrl + a 全選
  • Ctrl + c 複製
  • Ctrl + v 貼上
  • Ctrl + x 剪下
  • Ctrl + z 復原
  • Ctrl + y 重做
  • Ctrl + s 儲存
  • Shift + tab 把選中的內容整體左移
  • Tab 把選中的內容整體右移
  • Ctrl + l 刪除當前行
  • Ctrl + d 快速複製當前

JAVA基本語法

關鍵字 : 在java程式中有特殊含義和作用的單詞. 不要直接使用關鍵字作爲識別符號

保留字 : 在c/c++中是關鍵字, 但是在java中目前還不是, 但是將來有可能會成爲關鍵字.

​ 不要直接使用保留字作爲識別符號

識別符號 : 用於標識某個東西的符號(是一個名字)

​ 通常比如標識類, 變數, 方法….

定義合法識別符號規則:(必須遵守)

  1. 組成由26個字母大小寫, 0~9, _和$

  2. 數位不可以開頭, 比如3A這個類名不合法, 但是A3就是合法的

  3. 不可以直接使用關鍵字和保留字, 但是可以包含關鍵字和保留字

  4. 大小寫敏感, 最長65535

  5. 不可以包含空格

java中的名稱命名規範(可以不遵守,但是最好遵守)

包名 : 全部小寫

類名 : 首字母必須大寫, 後面的單詞首字母也大寫

MyClassName 駝峯命名法

變數,方法名 : 首字母必須小寫, 後面的單詞首字母大寫

myVarName

**常數名