
Java基礎(chǔ)知識
Eclipse使用
1. Eclipse下載
- 官網(wǎng)下載地址:https://www.eclipse.org;
- 進入官網(wǎng)點擊“Download”按鈕,如圖1;

圖1.Eclipse官網(wǎng)
- 點擊“Download Packages”按鈕,如圖2;

圖2.Eclipse下載
- 選擇Eclipse IDE for Enterprise Java Developers,點擊對應(yīng)系統(tǒng),如圖3;

圖3.Eclipse下載
- 點擊“Download”按鈕,選擇國內(nèi)鏡像文件,下載速度會快些,如圖4;

圖4.Eclipse下載
-
點擊“click here”下載壓縮包到本地,如圖5;
圖5.Eclipse下載
2. Eclipse安裝
- 將壓縮包加壓到安裝目錄下,路徑最好不包括中文,雙擊eclipse.exe文件,啟動軟件,如圖6;

圖6.Eclipse安裝
- 配置代碼倉庫,不建議選擇C盤,勾選不再詢問,也可不勾選,點擊“Launch”按鈕,啟動軟件,如圖7;

圖7.Eclipse安裝
3. Eclipse使用
- File--》 new --》Other...--》 Java project,如圖8;

圖8.Eclipse使用
- 輸入項目名(英文全部小寫),選擇jre(與安裝jre版本統(tǒng)一),點擊“Finish”,如圖9;

圖9.Eclipse使用
- 修改編譯器版本,改為與安裝jre版本相同,Window--》Preferences--》Compiler,如圖10;

圖10.Eclipse使用
- 項目創(chuàng)建完成,如圖11;

圖11.clipse使用
- 在“src”下創(chuàng)建一個包,右擊“src”--》 new --》Package,輸入包名(命名規(guī)則見下面標識符知識點),如圖12;

圖12.Eclipse使用
- 在包下創(chuàng)建Java類,右擊包名--》 new --》Class,輸入類名(命名規(guī)則見下面標識符知識點),勾選“public static void main(String[] args)”默認生成主方法,如圖13;

圖13.Eclipse使用
- 運行代碼,在主方法中書寫代碼,點擊debug或run,運行代碼,輸出結(jié)果,如圖14;

圖14.Eclipse使用
關(guān)鍵字
被java語言賦予了特殊含義的標識符,如class,public,static等,JAVA目前共有53個關(guān)鍵字,如圖15;

圖15.Java關(guān)鍵字
1. 關(guān)鍵字特征
- 都是完整的單詞;
- 全部由小寫字母組成;
- 嚴格區(qū)分大小寫;
2. 保留字
- 以后有可能用的到,現(xiàn)在先占用;
標識符
給類、方法、變量等命名時使用的字符序列。
1. 組成
- 大小寫英文字母、數(shù)字、下劃線和$;
2. 注意事項
- 不能以數(shù)字開頭,一般以英文字母開頭;
- 不能是系統(tǒng)的關(guān)鍵字,會報錯或其他未知錯誤;
- 嚴格區(qū)分大小寫;
3. 標識符命名規(guī)范
- 包:存放和管理Java文件或類的工具,字符全部小寫,公司網(wǎng)址反過來書寫;
- 類:大駝峰命名法,首字母大寫,如果多個單詞組成每個單詞首字母大寫;
- 方法:小駝峰命名法,一個單詞全部小寫,多個單詞第一個單詞首字母小寫,其他單詞首字母大寫;
- 變量:小駝峰命名法,同方法;
- 常量:一般單詞中的字符全部大寫,多個單詞用下劃線連接;
- 項目名:最好用英文,所有單詞全部用小寫;
常量
在程序運行過程中,值不會發(fā)生變化的量.
1. 種類
-
字面值常量
- 字符常量:單引號內(nèi)包括的內(nèi)容,只能是單個數(shù)字,單個字母或者單個字符,如'a';
- 字符串常量:雙引號內(nèi)包括的內(nèi)容,特點是雙引號內(nèi),如"afa";
- 整數(shù)常量: 所有整數(shù),如2;
- 小數(shù)常量:所有小數(shù),如2.2;
- 布爾常量:只有兩個值,true(正確的),false(錯誤的),單詞不能拼寫錯誤;
- 空常量:null
-
自定義常量:根據(jù)自己的需求,人為創(chuàng)建一些不變的量,使用final修飾;
- 接口中定義常量格式:String MY_NAME = "liwei";
- 類中定義常量格式:public final static String MY_NAME = "liwei";
變量
在程序運行過程中,其值在一定范圍內(nèi)可以發(fā)生改變的量,變量的本質(zhì)是內(nèi)存中的一個標記。
1. 定義格式
//方式1:數(shù)據(jù)類型 變量名 = 變量值;
String name = "李偉";
//方式2:數(shù)據(jù)類型 變量名;變量名 = 變量值;
String name;
name = "李偉";
//方式3:同時定義多個同種類型的變量,以逗號隔開;
String name,gender;
name = "李偉";
gender = "男";
2. 種類
- 局部變量:定義在方法內(nèi)部的變量;
- 成員變量:類的成員,定義在類中方法外;
3. 注意事項
- 在同一個方法作用域中不能同時定義兩個相同名字的變量,即使數(shù)據(jù)類型不同,但是可以另外賦值;
數(shù)據(jù)類型
意義:每種數(shù)據(jù)在內(nèi)存中占用的大小可能不一樣;為了更好的利用存儲空間和管理、使用這些數(shù)據(jù),我們給每一種數(shù)據(jù)定義了類型和大小。
1. 分類
- 基本數(shù)據(jù)類型;
- 引用數(shù)據(jù)類型;
2. 基本數(shù)據(jù)類型

