數(shù)據(jù)類型、變量和運(yùn)算符

數(shù)據(jù)類型

在Java中,數(shù)據(jù)類型可以分為兩大類
8種基本數(shù)據(jù)類型:boolean,byte,short,int,long,char,folat,double
3種引用數(shù)據(jù)類型:類,接口,數(shù)組

基本數(shù)據(jù)類型:4類8種基本數(shù)據(jù)類型

1、四種整數(shù)類型:byte、short、int、long
整數(shù)類型 名稱 占用存儲(chǔ)空間(字節(jié)) 長(zhǎng)度 (位) 數(shù)的范圍
byte 字節(jié)類型 1 8 -128~127
short 短整型 2 16 -215~215-1
int 整型 4 32 -231~231-1
long 長(zhǎng)整型 8 64 -263~263-1

注:
聲明 long 類型數(shù)據(jù)后面需要加 L 或 l 標(biāo)識(shí)。

2、兩種浮點(diǎn)數(shù)類型:float、double
浮點(diǎn)數(shù)類型 名稱 占用存儲(chǔ)空間(字節(jié)) 長(zhǎng)度 (位) 數(shù)的范圍
float 單精度浮點(diǎn)數(shù)據(jù)類型 4 32 3.4E-038 ~3.4E+038
double 雙精度浮點(diǎn)數(shù)據(jù)類型 8 64 1.7E-308~1.7E+308

注:
在數(shù)字后面加 F 或 f 表示 float 型數(shù)據(jù)
在數(shù)字后面加 D 或 d 表示 double 型數(shù)據(jù)
通常浮點(diǎn)型數(shù)據(jù)默認(rèn)為 double型

3、字符數(shù)據(jù)類型:char

(1)表示單個(gè)字符,占用內(nèi)存空間為2個(gè)字節(jié),長(zhǎng)度是16位,賦值時(shí)用單引號(hào)(' ')括起來(lái)。

4、布爾數(shù)據(jù)類型:boolean

(1)boolean類型有兩個(gè)數(shù)值:true 和 false ,長(zhǎng)度是1位


變量

1、概念:

變量是指在程序運(yùn)行過程中隨時(shí)可以變化的量。
變量是程序中數(shù)據(jù)的臨時(shí)存放場(chǎng)所。
其作用是保存程序運(yùn)行時(shí)用戶輸入的數(shù)據(jù)和特定的運(yùn)算結(jié)果等。

2、聲明:

變量的名稱也稱為標(biāo)識(shí)符,應(yīng)對(duì)其初始化再使用。
聲明多個(gè)變量,用逗號(hào)分隔

//  變量數(shù)據(jù)類型     變量名    (=   變量初始值)
byte  by = 127;
short sh = 32767;
int  a = 16,25;
int  b ;
long lo = 100000000000 L;
float fl = 3.1415926 F;
double  b = 3.141592695478 ; 
char ch = 'a';
boolean    bool    =  true  (false);

數(shù)據(jù)類型的轉(zhuǎn)換

分為兩種轉(zhuǎn)換形式:自動(dòng)類型轉(zhuǎn)換 和 強(qiáng)制類型轉(zhuǎn)換
規(guī)則:小轉(zhuǎn)大,自動(dòng)轉(zhuǎn);大轉(zhuǎn)小,強(qiáng)制轉(zhuǎn)。

1、自動(dòng)類型轉(zhuǎn)換

(1)兩種數(shù)據(jù)類型彼此兼容
(2)目標(biāo)數(shù)據(jù)類型的取值范圍要大于源類型
(3)boolean數(shù)據(jù)類型不可以轉(zhuǎn)換成其他數(shù)據(jù)類型
(4)byte,short,char——>int——>long——>float——>double。
(5)byte,short,char之間不能互相轉(zhuǎn)換,它們?cè)谶\(yùn)算過程中先轉(zhuǎn)換成 int 類型
(6)小范圍數(shù)據(jù)類型和大范圍數(shù)據(jù)類型的運(yùn)算結(jié)果是大范圍數(shù)據(jù)類型
(7)字符類型和整數(shù)運(yùn)算結(jié)果為整數(shù),字符類型先自動(dòng)轉(zhuǎn)化成二進(jìn)制, 然后二進(jìn)制轉(zhuǎn)化成整數(shù)

int a = 100;
double b = 100;
double c = a+b;
System.out.println(w+z);//輸出結(jié)果為double類型

char ch2 = 'a';
System.out.println(ch2+0);//輸出結(jié)果是97,int型數(shù)據(jù)

2、強(qiáng)制類型轉(zhuǎn)換

(1)當(dāng)兩個(gè)數(shù)據(jù)類型不兼容時(shí)
(2)目標(biāo)數(shù)據(jù)類型的取值范圍要小于源類型
(3)在強(qiáng)制類型轉(zhuǎn)換過程中,源類型的值可能大于目標(biāo)數(shù)據(jù)類型,因此可能會(huì)造成精度降低或者溢出。
(4)格式

