Java基礎學習總結
一、Java的三大版本
-
JavaSE 標準版(桌面應用,控制檯開發...)--->基礎
-
JavaME嵌入式開發(手機,小家電...)——基本沒有人學了 -
JavaEE E:企業級開發(Web端、伺服器開發) --->進階
二、JDK、JRE、JVM
-
JDK:開發者工具
-
JRE:執行時環境
-
JVM:虛擬機器
JDK包含JRE,JRE包含JVM,因此下載JDK就能滿足JAVA開發
三、Java開發環境搭建
-
開啟JDK下載官網
-
找到JDK下載地址,點選圖中下載安裝
-
點選同意協議,下載電腦對應版本
-
雙擊安裝JDK
-
記住安裝的路徑
-
配置環境變數
-
JAVA_HOME :jdk的路徑
-
Path變數:雙擊開啟新增兩個值
-
-
%JAVA_HOME%\bin (百分號表示引用)
-
-
-
%JAVA_HOME%\jre\bin
-
-
-
測試JDK是否安裝成功
win+R 輸入cmd
在執行的視窗中輸入java-version 出現JDK的版本資訊即表示安裝成功
Java基礎
一、註釋
-
單行註釋://
-
多行註釋:/* */
-
文件註釋:/** */
二、識別符號與關鍵字
Java所有的組成部分都需要名字,類名、變數名以及方法名都被稱為識別符號
識別符號注意點
-
都以字母、美元符($)、下劃線(_)開始
-
首字母之後可以是數字
-
不能使用關鍵字作為變數名或者方法名
-
識別符號是大小寫敏感的
-
可以用中文名命名,但是一般不建議,也別用拼音,很low
三、資料型別
-
強型別語言:要求變數的使用要嚴格符合規定,所有變數必須先定義才能使用,比如:JAVA
-
弱型別語言:~,比如:JavaScript、VBScript,HTML...
1、Java的資料型別分兩大類
2、拓展
-
整數拓展:
-
二進位制:0b int i = 10b;
-
十進位制: int i = 10;
-
八進位制:0 int i = 010;
-
十六進位制:0x int i = 0x10;
-
-
浮點數拓展:
-
銀行業務怎麼表示?
-
BigDecimal 數學工具類
-
-
float:有限、離散、舍入誤差、大約接近但不等於
-
結論:最好完全用浮點數進行比較
-
-
字元拓展:所有字元的本質還是數字
-
編碼:Unicode表
-
-
布林值拓展:
四、型別轉換
1、強制轉換和自動轉換
-
強制轉換:(型別)變數名 高--->低 double->float->long->int->short->byte
-
自動轉換:低--->高
2、注意點:
-
不能對布林值進行轉換
-
不能把物件型別轉換成不相干的型別
-
高容量-->低容量,強制轉換
-
型別轉換會存在記憶體溢位、精度問題,故在進行型別轉換時要特別注意這兩個問題
-
若知道會溢位,一般把算式中的一個數轉換成更大的
-
如
-
int a = 213213;
int b = 2123412;
long c = a*(long)b;
-
3、JDK7新特性
-
數字之間可以用下劃線分割(一般是為了方便看出有多少個零)
-
int money = 10_0000_0000(輸出為1000000000)
-
五、變數
Java是強型別語言,每個變數都必須宣告其型別
變數:變數名、變數型別、作用域
1、變數作用域
-
區域性變數:作用域為方法內
-
例項變數:從屬於物件,如果不自行初始化,將會初始化為預設值
-
類變數:從屬於類 static
2、常量
-
初始化後不能再改變值
-
格式:
-
final 常量名 = 值;
-
-
常量名一般使用大寫字母,如NUM
-
修飾符不存在先後順序,如:static final等價於final static
3、變數的命名規範
駝峰原則:比如monthSalary,除第一個單詞外,後面的單詞首字母大寫
-
見名知意
-
類成員變數:首字母小寫和駝峰原則
-
區域性變數:首字母小寫和駝峰原則
-
常量:全大寫字母和下劃線:MAX_VALUE
-
類名:首字母大寫和駝峰原則:GoodMan
-
方法名:首字母小寫和駝峰原則
六、基本運算子
1、如果運算子中有一個為long,則結果為long[向最高轉換]
2、很多運算,會使用工具類來操作
3、邏輯運算子、位運算子
-
邏輯運算子:與:&& 或:|| 非:!
-
位運算子:與:& 或:| 非:~ 異或^ 移位運算子(效率極高):<<(*2) >>(/2)
-
邏輯運算子的二元運算子&&和||,如果左邊的算術表示式就能判斷出結果,則不會再判斷右邊的,而位運算兩邊的算術表示式都會運算
-
int a = 4;
int b = 5;
if(a++ < 5||b++ < 4){
sout(a);
sout(b);
}
//輸出的結果為:
a = 5;
b = 5; //b的結果並沒有改變,說明後面的表示式沒有進行
-
4、三元運算子
-
格式:表示式?表示式:表示式
-
字串連線符:+,Sting
-
int a = 10;
int b = 20;
sout(""+a+b)
//輸出的結果為1020
//因為String後面有+,故以字元形式輸出
-
5、運算子的優先順序
這個慢慢學
七、包機制
包的本質就是資料夾
一般利用公司域名倒置作為包名:com.yuyue.www
-
小細節:
-
idea新建包(輸入com.yuyue.www)時未分級,點小齒輪,把compact的勾勾去掉
-
進不去lang,按住ctrl再點選,就能進去了
-
-
為了能使用某一個包的成員,我們需要在JAVA程式中明確匯入該包,使用“import"語句實現
-
語法:
-
定義包:packege pkg1[pkg2[pkg3...]]
-
匯入包:import packege2[.package2...].(classname/*) *萬用字元:匯入包下所有的類,classname不能和類名相同
-
八、JavaDoc
該命令用來生成自己的API文件
-
格式:
-
/**
*@author name
*....
*...
...
*/
-