圖16.八大基礎(chǔ)數(shù)據(jù)類型
3. 注意
- 基本數(shù)據(jù)類型的整數(shù)默認都是int類型;
- 賦值時不能超出聲明數(shù)據(jù)類型的范圍,超出會報錯;
- 可以通過強制轉(zhuǎn)換的方式把超出范圍的值賦給某個變量,但會產(chǎn)生數(shù)據(jù)精度損失;
- 在定義long類型數(shù)據(jù)時,后面的整數(shù)后追加一個“L”(大小寫均可);
- 基本數(shù)據(jù)類型的小數(shù)默認都是double類型,如果使用float類型需在數(shù)值后追加“F”或“f”;
- char類型的變量只能存放一個字符,除了單引號“'”自己;
4. 數(shù)據(jù)類型轉(zhuǎn)換
- 向上轉(zhuǎn):范圍小的數(shù)據(jù)向范圍大的數(shù)據(jù)轉(zhuǎn)換,自動轉(zhuǎn)換,不會損失精度;
- 向下轉(zhuǎn):范圍大的數(shù)據(jù)向范圍小的數(shù)據(jù)轉(zhuǎn)換,強制轉(zhuǎn)換,有可能發(fā)生精度損失;
算術(shù)運算符
對常量和變量進行操作的符號。
1. 分類
- +:表示數(shù)值相加,Java中還表示正數(shù)、字符串連接;
- -:表示數(shù)值相減;
- *:表示數(shù)值相乘;
- /:表示數(shù)值相除;
- %:表示取余,正負數(shù)由左邊的數(shù)值決定;
- ++:表示自增,對原來的數(shù)據(jù)進行+1;
- --:表示自減,對原來的數(shù)值進行-1:
public class Operator {
public static void main(String[] args) {
int a = 1;
int b = 2;
//加
System.out.println(a+b);
//減
System.out.println(a-b);
//乘
System.out.println(a*b);
//除
System.out.println(a/b);
//摩以
System.out.println(a%b);
//自增
System.out.println(a++);
System.out.println(++b);
//自減
System.out.println(a--);
System.out.println(--b);
}
}

圖17.算術(shù)運算符
2. 注意
- ++i表示先運算i自身,再賦值,--i也是;
- i++表示先賦值,后運算自身,i--也是;
賦值運算符
將數(shù)值傳遞給一個變量。
1. 分類
- =:將值傳遞給左邊;
- +=:將左右兩邊的值相加,再將結(jié)果傳遞給左邊;
- -=:將左右兩邊的值相減,再將結(jié)果傳遞給左邊;
- *=:將左右兩邊的值相乘,再將結(jié)果傳遞給左邊;
- /=:將左右兩邊的值相除,再將結(jié)果傳遞給左邊;
- %=:將左右兩邊的值取余,再將結(jié)果傳遞給左邊;
public static void main(String[] args) {
int a = 10;
System.out.println(a);
//加等于
a += 1;
System.out.println(a);
//減等于
a -= 2;
System.out.println(a);
//乘等于
a *= 2;
System.out.println(a);
//除等于
a /= 2;
System.out.println(a);
//摩等于
a %= 2;
System.out.println(a);
}

