基本數(shù)據(jù)類型
Java基本數(shù)據(jù)類型有4類8種:
- 1 整數(shù)型
- byte 占一個(gè)字節(jié) -128~127
- short 占兩個(gè)字節(jié) -215~215-1(即-65536~65535)
- int 占四個(gè)字節(jié) -231~231-1
- long 占八個(gè)字節(jié) -263~263-1
其中,默認(rèn)的整數(shù)類型是int,如果要表示比較大的long類型整數(shù),建議在數(shù)值后加上L(不建議加小寫l,容易與數(shù)字1混淆),表示long類型。
比如:long num = 88765432L;
- 2 浮點(diǎn)型
- float 占四個(gè)字節(jié) -3.403E38~3.403E38 單精度
- double 占八個(gè)字節(jié)-1.798E308~1.798E308 雙精度
其中,默認(rèn)的浮點(diǎn)數(shù)類型是double,定義float類型的數(shù)據(jù)時(shí),數(shù)值后面要加F或f,否則會(huì)提示“可能損失精度”錯(cuò)誤,double類型可加D或d,也可不加。
比如:float f = 12.66f; double d = 3.1415926;
- 3 字符型
- char 占兩個(gè)字節(jié) 0~65535
A:char c = 97; 0到65535
B:Java語言中的字符char可以存儲(chǔ)一個(gè)中文漢字嗎?為什么呢?
可以。因?yàn)镴ava語言采用的是Unicode編碼。Unicode編碼中的每個(gè)字符占用兩個(gè)字節(jié)。中文也是占的兩個(gè)字節(jié)。 所以,Java中的字符可以存儲(chǔ)一個(gè)中文漢字
比如:char c = '君';
- 4 布爾型
- boolean
理論上,布爾類型占1/8個(gè)字節(jié),以為一個(gè)bit位就可以表示true或false了。但是(but),java中boolean類型沒有明確指定它的大小
數(shù)據(jù)類型轉(zhuǎn)換
-
隱式轉(zhuǎn)換
Java中的默認(rèn)轉(zhuǎn)換規(guī)則是:取值范圍小的數(shù)據(jù)類型與取值范圍大的數(shù)據(jù)類型進(jìn)行運(yùn)算,先將小數(shù)據(jù)類型自動(dòng)提升為大數(shù)據(jù)類型,然后再進(jìn)行運(yùn)算。
強(qiáng)制類型轉(zhuǎn)換
需要手動(dòng)轉(zhuǎn)換,即加 (目標(biāo)數(shù)據(jù)類型)
注意:如果超出了被賦值的數(shù)據(jù)類型的取值范圍得到的結(jié)果會(huì)與期望的結(jié)果不同
比如:byte result = (byte)300; // 結(jié)果result = 44;
進(jìn)行混合運(yùn)算的時(shí)候,byte,short,char不會(huì)相互轉(zhuǎn)換,都會(huì)自動(dòng)類型提升為int類型,其他類型進(jìn)行混合運(yùn)算的是小的數(shù)據(jù)類型提升為大的,即:
byte,short,char -- int -- long -- float -- double
float表示的數(shù)據(jù)范圍比long的范圍要大
舉例:

算術(shù)運(yùn)算符的基本用法
- A:什么是運(yùn)算符
- 就是對(duì)常量和變量進(jìn)行操作的符號(hào)。
- B:運(yùn)算符的分類
- 算術(shù)運(yùn)算符,賦值運(yùn)算符,比較(關(guān)系或條件)運(yùn)算符,邏輯運(yùn)算符,位運(yùn)算符,三目(元)運(yùn)算符
- C:算數(shù)運(yùn)算符有哪些
- +,-,*,/,%,++,--
- D:注意事項(xiàng):
- a:+號(hào)在java中有三種作用,代表正號(hào),做加法運(yùn)算,字符串的連接符
- b:整數(shù)相除只能得到整數(shù)。如果想得到小數(shù),必須把數(shù)據(jù)變化為浮點(diǎn)數(shù)類型
- c:/獲取的是除法操作的商,%獲取的是除法操作的余數(shù)
- %運(yùn)算符
- 當(dāng)左邊的絕對(duì)值小于右邊絕對(duì)值時(shí),結(jié)果是左邊
- 當(dāng)左邊的絕對(duì)值等于右邊或是右邊的倍數(shù)時(shí),結(jié)果是0
- 當(dāng)左邊的絕對(duì)值大于右邊絕對(duì)值時(shí),結(jié)果是余數(shù)
- %運(yùn)算符結(jié)果的符號(hào)只和左邊有關(guān)系,與右邊無關(guān)
- 任何一個(gè)正整數(shù)%2結(jié)果不是0就是1可以用來當(dāng)作切換條件
算術(shù)運(yùn)算符++和--
- A:++,--運(yùn)算符的作用
- 自加(++)自減(--)運(yùn)算
- ++:自加。對(duì)原有的數(shù)據(jù)進(jìn)行+1
- --:自減。對(duì)原有的數(shù)據(jù)進(jìn)行-1
- B:使用方式
- a:單獨(dú)使用:
- 放在操作數(shù)的前面和后面效果一樣。(這種用法是我們比較常見的)
- b:參與運(yùn)算使用:
- 放在操作數(shù)的前面,先自增或者自減,然后再參與運(yùn)算。
- 放在操作數(shù)的后面,先參與運(yùn)算,再自增或者自減。
注意:
byte b = 10;
b++; //正確 系統(tǒng)默認(rèn)將運(yùn)算結(jié)果強(qiáng)轉(zhuǎn)成byte,即b =(byte)(b+1);同理還有b+=1,-=等等
b = b + 1; // 出錯(cuò),b自動(dòng)提升為int,兩個(gè)int相加的結(jié)果還是int,賦值給byte會(huì)損失精度,需要強(qiáng)轉(zhuǎn),即b = (byte)(b + 1);
- a:單獨(dú)使用: