今天學(xué)習(xí)內(nèi)容如下:
1、字面量和常量
2、引出變量
3、變量分類、作用域和使用規(guī)則
4、數(shù)據(jù)類型和分類
5、boolean類型
6、整數(shù)類型
7、小數(shù)類型
8、字符類型
9、最常用的引用類型
10、數(shù)據(jù)過大和溢出
11、基本類型和自動轉(zhuǎn)換
12、基本類型和強制轉(zhuǎn)換
13、表達(dá)式類型的自動提升
14、算術(shù)運算符
17、++、--
18、賦值運算符
19、比較運算符
20、三牧運算符
21、邏輯運算符
22、位運算符
23、移位操作
24、運算符的操作優(yōu)先級
1、字面量和常量
字面量常量比如:整數(shù)常量1,2,3,小數(shù)常量3.14,布爾常量false,true等,字面量,就表示直接給出的一個值(可以是整數(shù),小數(shù),true,false等等),直接量。
2、引出變量
變量的定義:表示存儲空間,可用來存放某一類型的常量,沒有固定值,并可以重復(fù)使用,也可以用來存儲某種類型的未知數(shù)據(jù)。
變量的特點:
① 占據(jù)著內(nèi)存中的某一塊存儲區(qū)域;
② 該區(qū)域有自己的名稱(變量名)和類型(數(shù)據(jù)類型);
③ 可以被重復(fù)使用;
④ 該區(qū)域的數(shù)據(jù)可以在同一類型范圍內(nèi)不斷變化;
不推薦:同時定義多個變量。
3、變量分類、作用域和使用規(guī)則
成員變量:直接定義在類里的變量,又稱為全局變量或字段。
局部變量:變量除了成員變量之外,其他就是局部變量。根據(jù)定義的位置不同有3種表現(xiàn)形式:方法形參,方法內(nèi)變量,代碼塊變量。
變量作用域:
指變量的存在范圍,只有在這個范圍內(nèi),程序代碼才能訪問它。當(dāng)一個變量被定義時,它的作用域就確定了:
作用域是定義開始到定義所在的花括號結(jié)束;
變量使用規(guī)則:
① 變量必須先聲明,并且初始化后才能使用;
② 聲明變量必須有數(shù)據(jù)類型
③ 同一作用域內(nèi)變量名不能重復(fù)定義
靜態(tài)方法中只能調(diào)用靜態(tài)變量
4、數(shù)據(jù)類型和分類
在Java中數(shù)據(jù)類型整體上分成兩大類:
(1):基本數(shù)據(jù)類型/原生數(shù)據(jù)類型,共8個:
數(shù)值型:
① 整數(shù)類型:byte,short,int,long,不同的整數(shù)類型在內(nèi)存占用的內(nèi)存空間大小是不一樣的。 小數(shù)類型:float,double。
② 字符型:char,什么是字符,字母/符號。
③ 布爾型:boolean,表示對與錯。true,false。
(2):引用數(shù)據(jù)類型/對象數(shù)據(jù)類型:
①類/接口/數(shù)組
5、boolean類型
boolean類型:通常用于邏輯運算和程序流程控制(條件選擇/循環(huán))。
該類型的值只能是true 或 false,表示真或假。
6、整數(shù)類型
整數(shù)類型(byte-short-int-long):
byte、short、int、long類型:
整型常量的四種表示形式:
① 二進制整數(shù):0B或0b開頭(Java7的新特性),如:int a = 0B110;
② 八進制整數(shù):要求以0開頭,如 int a = 012;
③ 十進制整數(shù):如:int a = 17;
④ 十六進制整數(shù):要求0X或0x開頭,如int a = 0x12;
Java語言的整型常量默認(rèn)是int型,聲明long型變量后加上‘l’或‘L,因小寫的l容易和數(shù)字1相混淆,建議使用大寫L。
默認(rèn)情況下,一個整型的字面量默認(rèn)是int類型。
7、小數(shù)類型
小數(shù)類型(float-double):
float、double類型:表示小數(shù)類型又稱為浮點類型,其中float表示單精度類型,double表示雙精度類型,但是二者都不能表示精確的小數(shù)。
Java的浮點類型常量有兩種表現(xiàn)形式:
①十進制形式: 例如:3.14 ,168.0, .618
②科學(xué)計數(shù)法形式: 例如:3.14e2, 3.14E2, 1000E-2
科學(xué)計數(shù)法表達(dá)式返回的結(jié)果是double類型。
8、字符類型
字符類型(char):字符,字母和符號。
char類型:表示16位的無符號整數(shù)或者Unicode字符,Java對字符采用Unicode字符編碼。
Unicode收集了世界上所有語言文字中的符號,是一種跨平臺的編碼方式,Java的字符占兩個字節(jié),可以表示一個漢字。
char常量有3種表示形式:
① 直接使用單個字符來指定字符常量,格式如'◆'、'A','7';
② 直接作為十進制整數(shù)數(shù)值使用,但是數(shù)據(jù)范圍在[0,65535],格式如97,但是打印出來的值依然是ASCII碼表對于的符號,如97打印出來是字符a。
③ 和2一樣,只不過表示的是16進制的數(shù)值,格式如'\uX',X表示16進制整數(shù);如:97的16進制是61。那么表示為‘\u0061’打印出來也是a。所以有人說char本質(zhì)上也是整型,也是有道理的。
9、最常用的引用類型
除了8種基本數(shù)據(jù)類型,其他所有類型都是引用數(shù)據(jù)類型,包括類、接口、數(shù)組。引用數(shù)據(jù)類型默認(rèn)初始值都是null。
String是一個類,表示字符串(后面詳講),所謂字符串,就是一串字符,也就是N個字符連接在一起(N可以表示0或多個),好比羊肉串。
字符串都得使用 "" 括起來的,連接字符串使用 “+”符號。
字符串拼接:字符串和任意數(shù)據(jù)類型相連接,結(jié)果都是字符串類型。
10、數(shù)據(jù)過大和溢出
當(dāng)要表示的數(shù)據(jù)超出數(shù)據(jù)類型的臨界范圍時,稱為溢出。溢出情況發(fā)生時程序并沒有做數(shù)據(jù)范圍檢查處理,此時會出現(xiàn)數(shù)據(jù)紊亂情況。
int最大值
int intMax = 2147483647;
分析數(shù)據(jù)發(fā)生紊亂的原因。