圖18.賦值運算符
關(guān)系運算符
又稱比較運算符,用來比較運算符兩邊值的關(guān)系,結(jié)果只能是boolean值。
1. 分類
- ==:判斷左右兩邊是否相等;
- !=:判斷左右兩邊是否不相等;
- '>':判斷左邊是否大于右邊;
- '>=':判斷左邊是否大于等于右邊;
- <:判斷左邊是否小于右邊;
- <=:判斷左邊是否小于等于右邊;
- instanceof:判斷兩邊的類型是否相同;
public static void main(String[] args) {
//等等于
System.out.println(1 == 1);
//不等于
System.out.println(1 != 1);
//大于
System.out.println(1 > 1);
//大于等于
System.out.println(1 >= 1);
//小于
System.out.println(1 < 1);
//小于等于
System.out.println(1 <= 1);
//instanceof
System.out.println(null instanceof String);
}

圖19.比較運算符
2. instanceof
Java 的保留關(guān)鍵字,左邊是對象,右邊是類,作用是測試它左邊的對象是否是它右邊的類的實例,當(dāng)對象是右邊類或子類所創(chuàng)建對象時,返回true;否則,返回false。
- 左邊的對象實例不能是基礎(chǔ)數(shù)據(jù)類型;
- 左邊的對象實例和右邊的類需在同一個繼承樹上;
- null用instanceof跟任何類型比較時都是false;
邏輯運算符
邏輯運算符關(guān)聯(lián)兩個boolean結(jié)果, 結(jié)果是一個boolean值。
1. 分類
- &:并,兩邊同為true才為true;
- |:或,一邊為true即為true;
- ^:異或,兩邊相同為false,不同為true;
- !:非;
- &&:短路與,只要左邊為false就停止,不檢測右邊,結(jié)果為false,左邊為true再檢測右邊,右邊為true結(jié)果為true,右邊為false結(jié)果為false;
- ||:短路或,只要左邊為true就停止,不檢測右邊,結(jié)果為true,左邊為false再檢測右邊,右邊為true結(jié)果為true,右邊為false結(jié)果為false;
public static void main(String[] args) {
//并
System.out.println(true&true);
System.out.println(true&false);
System.out.println(false&true);
System.out.println(false&false);
//或
System.out.println(true|true);
System.out.println(true|false);
System.out.println(false|true);
System.out.println(false|false);
//異或
System.out.println(true^true);
System.out.println(true^false);
System.out.println(false^true);
System.out.println(false^false);
//非
System.out.println(!true);
System.out.println(!false);
//短路與
System.out.println(true&&true);
System.out.println(true&&false);
System.out.println(false&&true);
System.out.println(false&&false);
//短路或
System.out.println(true||true);
System.out.println(true||false);
System.out.println(false||true);
System.out.println(false||false);
}

圖20.邏輯運算符
位運算符
對數(shù)值進行二進制的位運算。
1. 分類
- &:有0則為0;
- |:有1則為1;
- ^:相同為0,不同為1;
- ~:按位取反,正數(shù)取反,為取負后減一,負數(shù)取反,為取正后減一;
- '<<':有符號左移,左邊位待處理數(shù)值,右邊位移動位數(shù),在低位補0;
- '>>':有符號右移,同上,如果值為正,則在高位補0,如果值為負,則在高位補1;
- '>>>':無符號右移,同上,無論值的正負,都在高位補0;
public static void main(String[] args) {
int d = 10; //二進制:1010
int e = 5; //二進制:101
//&
System.out.println(d&e);
//|
System.out.println(d|e);
//^
System.out.println(d^e);
//~
System.out.println(~e);
//<<
System.out.println(d<<1);
//>>
System.out.println(d>>1);
//>>>
System.out.println(d>>>1);
}

圖21.位運算符
三元運算符
定義:由三個元素參與運算,并返回一個結(jié)果的表達式;
1. 結(jié)構(gòu)
- 數(shù)據(jù)類型 變量名 = 變量1 關(guān)系運算符 變量2 ? 返回true的結(jié)果 : 返回false的結(jié)果;例如:
String ret = age >= 18 ? "可以瀏覽此網(wǎng)頁" : "我還小,再長幾年再過來"
2. 注意
- ?號前的內(nèi)容必須返回一個boolean類型的值;
- ?號后的第一個內(nèi)容是返回結(jié)果為true的時候表達式的結(jié)果;
- :號后面的內(nèi)容是返回結(jié)果為false時表達式的結(jié)果;
- 表達式的返回值的數(shù)據(jù)類型必須和:前后的類型一致;
package com.javastudy.operator;
public class TernaryExpression {
public static void main(String[] args) {
// TODO Auto-generated method stub
int age = 18;
String ret = age >= 18 ? "可以瀏覽此網(wǎng)頁" : "我還小,再長幾年再過來";
System.out.println(ret);
}
}
圖22.三元運算符

圖22.三元運算符
運算符優(yōu)先順序

圖23.運算符優(yōu)先順序
