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)多個方法的引數不相同,型別不同或者數量不同
注意:過載僅對應方法的定義,與方法的呼叫無關,與返回值無關