11、基本類型和自動轉(zhuǎn)換
在8大基本數(shù)據(jù)類型中,boolean不屬于數(shù)值類型,不參與轉(zhuǎn)換,轉(zhuǎn)換規(guī)則其實就是各自數(shù)據(jù)類型的空間大小。自動類型轉(zhuǎn)換,也稱為“隱式類型轉(zhuǎn)換:當(dāng)把小數(shù)據(jù)范圍類型的數(shù)值或變量賦給另一個大數(shù)據(jù)范圍類型變量,系統(tǒng)可以完成自動類型轉(zhuǎn)型。boolean 類型是不可以轉(zhuǎn)換為其他數(shù)據(jù)類型。
一般的,byte,short,char不參與轉(zhuǎn)換操,
我們直接把byte,short,char直接付給int類型。

12、基本類型和強制轉(zhuǎn)換
強制類型轉(zhuǎn)換,也稱為“顯示類型轉(zhuǎn)換”:
當(dāng)把大范圍類型的數(shù)值或變量賦給另一個小范圍類型變量時,此時系統(tǒng)不能自動完成轉(zhuǎn)換,需要加上強制轉(zhuǎn)換符,但這樣的操作可能造成數(shù)據(jù)精度的降低或溢出,所以使用時要格外注意。
13、表達(dá)式類型的自動提升
當(dāng)一個算術(shù)表達(dá)式中包含多個基本數(shù)據(jù)類型(boolean除外)的值時,整個算術(shù)表達(dá)式的數(shù)據(jù)類型將在數(shù)據(jù)運算時出現(xiàn)類型自動提升,其規(guī)則是:
所有的byte、short、char類型被自動提升到int類型;
整個表達(dá)式的最終結(jié)果類型被提升到表達(dá)式中類型最高的類型;
double d1 = 123 + 1.1F + 99L + 3.14;
System.out.println('a' + 1);//98
byte b = 22;
b = b + 11;//編譯出錯,此時結(jié)果類型應(yīng)該是int




18、三牧運算符
判斷真假?true :false
19、邏輯運算符

&:表示并且,當(dāng)操作數(shù)A和B都為true結(jié)果才為true,否則結(jié)果result 是false。
&&:和&結(jié)果相同,具有短路效果,如果左邊操作數(shù)A是false,result 一定為false,且不運行B的運算。
|:表示或者,A和B都為false結(jié)果result為false,只要有A或B是true,結(jié)果就是true。
||:和|結(jié)果相同,具有短路效果,如果左邊操作數(shù)A是true,result一定為true,且不運行B的運算。
^:判斷A和B是否不同,不同則為true,相同則為false。
!:取反,!true結(jié)果是false,!fasle結(jié)果是true。
20、位運算符
遵循規(guī)則:
&:參與運算的兩個數(shù),若相應(yīng)位數(shù)的值都為1,則該位結(jié)果值是1,否則是0。
|:參與運算的兩個數(shù)相應(yīng)位中只要有一個1,結(jié)果就是1。
^:參與運算的兩個數(shù)相應(yīng)位相同則結(jié)果為0,否則為1。
~ :表示把每個二進制位的“1”換成“0”,把“0”換成“1”。
21、移位操作
① <<:將操作數(shù)的二進制碼整體左移指定位數(shù),左移之后的空使用“0”來補充。
② >>:將操作數(shù)的二進制碼整體右移指定位數(shù),右移之后的空使用“符號位”來補充:
若是正數(shù)使用“0”補充;
若是負(fù)數(shù)使用“1”補充;(操作負(fù)數(shù):取反,求補,操作,取反,求補)
③ >>>:將操作數(shù)的二進制碼整體右移指定位數(shù),右移之后的空位使用“0”來補充。
22、運算符的操作優(yōu)先級

Editplus編輯javac和運行java的配置
下載jdk,再eidtplus里面設(shè)置java、javac就好,選擇jdk里面設(shè)置的
文件名要和類名一樣


