JDK JRE JVM
JDK:
Java標準開發包,它提供了編譯、運?Java程式所需的各種?具和資源,包括Java編譯器、Java運?時環境,以及常?的Java類別庫等,
JRE:
Java運?環境,?于解釋執?Java的位元組碼?件,
JVM
Java虛擬機,是JRE的?部分,負責解釋執?位元組碼?件,是可運?java位元組碼?件的虛擬計算機
區別聯系:(問答題會考可能)
JDK包含JRE,JDK 和 JRE 中都包含 JVM,JDK出了包含jre還包含?些常?開發?具和基礎類別庫
JDK ?于開發,JRE ?于運?java程式
JVM 是 java 編程語?的核?并且具有平臺獨?性(不同的平臺有不同的VM)
JVM的好處:一次編譯,隨處運行
javac: 編譯 java源?件->class位元組碼?件(0,1)
java: 解釋
基本語法
程式結構
一個源檔案中最多只能有一個public類,其他類的個數不限,如果源檔案中包含一個public類,它必須按該類名命名
Java應用程式的執行入口時main()方法,它有固定的書寫格式:
public static void main(String args[]){…..}

命名規范
包名,包名是全小寫的名詞,中間可以由點分隔開,例如:java.awt.event;
類名,首字母大寫,通常由多個單詞合成一個類名,要求每個單詞的首字母也要大寫,例如class WelcomeToJava;
介面名,命名規則與類名相同,例如interface Collection;
方法名,往往由多個單詞合成,第一個單詞通常為動詞,首字母小寫,中間的每個單詞的首字母都要大寫,例如:balanceAccount, isButtonPressed;
變數名,全小寫,一般為名詞,例如:length;
常量名,基本資料型別的常量名為全大寫,如果是由多個單詞構成,可以用下劃線隔開,例如:int YEAR, int WEEK_OF_MONTH;如果是物件型別的常量,則是大小寫混合,由大寫字母把單詞隔開,
識別符號

不能以數字開頭,
不能是Java中的關鍵字,
識別符號不能是true,flase和null(盡管這三個不是關鍵字)
關鍵字


常量
JAVA常量就是在程式中固定不變的值,是不能改變的資料,例如數字1、字符“a”、浮點數3.2等,在Java中,常量包括整型常量、浮點數常量、布爾常量、字符常量等,
使用 final 關鍵字來定義一個常量,常量一旦初始化就不可以被修改,
變數
變數是程式中最基本的存盤單元,其要素包括變數名,變數型別和作用域
每一個變數使用前必須要先宣告,然后必須進行賦值,才能使用
分類:
按宣告位置:
區域變數:方法或陳述句塊內部定義的變數
成員變數:方法外部、類的內部定義的變數
在類體內定義的變數稱為成員變數,它的作?域是整個類
在?個?法或?法內代碼塊中定義的變數稱為區域變數
- 注意:
類外面(與類對應的大括號外面)不能有變數的宣告
方法體內部宣告的變數(包括形參)稱為區域變數:方法體內部是指與方法對應的大括號內部
在方法體外,類體內宣告的變數稱為成員變數
按所屬型別:
基本資料型別變數(8種)
參考資料型別變數


資料型別

boolean型別資料只允許取值true或false,不可以0或非0的整數替代true和false,這點和C語言不通
Java字符采用Unicode編碼,每個字符占兩個位元組,因而可用十六進制編碼形式表示
java中的char一定是無符號的,不允許用unsigned char修飾
基本型別轉換:
boolean型別不可以轉換為其他的資料型別
整型、字符型、浮點型的資料在混合運算中相互轉換,轉換規則:
容量小的型別自動轉換為容量大的資料型別,資料型別按照容量大小排序為:
byte,short,char->int,->long->float->double
byte,short,char之間不會互相轉換,三者在計算時首先轉換為int型
容量大的資料型別轉換為容量小的資料型別時,要加上強制轉換符,但可能造成精度降低或溢位
有多種型別的資料混合運算時,系統首先自動將所有資料型別轉換為容量最大的那一種資料型別,然后在進行計算
實數常量默認為double,整數常量默認為int
陣列
陣列初始化

Java語言中宣告陣列時不能指定其長度
輸入輸出
輸?
Scanner s=new Scanner(System.in);
s.nextInt()
s.nextLine()
s.nextFloat()
scanner.next()
輸出
System.out.println("XX")
運算子與陳述句
左移<<
"a<<b; "將二進制形式的a逐位左移b位,最低位空出的b位補0
帶符號右移
"a>>b; "將二進制形式的a逐位右移b位,最高位空出的b位補原來的符號位
無符號右移
"a>>>b;"將二進制形式的a逐位右移b位,最高位空出的b位補0
優先順序:

類與物件
類是用于描述同一型別的物件的一個抽象的概念,類中定義了這一類物件所應具有的靜態和動態屬性
類可以看成一類物件的模板,物件可以看成該類的一個具體實體
面對物件三?特征:封裝、繼承、多型
物件可以看成是靜態屬性(成員變數)和動態屬性(方法)的封裝體
必須使用new關鍵字創建物件
使用物件(參考).成員變數或來參考物件的成員變數
使用物件(參考).方法(引數串列)來呼叫物件的方法
同一類的每個物件有不同的成員變數存盤空間
同一類的每個物件共享該類的方法
構造方法
作用:主要?來在創建物件時初始化物件, 即為物件成員變數賦初始值,總與new運算子?起使?在創建物件的陳述句中.?個類可以有多個建構式 ,可根據其引數個數的不同或引數型別的不同來區分它們,即建構式的多載
使用new+構造方法創建一個新的物件
建構式是定義在Java類中的一個用來初始化物件的函式
建構式與類同名且沒有回傳值
多載與重寫
方法的多載是指一個類中可以定義有相同的名字,但引數不同的多個方法,
呼叫時,系統會根據不同的引數表選擇對應的方法
多載:
1 必須載同?個類中
2 ?法名相同
3 ?法的引數的個數、順序或型別不同
4 與?法的修飾符和或回傳值沒有關系
重寫:
1.重寫的?法必須要和?類?模?樣(包括回傳值型別,?法名,引數串列)
2.重寫的?法可以使?@Override注解來標識
3.?類中重寫的?法的訪問權限不能低于?類中?法的訪問權限
權限修飾符 : private < 默認(什么都不寫) < protected < public


關鍵字
static 關鍵字
被static修飾的變數屬于類變數,可以通過類名.變數名直接引?,?不需要new出?個類來
被static修飾的?法屬于類?法,可以通過類名.?法名直接引?,?不需要new出?個類來
多型
實作繼承
方法重寫
父類參考指向子類物件

集合
多執行緒
執行緒和行程的區別
每個行程都有獨立的代碼和資料空間(行程背景關系),行程間的切換會有較大的開銷
執行緒可以看成是輕量級的行程,同一類執行緒共享代碼和資料空間,每個執行緒都有獨立的運行堆疊和程式計數器(PC),執行緒切換開銷小
多行程:在作業系統中能同時運行多個任務(程式)
多執行緒:在同一應用程式中有多個順序流同時執行
問答題
- 面向物件的特征有哪些方面 ?
答:主要有以下四方面:
1.抽象:
抽象就是忽略一個主題中與當前目標無關的那些方面,以便更充分地注意與當前目標有關的方面,抽象并不打算了解全部問題,而只是選擇其中的一部分,暫時不用部分細節,抽象包括兩個方面,一是程序抽象,二是資料抽象,
2.繼承:
繼承是一種聯結類的層次模型,并且允許和鼓勵類的重用,它提供了一種明確表述共性的方法,物件的一個新類可以從現有的類中派生,這個程序稱為類繼承,新類繼承了原始類的特性,新類稱為原始類的派生類(子類),而原始類稱為新類的基類(父類),派生類可以從它的基類那里繼承方法和實體變數,并且類可以修改或增加新的方法使之更適合特殊的需要,
3.封裝:
封裝是把程序和資料包圍起來,對資料的訪問只能通過已定義的界面,面向物件計算始于這個基本概念,即現實世界可以被描繪成一系列完全自治、封裝的物件,這些物件通過一個受保護的介面訪問其他物件,
- 多型性:
多型性是指允許不同類的物件對同一訊息作出回應,多型性包括引數化多型性和包含多型性,多型性語言具有靈活、抽象、行為共享、代碼共享的優勢,很好的解決了應用程式函式同名問題,
- String是最基本的資料型別嗎?
答:基本資料型別包括byte、int、char、long、float、double、boolean和short,(8個)
java.lang.String類是final型別的,因此不可以繼承這個類、不能修改這個類,為了提高效率節省空間,我們應該用StringBuffer類
- int 和 Integer 有什么區別?
答:Java 提供兩種不同的型別:參考型別和原始型別(或內置型別),Int是java的原始資料型別,Integer是java為int提供的封裝類,Java為每個原始型別提供了封裝類,
- 一個".java"源檔案中是否可以包括多個類(不是內部類)?有什么限制?
答:可以,必須只有一個類名與檔案名相同,
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/287603.html
標籤:java
