java基礎之資料類型(變量)
常量:在程式執行的過程中其值不可以發生改變
常量的分類
字面值常量
字面值常量的分類
常量
描述
字元串常量
用雙引号括起來的内容
整數常量
所有整數
小數常量
所有小數
字元常量
用單引号括起來的内容,裡面隻能放單個數字,單個字母或單個符号
布爾常量
較為特殊,隻有true和false
空常量
null(數組部分)
-
- 自定義常量
變量:在程式執行的過程中,在某個範圍内其值可以發生改變的量
定義格式:
資料類型 變量名 = 變量值;
定義變量原因:
用來不斷的存放同一類型的常量,并可以重複使用
有資料類型原因:Java語言是強類型語言,對于每一種資料都定義了明确的具體資料類型,在記憶體中配置設定了不同大小的記憶體空間
Java中資料類型的分類
基本資料類型
引用資料類型
基本資料類型分類(4類8種)
整數型
資料類型
所占位元組
範圍
byte
占一個位元組
-128到127
short
占兩個字
-2^15~2^15-1
int
占四個位元組
-2^31~2^31-1
long
占八個位元組
-2^63~2^63-1
- 浮點型
float
占兩個位元組
-3.403E38~3.403E38
double
-1.798E308~1.798E308
- 字元型
char
0~65535
- 布爾型
boolean
**小細節:**boolean理論上是占八分之一個位元組,因為一個開關就可以決定是true和false了,但是java中boolean類型沒有明确指定他的大小
自動:小到大
強制:大到小
自動
取值範圍小的資料類型與取值範圍大的資料類型進行運算,會先将小的資料類型提升為大的,再運算
強轉
如果超出了被指派的資料類型的取值範圍得到的結果會與你期望的結果不同
進行混合運算的時候,byte,short,char不會互相轉換,都會自動類型提升為int類型,其他類型進行混合運算的是小的資料類型提升為大的
byte <- short <- char <- int <- long <- float <- double
**注意:**float表示的資料範圍比long的範圍要大
原因
long:2^63-1 float:3.4*10^38 2*10^38 2*8^38 = 2*2^3^38 = 2*2^114 2^63-1
運算符:就是對常量和變量進行操作的符号。
分類:
- 算術運算符
- 指派運算符
- 比較(關系或條件)運算符
- 邏輯運算符
- 位運算符
- 三目(元)運算符
算術運算符:+-*/%,++,–
++/–:自增1/自減1
1.1)單獨使用時,在前在後無差别
1.2)若被使用時,在前在後有差别
1.2.1)++在後,先使用,後自增1
1.2.2)++在前,先自增1,後使用
單獨使用:
放在操作數的前面和後面效果一樣。
參與運算使用:
放在操作數的前面,先自增或者自減,然後再參與運算。
放在操作數的後面,先參與運算,再自增或者自減。
注意事項:
- “+”号在java中有三種作用,代表正号,做加法運算,字元串的連接配接符
- 整數相除隻能得到整數。如果想得到小數,必須把資料變化為浮點數類型
- /擷取的是除法操作的商,%擷取的是除法操作的餘數
%運算符
當左邊的絕對值小于右邊絕對值時,結果是左邊
當左邊的絕對值等于右邊或是右邊的倍數時,結果是0
當左邊的絕對值大于右邊絕對值時,結果是餘數
%運算符結果的符号隻和左邊有關系,與右邊無關
任何一個正整數%2結果不是0就是1可以用來當作切換條件
2.1)>(大于),<(小于)
>=(大于或等于),<=(小于或等于)
==(等于),!=(不等于)
2.2)關系運算的結果為boolean型,
關系成立則為true,關系不成立則為false
3.1)&&:短路與,兩邊都為真則為真,見false則false
若左邊的數為false,則發生短路(右邊不走了)
||:邏輯或,有一邊為真則為真,見true則true
若左邊的數為true,則發生短路(右邊不走了)
!: 邏輯非,非真則假,非假則真
3.2)邏輯運算都是建立在關系運算基礎之上的
邏輯運算的結果為boolean型
4.1)簡單指派:=
擴充指派:+=,-=,*=,/=,%=
4.2)建議使用擴充指派,因其效率高
5.1)+:
+号兩邊若為數字,則做加法運算
+号兩邊任有一邊為字元串,則做字元串拼接
6.1)格式
boolean ? 數1 : 數2
6.2)計算boolean的值:
若為true,則整個表達式的結果為數1
若為false,則整個表達式的結果為數2