《每天進(jìn)步一點(diǎn)點(diǎn)》DAY3:Java數(shù)據(jù)類型理解

基本數(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的范圍要大
    舉例:

data_type_test.png

算術(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);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Win7下如何打開DOS控制臺(tái)? a:開始--所有程序--附件--命令提示符 b:開始--搜索程序和文件--cmd...
    逍遙嘆6閱讀 1,703評(píng)論 4 12
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法,類相關(guān)的語法,內(nèi)部類的語法,繼承相關(guān)的語法,異常的語法,線程的語...
    子非魚_t_閱讀 34,653評(píng)論 18 399
  • 1 關(guān)鍵字 1.1 關(guān)鍵字的概述 Java的關(guān)鍵字對(duì)java的編譯器有特殊的意義,他們用來表示一種數(shù)據(jù)類型,或...
    哈哈哎呦喂閱讀 780評(píng)論 0 0
  • Android Studio自從推出以來,網(wǎng)上就被很多人拿來推廣。15年之前,還是beta版,關(guān)注的人不多。15年...
    靜明茶話閱讀 1,607評(píng)論 4 0
  • 《沐洋老師愛自己微課》從第九期開始改名為《覺醒生命——活出全新的自己》[玫瑰][玫瑰][玫瑰]我們每個(gè)人都需要一個(gè)...
    清心閣閱讀 214評(píng)論 0 0

友情鏈接更多精彩內(nèi)容