1. 程式人生 > 其它 >jdk以及java基礎語法

jdk以及java基礎語法

1. Java概述

1.1 java語言發展史

語言:人與人交流溝通的表達方式

計算機語言:人與計算機之間進行資訊交流溝通的一種特殊語言

Java語言是美國Sun公司在1995年推出的計算機語言

2009年,Sun公司被甲骨文公司收購,所以我們現在訪問oracle官網即可:https://www.oracle.com

當前,我們課程使用的JDK版本:11.0

1.2 Java語言跨平臺原理(理解)

平臺是指作業系統(windows、Linux、Mac)。

Java編譯器將Java源程式編譯成與平臺無關的位元組碼檔案(class檔案),然後由Java虛擬機器(JVM)對位元組碼檔案解釋執行。所以在不同的作業系統下,只需安裝不同的Java虛擬機器即可實現java程式的跨平臺。

1.3 JRE和JDK(記憶)

JVM(Java Virtual Machine),Java虛擬機器

JRE(Java Runtime Environment),Java執行環境,包含了JVM和Java的核心類庫(Java API)

JDK(Java Development Kit)稱為Java開發工具,包含了JRE和開發工具。

開發工具包含編譯工具javac.exe和執行工具java.exe。

總結:我們只需安裝JDK即可,它包含了java的執行環境和虛擬機器。

1.4 JDK的下載和安裝(應用)

1.4.1 jdk下載

官方網站下載http://www.oracle.com

注意:針對不同的作業系統,需要下載對應版本的JDK。

1.4.2 安裝

傻瓜式安裝,下一步即可。

但預設的安裝路徑是在C:\Program Files下,為方便統一管理建議修改安裝路徑,將與開發相關的軟體都安裝到一個目錄下,例如:E:\develop。注意:安裝路徑不要包含中文或者空格等特殊字元(使用純英文目錄)。

2.程式的開發配置

2.1 常用Dos命令

開啟dos視窗:按下Win+R,輸入cmd,回車

2.2 Path環境變數的配置

2.2.1 為什麼配置環境變數

開發Java程式,需要使用JDK提供的開發工具(比如javac.exe、java.exe等命令),而這些工具在JDK的安裝目錄的bin目錄下,如果不配置環境變數,那麼這些命令只可以在該目錄下執行。我們不可能把所有的java檔案都放到JDK的bin目錄下,所以配置環境變數的作用就是可以使bin目錄下的java相關命令可以在任意目錄下使用。

2.2.2 配置環境變數步驟

系統變數

新建JAVA_HOME,配置jdk的安裝目錄E:\develop\java\jdk-11。

找到path變數編輯,追加%JAVA_HOME%\bin

2.2.3 如何驗證

關閉配置之前的dos,重開啟dos,才生效。

使用命令java或者javac驗證

說明:不配置環境變數在dos視窗使用java命令需要帶上jdk的安裝目錄才能使用,例如E:\develop\java\jdk-11\javac

2.3 HelloWorld案例

編譯:javac 檔名.java

執行:java 類名

2.4 Notepad的安裝

設定-首選項-新建(編碼選ANSI、預設語言選java)

3.java基礎語法

3.1 資料型別

計算機中最小的儲存單位是位bit(b),而基本的儲存單位位元組Byte(B)

1B=8bit 1Kb=1024B

3.2 Java中的資料型別

Java是一個強型別語言,Java中的資料必須明確資料型別。在Java中的資料型別包括基本資料型別和引用資料型別兩種。

基本資料型別{數值型:整數(byte 1個位元組、short 2、int 4、long 8)、

浮點數(float 4、double 8)

字元(char 2)}

{非數值型:布林 1}

引用資料型別:String、類class、介面interface、陣列[].

說明:

(1)、在棧中可以直接分配記憶體的資料是基本資料型別。

引用資料型別:是資料的引用在棧中,但是他的物件在堆中。

(2)、在java中整數預設是int型別,浮點數預設是double型別

定義float a=12.34F,必須加F或f,否則預設是double

定義long b=123L,必須加L或l。否則預設是int

3.3賦值運算子

3.3.1 型別轉換

算數表示式中包含多個基本資料型別時,整個表示式的型別會自動提升。

提升規則:

Byte-short-int-long-float-double

Char-int

Short a=1;a=a+20;報錯

應該是a=(short)(a+20)

a+=20;對

擴充套件的賦值運算子,底層隱含了強制型別轉換。{*= /= += -= %=}

3.4 自增自減運算子

++ -- 變數加減1

(1)單獨使用,++放變數的前後邊,結果一樣

int i=1; i++; ++i;

(2)、參與操作時,++放變數前面,先拿變數++,再拿變數參與操作;

放後面,先拿變數參與操作,再拿變數做++.

int j=++i; j--2 i—2

int j=i++; j—1 i—2

3.5邏輯運算子

3.5.1 基本的邏輯運算子

&邏輯與 |邏輯或 !邏輯非

3.5.2 短路邏輯運算子

&&短路與 ||短路或

&&左邊為假,右邊不執行

||左邊為真,右邊不執行

4. 識別符號(記憶、理解)

識別符號是使用者程式設計時使用的名字,用於給類、方法、變數、常量等命名。

Java中識別符號的組成規則:由字母、數字、下劃線“_”、美元符號“$”組成,第一個字元不能是數字。不能使用java中的關鍵字作為識別符號。識別符號對大小寫敏感(區分大小寫)。

Java中識別符號的命名約定:

小駝峰式命名:變數名、方法名。首字母小寫,從第二個單詞開始每個單詞的首字母大寫。

大駝峰式命名:類名。每個單詞的首字母都大寫。

5.條件控制語句

continue用在迴圈中,跳過某次迴圈內容,繼續下一次。

break用在迴圈中,終止迴圈內容的執行,結束當前的整個迴圈

for(int i=1;i<4;i++){

if(i==2){

continue; ---1,3

break;----1

}

system.out.println(i);

}

5.1 Random產生隨機數(掌握)

概述:Random類似Scanner,也是Java提供好的API,內部提供了產生隨機數的功能API後續課程詳細講解,現在可以簡單理解為Java已經寫好的程式碼使用步驟:1. 匯入包import java.util.Random;2. 建立物件Random r = new Random();3. 產生隨機數int num = r.nextInt(10);解釋: 獲取的資料範圍是[0,9]中的一個隨機數

5.2遞迴

遞迴求階乘

…… main(){ int result=jc(3)}

public static int jc(int n){

if(n==1){return 1;}

else{ return n*jc(n-1);}

}

6.記憶體分配【理解】

6.1記憶體概述

記憶體是計算機中的重要原件,臨時儲存區域,作用是執行程式。我們編寫的程式是存放在硬碟中的,在硬碟中的程式是不會執行的。必須放進記憶體中才能執行,執行完畢後會清空記憶體。Java虛擬機器要執行程式,必須要對記憶體進行空間的分配和管理。

6.2java中的記憶體分配

(1)棧記憶體:基本型別的變數和物件的引用變數。當在一段程式碼塊中定義一個變數時,java就在棧中為這個變數分配記憶體空間,當超過變數的作用域後,java會自動釋放掉為該變數分配的記憶體空間,該記憶體空間可以立刻被另作他用。

(2)堆記憶體:存放由new建立的物件和陣列。在堆中分配的記憶體,由java虛擬機器自動垃圾回收器來管理。

6.3 陣列

6.3.1 陣列的初始化

(1)動態初始化

初始化時,只定義陣列的長度

格式:資料型別[] 變數名=new 資料型別[長度]

(2)靜態初始化

格式:資料型別[] 變數名=new 資料型別 [] {資料1,資料2}

簡化:資料型別[] 變數名= {資料1,資料2}

注意:陣列在初始化時,會有預設值

{ 整數:0 浮點數:0.0 布林: false 字元:空字元 引用型別:null}

6.4 方法概述

6.4.1方法格式

public static 返回值型別 方法名(引數) {

方法體; return 資料 ;}

6.4.2方法過載

方法過載指同一個類中定義的多個方法之間的關係,滿足下列條件的多個方法相互構成過載

(1)多個方法在同一個類中

(2)多個方法具有相同的方法名

(3)多個方法的引數不相同,型別不同或者數量不同

注意:過載僅對應方法的定義,與方法的呼叫無關,與返回值無關