最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java?八種基本數(shù)據(jù)類型最新整理

 更新時(shí)間:2025年06月05日 10:20:04   作者:冬天vs不冷  
這篇文章給大家分享Java八種基本數(shù)據(jù)類型,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧

一、比特(bit)和字節(jié)(Byte)

1、定義與換算關(guān)系

  • 比特(bit)是計(jì)算機(jī)中最小的數(shù)據(jù)單位,表示二進(jìn)制的一位,只能取01。其英文縮寫為小寫字母b(如100b)
  • 字節(jié)(Byte)是計(jì)算機(jī)中基本的數(shù)據(jù)存儲(chǔ)單位,1字節(jié)由8個(gè)比特組成,即1 Byte = 8 bit。其縮寫為大寫字母B(如100B)
單位縮寫大小
1 字節(jié)1 Byte (B)8 bit (b)
1 千字節(jié)1 KB1024 Bytes
1 兆字節(jié)1 MB1024 KB
1 吉字節(jié)1 GB1024 MB
1 太字節(jié)1 TB1024 GB

2、應(yīng)用場(chǎng)景差異

  • 比特通常用于衡量網(wǎng)絡(luò)傳輸速率(如帶寬)
    • 例如100Mbps(兆比特每秒)表示每秒傳輸?shù)谋忍財(cái)?shù),1兆 = 1,000,000(百萬(wàn))
    • 日常十進(jìn)制換算:100Mbps寬帶的理論最高下載速度為100 ÷ 8 = 12.5 MB/s 100 ÷ 8 = 12.5 \text{MB/s}100÷8=12.5MB/s
  • 使用二進(jìn)制換算:100Mbps寬帶為100 , 000 , 000 ÷ 1024 ÷ 1024 ÷ 8 ≈ 11.92 MB/s 100,000,000 ÷ 1024 ÷ 1024 ÷ 8 ≈ 11.92 \text{MB/s}100,000,000÷1024÷1024÷8≈11.92MB/s
    • 字節(jié)則用于表示數(shù)據(jù)存儲(chǔ)容量或傳輸量
    • 例如文件大?。ㄈ?0MB)、內(nèi)存容量等
    • 下載速度也常用kB/s或MB/s表示

二、各類型詳解

1、整數(shù)類型:byte、short、int、long

  • 整數(shù)字面量默認(rèn)類型為int
  • 定義long類型常量須后加‘l’或‘L’后綴
    • 必須加L/l:當(dāng)數(shù)值超出int范圍時(shí)
    • 建議加L:即使數(shù)值在int范圍內(nèi),也推薦添加大寫L以提高代碼可讀性
    • 避免使用l:防止與數(shù)字1混淆
  • byte占用8個(gè)bit位,共28=256個(gè)表達(dá)方式,負(fù)數(shù)(128個(gè)):-1~-128;正數(shù)(128個(gè)):0~127
  • byte和short常用于節(jié)省內(nèi)存的場(chǎng)景,如處理文件或網(wǎng)絡(luò)數(shù)據(jù)流