源數(shù)據(jù)類型     變量  =  (目標(biāo)類型) 值
byte a;
int b = 125;
a = (byte) b

運(yùn)算符

一種特殊符號(hào),用來(lái)表示數(shù)據(jù)的賦值,運(yùn)算和比較。
1、算術(shù)運(yùn)算符:+、-、*、/、%(取余)、++、-- *
2、賦值運(yùn)算符:=、+=、-=、
=、/=、%=
3、關(guān)系(比較)運(yùn)算符:>、<、>=、<=、==、!=、instanceof
4、邏輯運(yùn)算符:!(取反)、&&、||、
5、位運(yùn)算符:&、|、^(異或)、<<(左移)、>>(右移)、>>>(右移)、~(非)
6、條件運(yùn)算符:(三元運(yùn)算符) ? :

1、算術(shù)運(yùn)算符

符號(hào) 含義 備注
+ 加法
- 減法
* 乘法
/ 除法 如果是兩個(gè)整數(shù)相除,結(jié)果只取整數(shù)部分
% 取余
++ 自增 ++a:前自增,先將變量加一操作,然后再使用; a++:后自增,先使用變量,使用完之后再加一
-- 自減 算法同++
int a = 5;
int b = 2;
int c = a / b; // c = 2 除號(hào)取整數(shù)部分
int d = a % b; // d = 1 余數(shù)為1
int e = a++;  // e = 5,后自增,先使用變量再加一
int f = ++b; // f = 3 ,前自增,先將變量加一操作,然后再使用

2、賦值運(yùn)算符

符號(hào) 含義 備注
= a = 5 把5賦值給a
+= x += y x = x + y
-+ x -= y x = x - y
*= x *= y x = x * y
/= x /= y x = x / y
%= x %= y x = x % y

3、關(guān)系運(yùn)算符(比較運(yùn)算符)

符號(hào) 含義 備注
> 大于 a > b
< 小于 a < b
>= 大于等于 a >= b
<= 小于等于 a <= b
== 等于 a == b
!= 不等于 a != b
instanceof 判斷對(duì)象是否是特定類的一個(gè)實(shí)例 返回值是布爾類型

4、邏輯運(yùn)算符 ! && ||

邏輯運(yùn)算符:&&(與)、||(或)、!(非)
規(guī)則:邏輯運(yùn)算符兩端的操作表達(dá)式的值必須是布爾類型

符號(hào) 含義 備注
&& 短路與 相當(dāng)于“且”,用&&連接表達(dá)式時(shí),如果左邊的表達(dá)式結(jié)果為 false,則不會(huì)計(jì)算其右邊的表達(dá)式。(真真為真 )
短路或 相當(dāng)于“或”,如果左邊的表達(dá)式結(jié)果為 true,則不會(huì)計(jì)算其右邊的表達(dá)式。(真假為真,假假為假)
! 邏輯非 取反
int a = 2,b = 1;
boolean c = ( a != 2 && b==1);//a!=2的值為false,不需要再進(jìn)行右側(cè)判斷,d 的值為 false
boolean d = ( a != 2 || b == 1);//a!=2的值為false,b==1值為true,所以d 的值為 true

5、位運(yùn)算符:

位運(yùn)算符:&(與)、|(或)、^(異或)、~(非)、<<(左移)、>>(右移)、>>>(右移)
規(guī)則:只對(duì) byte、short、int、long、char 數(shù)據(jù)類型有效。

符號(hào) 含義 備注
& 按位“與” 只有參加運(yùn)算的兩位都是1時(shí),&的運(yùn)算結(jié)果才為1,否則為0
按位“或” 只有參加運(yùn)算的兩位都是0時(shí),運(yùn)算結(jié)果才為0,否則為1
^ 按位“異或” 只有參加運(yùn)算的兩位不同時(shí),^的運(yùn)算結(jié)果才為1,否則為0
~ 按位“非”
<< 左移 a << b,將a的二進(jìn)制數(shù)據(jù)左移b位,右邊移空的部位補(bǔ)0
>> 右移 a >> b,將a的二進(jìn)制數(shù)據(jù)右移b位,如果最高位是0,則左邊移空的部位補(bǔ)0,如果最高位是1,則左邊移空的部位補(bǔ)1
>>> 無(wú)符號(hào)位右移 a >>> b ,不管最高位是0或1,左邊移空的部位都補(bǔ)0

6、條件運(yùn)算符:(三元運(yùn)算符)

符號(hào) 含義 備注
?: 三元運(yùn)算符 比較表達(dá)式的結(jié)果,若結(jié)果為true,分號(hào)左邊作為結(jié)果返回;若結(jié)果為false 分號(hào)右邊作為結(jié)果返回。可以替代 if-else 結(jié)構(gòu)。
int a = 100;
int b = 800;
int c = a < b ? a : b; // 條件表達(dá)式 a < b 結(jié)果為 true,返回分號(hào)左邊 a 值
int d = a > b ? a : b; // 條件表達(dá)式 a > b 結(jié)果為 false,返回分號(hào)右邊 b 值
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容