類型位數(shù)取值范圍默認(rèn)值包裝類
byte8-27 ~ 27-1(-128~1270Byte
short16-215 ~ 215-1(-32768 ~ 32767)0Short
int32-231 ~ 231-1(約21億多0Integer
long64-263 ~ 263-1(-9223372036854775808 ~ 9223372036854775807)0LLong

不同整數(shù)類型的存儲(chǔ)空間和表示數(shù)值的范圍:

不同整數(shù)類型的存儲(chǔ)空間和表示數(shù)值的范圍

2、浮點(diǎn)類型:float、double

關(guān)于精度舉例說(shuō)明:

float f = 0.123456789f;
double d = 0.123456789123456789;
System.out.println(f);  // 輸出:0.12345679(只有前 7 位是可靠的)
System.out.println(d);  // 輸出:0.12345678912345678(保留了更多有效數(shù)字)

關(guān)于浮點(diǎn)型精度的說(shuō)明:

  • 并不是所有的小數(shù)都能可以精確的用二進(jìn)制浮點(diǎn)數(shù)表示
  • 二進(jìn)制浮點(diǎn)數(shù)不能精確的表示0.1、0.01、0.001這樣10的負(fù)次冪

3、字符類型:char

  • Java中的char類型是固定長(zhǎng)度的2字節(jié),即使是中文、英文或其他字符
  • 常用漢字:在Java內(nèi)存中用一個(gè)char表示,占2個(gè)字節(jié)
  • 擴(kuò)展?jié)h字(生僻字):超出char表示范圍,用兩個(gè)char表示,占4個(gè)字節(jié)
  • 如果你將漢字以UTF-8編碼形式存儲(chǔ)(如寫入文件或通過(guò)網(wǎng)絡(luò)傳輸),一個(gè)漢字通常會(huì)占用3個(gè)字節(jié)(生僻字可能是4個(gè)字節(jié))
類型位數(shù)取值范圍默認(rèn)值包裝類
char160 ~ 65535(Unicode)‘\u0000’Character
  • char類型是可以進(jìn)行運(yùn)算的。因?yàn)閏har類型都對(duì)應(yīng)有Unicode碼,可以看做是一個(gè)數(shù)值
char c12 = 'a'; // ASCII對(duì)應(yīng)數(shù)字97
char c13 = 65;   // 這里就是ascii碼65,對(duì)應(yīng)字符A
System.out.println(c12+c13); // 97+65=162

3.1、字符字面量(最常見)

最常見的寫法,表示單個(gè)字符

//使用一對(duì)''表示,內(nèi)部有且僅有一個(gè)字符
char c1 = 'a';
char c2 = '中';
char c3 = '1';
char c4 = '%';
char c5 = 'γ';
//編譯不通過(guò)
//char c6 = '';
//char c7 = 'ab';

3.2、 Unicode轉(zhuǎn)義表示(\uXXXX 格式)

  • ‘使用\u開頭加4位十六進(jìn)制表示Unicode編碼
  • 如下unicode表,\u + 縱坐標(biāo) + 橫坐標(biāo) 如:\u0040表示為@

3.3、 轉(zhuǎn)義字符

  • 常見控制字符,如換行、制表符等
轉(zhuǎn)義字符說(shuō)明Unicode表示方式
\n換行符\u000a
\t制表符\u0009
\"雙引號(hào)\u0022
\'單引號(hào)\u0027
\\反斜線\u005c
\b退格符\u0008
\r回車符\u000d

3.4、 整數(shù)轉(zhuǎn)換

使用整數(shù)轉(zhuǎn)換為對(duì)應(yīng)的字符

char c = 65;  // ASCII 碼 65 對(duì)應(yīng) 'A'
System.out.println(c);  // 輸出: A
char ch = 0x4F60;  // 十六進(jìn)制 Unicode 表示 '你'
System.out.println(ch);  // 輸出: 你

4、布爾類型:boolean

類型位數(shù)取值范圍默認(rèn)值包裝類
boolean1true/falsefalseBoolean

Java 語(yǔ)言規(guī)范未強(qiáng)制規(guī)定 boolean 的大小,僅表示其表示 1 位信息,具體實(shí)現(xiàn)由虛擬機(jī)決定。這導(dǎo)致不同 JVM 的差異:

  • 通常占用 4 字節(jié):根據(jù)《Java 虛擬機(jī)規(guī)范》,單獨(dú)使用的 boolean 值在編譯時(shí)會(huì)被轉(zhuǎn)換為int 類型(占用 4 字節(jié)),以提高 32 位處理器的存取效率。例如,局部變量或方法棧中的 boolean 變量可能按 int 處理
  • 可能占用 1 字節(jié):部分虛擬機(jī)(如 HotSpot)在存儲(chǔ)對(duì)象的成員變量時(shí),可能將 boolean 字段壓縮為 1 字節(jié)。例如,Oracle 的某些 JVM 實(shí)現(xiàn)中,boolean 字段實(shí)際占用 1 字節(jié)
  • 數(shù)組元素:統(tǒng)一為1 字節(jié)(編碼為 byte 數(shù)組)

三、基本數(shù)據(jù)類型轉(zhuǎn)換

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

  • 將較小的數(shù)據(jù)類型轉(zhuǎn)換為較大的數(shù)據(jù)類型(不會(huì)丟失信息)。由編譯器自動(dòng)完成
  • char與short同級(jí),但不可直接轉(zhuǎn)換,需強(qiáng)制轉(zhuǎn)換

示例:

int a = 10;
long b = a;        // 自動(dòng)轉(zhuǎn)換:int → long
double c = b;      // 自動(dòng)轉(zhuǎn)換:long → double
int x = 5;
double y = x + 3.14;  // 結(jié)果為 double 類型
char ch = 'A';
int code = ch;        // 自動(dòng)轉(zhuǎn)換:char → int(輸出 Unicode 值 65)

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

  • 將大范圍類型轉(zhuǎn)換為小范圍類型時(shí),必須使用強(qiáng)制類型轉(zhuǎn)換,可能會(huì)造成精度丟失溢出

精度丟失示例:

double d = 123.456;
int i = (int) d;      // 強(qiáng)制轉(zhuǎn)換:double → int(結(jié)果為123,精度丟失)

精度溢出示例:

  • 溢出是指一個(gè)數(shù)值超出了該數(shù)據(jù)類型所能表示的范圍,導(dǎo)致結(jié)果不正確甚至反方向回繞
  • 想象你有一個(gè) 3 位的計(jì)數(shù)器,只能表示 0 到 999,如果你加到 1000,它就回到了 000——這就是溢出
byte b = 127;         // byte 的最大值是 127
b = (byte)(b + 1);    // 加1后會(huì)溢出,結(jié)果是 -128
long l = 3000000000L;
int j = (int) l;      // 強(qiáng)制轉(zhuǎn)換:long → int(溢出,結(jié)果為-1294967296)

3、不同數(shù)據(jù)類型運(yùn)算

byte, short, char 運(yùn)算 ? 自動(dòng)變成 int

byte a = 10;
byte b = 20;
// byte c = a + b;   // 編譯錯(cuò)誤:結(jié)果是 int
int c = a + b;       // 正確
//byte、short之間做運(yùn)算
byte b3 = 12;
short s1 = 10;
//short s2 = b3 + s1; // 編譯不通過(guò) 需要用int來(lái)接收
int i4 = b3 + s1;	  // 正確

int 與 long 運(yùn)算 ? 提升為 long

int i = 1000;
long l = 2000L;
long result = i + l;  // i 自動(dòng)轉(zhuǎn)為 long

int 與 float 運(yùn)算 ? 提升為 float

int i = 5;
float f = 2.5f;
float res = i + f;    // i 轉(zhuǎn)為 float,結(jié)果是 7.5

float 與 double 運(yùn)算 ? 提升為 double

float f = 3.5f;
double d = 1.2;
double res = f + d;   // f 轉(zhuǎn)為 double,結(jié)果是 4.7

到此這篇關(guān)于Java 八種基本數(shù)據(jù)類型的文章就介紹到這了,更多相關(guān)Java 八種基本數(shù)據(jù)類型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot請(qǐng)求映射的五種優(yōu)化方式小結(jié)

    SpringBoot請(qǐng)求映射的五種優(yōu)化方式小結(jié)

    在Spring?Boot應(yīng)用開發(fā)中,請(qǐng)求映射(Request?Mapping)是將HTTP請(qǐng)求路由到相應(yīng)控制器方法的核心機(jī)制,合理優(yōu)化請(qǐng)求映射不僅可以提升應(yīng)用性能,還能改善代碼結(jié)構(gòu),增強(qiáng)API的可維護(hù)性和可擴(kuò)展性,本文將介紹5種Spring?Boot請(qǐng)求映射優(yōu)化方式,需要的朋友可以參考下
    2025-06-06
  • Java切割字符串的踩坑實(shí)戰(zhàn)記錄

    Java切割字符串的踩坑實(shí)戰(zhàn)記錄

    最近在項(xiàng)目中使用了java中的分割字符串,踩了一個(gè)坑,充分了展示了自己對(duì)java底層的認(rèn)知有很多的不足和欠缺,下面這篇文章主要給大家介紹了關(guān)于Java切割字符串的踩坑實(shí)戰(zhàn)記錄,需要的朋友可以參考下
    2022-11-11
  • 解決異常FileNotFoundException:class path resource找不到資源文件的問(wèn)題

    解決異常FileNotFoundException:class path resource找不到資源文件的問(wèn)題

    今天小編就為大家分享一篇關(guān)于解決異常FileNotFoundException:class path resource找不到資源文件的問(wèn)題,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • 如何通過(guò)Java實(shí)現(xiàn)PDF轉(zhuǎn)高質(zhì)量圖片

    如何通過(guò)Java實(shí)現(xiàn)PDF轉(zhuǎn)高質(zhì)量圖片

    在Java中,將PDF文件轉(zhuǎn)換為高質(zhì)量的圖片可以使用不同的庫(kù),其中最常用的庫(kù)之一是?Apache?PDFBox,下面我們就來(lái)看看這個(gè)庫(kù)的具體使用吧
    2024-10-10
  • Java中wait()和sleep()區(qū)別小結(jié)

    Java中wait()和sleep()區(qū)別小結(jié)

    在Java多線程編程中,wait()和 sleep()是兩個(gè)常用的線程控制方法,但它們?cè)诠ぷ髟?、使用?chǎng)景和效果上有顯著區(qū)別,本文就來(lái)詳細(xì)的介紹一下兩者的差異,感興趣的可以了解一下
    2025-10-10
  • SpringCloud手寫Ribbon實(shí)現(xiàn)負(fù)載均衡

    SpringCloud手寫Ribbon實(shí)現(xiàn)負(fù)載均衡

    這篇文章主要介紹了SpringCloud手寫Ribbon實(shí)現(xiàn)負(fù)載均衡的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • java Socket無(wú)法完全接收返回內(nèi)容的解決方案

    java Socket無(wú)法完全接收返回內(nèi)容的解決方案

    這篇文章主要介紹了java Socket無(wú)法完全接收返回內(nèi)容的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Springsession nginx反向代理集成過(guò)程

    Springsession nginx反向代理集成過(guò)程

    這篇文章主要介紹了Springsession nginx反向代理集成過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • springdoc openapi 接口轉(zhuǎn)換為JMeter測(cè)試計(jì)劃實(shí)踐指南

    springdoc openapi 接口轉(zhuǎn)換為JMeter測(cè)試計(jì)劃實(shí)踐指南

    本文介紹了基于Springdoc-openapi自動(dòng)暴露OpenAPI文檔,并通過(guò)OpenAPIGenerator生成JMeter測(cè)試計(jì)劃的方法,詳細(xì)步驟包括啟動(dòng)服務(wù)、驗(yàn)證OpenAPI文檔可用性、使用OpenAPIGenerator生成JMeter腳本以及安裝JMeter,感興趣的朋友一起看看
    2026-04-04
  • 通過(guò)實(shí)例解析Java類初始化和實(shí)例初始化

    通過(guò)實(shí)例解析Java類初始化和實(shí)例初始化

    這篇文章主要介紹了通過(guò)實(shí)例解析Java類初始化和實(shí)例初始化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11

最新評(píng)論

交口县| 来宾市| 武强县| 凯里市| 巴林右旗| 东乌珠穆沁旗| 棋牌| 襄城县| 屯昌县| 绵阳市| 金昌市| 乐亭县| 买车| 宜兰市| 屏东市| 中超| 临西县| 鲁甸县| 宜州市| 柘城县| 赣榆县| 通渭县| 武城县| 安泽县| 比如县| 永福县| 友谊县| 天祝| 博罗县| 新巴尔虎右旗| 兴安盟| 东源县| 轮台县| 永丰县| 云南省| 徐汇区| 易门县| 巴里| 平南县| 玛曲县| 仙游县|