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

Java基礎-Java基本數(shù)據(jù)類型

 更新時間:2022年01月26日 16:07:31   作者:碼農洞見  
這篇文章主要介紹了Java基礎-Java基本數(shù)據(jù)類型,變量就是申請內存來存儲值。也就是說,當創(chuàng)建變量的時候,需要在內存中申請空間,下面我們就來對Java基本數(shù)據(jù)類型作簡單的介紹,需要的朋友可以參考一下

1 前言

變量就是申請內存來存儲值。也就是說,當創(chuàng)建變量的時候,需要在內存中申請空間。

內存管理系統(tǒng)根據(jù)變量的類型為變量分配存儲空間,分配的空間只能用來儲存該類型數(shù)據(jù)。

因此,通過定義不同類型的變量,可以在內存中儲存整數(shù)、小數(shù)或者字符。
 
Java支持八種基本數(shù)據(jù)類型,包括一種布爾類型、一種字符類型、一種數(shù)值型,包括四種整數(shù)類型和兩種浮點數(shù)類型。

2 布爾類型

  • boolean數(shù)據(jù)類型表示一位的信息;
  • 只有兩個取值:true false
  • 這種類型只作為一種標志來記錄true/false 情況;
  • 默認值是 false;
  • 例子:
boolean b = true2

3 字符類型

  • char 類型是一個單一的 16 位 Unicode 字符;
  • 最小值是 \u0000(十進制等效值為 0);
  • 最大值是 \uffff(即為 65535);
  • char 數(shù)據(jù)類型可以儲存任何字符;
  • 例子:
? char c = 'A';

4 值類型

4.1 byte

  • byte 數(shù)據(jù)類型是8位、有符號的,以二進制補碼表示的整數(shù);
  • 最小值是 -128(-2^7);
  • 最大值是 127(2^7-1);
  • 默認值是 0;
  • byte 類型用在大型數(shù)組中節(jié)約空間,主要代替整數(shù),因為 byte 變量占用的空間只有 int 類型的四分之一;
  • 例子:
? byte b = 100;

4.2 short

  • short 數(shù)據(jù)類型是 16 位、有符號的以二進制補碼表示的整數(shù)
  • 最小值是 -32768(-2^15);
  • 最大值是 32767(2^15 - 1);
  • Short 數(shù)據(jù)類型也可以像 byte 那樣節(jié)省空間。一個short變量是int型變量所占空間的二分之一;
  • 默認值是 0;
  • 例子:
? short short s = -10000;

4.3 int

  • int 數(shù)據(jù)類型是32位、有符號的以二進制補碼表示的整數(shù);
  • 最小值是 -2,147,483,648(-2^31);
  • 最大值是 2,147,483,647(2^31 - 1);
  • 一般地整型變量默認為 int 類型;
  • 默認值是 0 ;
  • 例子:
? int a = 100000;

4.4 long

  • long 數(shù)據(jù)類型是 64 位、有符號的以二進制補碼表示的整數(shù);
  • 最小值是 -9,223,372,036,854,775,808(-2^63);
  • 最大值是 9,223,372,036,854,775,807(2^63 -1);
  • 這種類型主要使用在需要比較大整數(shù)的系統(tǒng)上;
  • 默認值是 0L;
  • 例子:
?long l = 100000L;

"L"理論上不分大小寫,但是若寫成"l"容易與數(shù)字"1"混淆,不容易分辯。所以最好大寫。

4.5 float

  • float 數(shù)據(jù)類型是單精度、32位、符合IEEE 754標準的浮點數(shù);
  • float 在儲存大型浮點數(shù)組的時候可節(jié)省內存空間;
  • 默認值是 0.0f;
  • 浮點數(shù)不能用來表示精確的值,如貨幣;
  • 例子:
? float f1 = 234.5f;

4.6 double

  • double 數(shù)據(jù)類型是雙精度、64 位、符合 IEEE 754 標準的浮點數(shù);
  • 浮點數(shù)的默認類型為 double 類型;
  • double類型同樣不能表示精確的值,如貨幣;
  • 默認值是 0.0d;
  • 例子:
? double d5 = 12.9867;?

5 碼農來洞見

5.1 類型轉換

Java允許整數(shù)和浮點數(shù)之間互相轉換。并且,由于每個字符都對應Unicode編碼中的一個數(shù)字,所以char與整數(shù)和浮點數(shù)之間也可以相互轉換。事實上,在Java中,boolean類型是唯一一種不能跟其他基本類型相互轉換的基本類型。

自動類型轉換:

也叫隱式類型轉換,其實就是小范圍的數(shù)據(jù)類型向大范圍的數(shù)據(jù)類型轉換(byte ->short(char)->int->long->float->double)。

強制類型轉換:

也叫顯式類型轉換,是從存儲范圍大的類型到存儲范圍小的類型(double→float→long→int→short(char)→byte)。強制類型轉換所帶來的結果是可能會丟失精度,如果此數(shù)值尚在范圍較小的類型數(shù)值范圍內,對于整型變量精度不變,但如果超出范圍較小的類型數(shù)值范圍內,很可能出現(xiàn)一些意外情況。

int i = 223;
byte b = (byte) i;

上面的例子中輸出值是-23.

為什么結果是-23?需要從最根本的二進制存儲考慮。

233的二進制表示為:24位0 + 11101001,byte型只有8位,于是從高位開始舍棄,截斷后剩下:11101001,由于二進制最高位1表示負數(shù),0表示正數(shù),其相應的負數(shù)為-23。

數(shù)據(jù)類型自動提升:

數(shù)值類型在內存中直接存儲其本身的值,對于不同的數(shù)值類型,內存中會分配相應的大小去存儲。如:byte類型的變量占用8位,int類型變量占用32位等。相應的,不同的數(shù)值類型會有與其存儲空間相匹配的取值范圍。

在Java中,整數(shù)類型(byte/short/int/long)中,對于未聲明數(shù)據(jù)類型的整型,其默認類型為int型。在浮點類型(float/double)中,對于未聲明數(shù)據(jù)類型的浮點型,默認為double型。

5.2 存儲空間

注意事項1:

如果需要一個占位符來存儲數(shù)字1000000,那么需要一個int型數(shù),long可以用于存儲更大的數(shù)字,讀者可能問,既然long可以包含比byte和int型數(shù)更大的數(shù)字,為什么不總是使用long呢?這是因為long需要64位,相比byte
或int,這會占用更多的內存空間。因此,為了節(jié)省空間,需要選擇合適的基本類型。

注意事項2:

將一個int型的1000賦給一個byte型的變量a,提示出錯,但是最后一句:將一個int型的3賦給一個byte型的變量c,居然編譯正確,這是為什么呢?

byte b1 = 1000;
byte b2 = 3;

原因在于:jvm在編譯過程中,對于默認為int類型的數(shù)值時,當賦給一個比int型數(shù)值范圍小的數(shù)值類型變量,會進行判斷,如果此int型數(shù)值超過數(shù)值類型,那么會直接編譯出錯。但是如果此int型數(shù)值尚在數(shù)值類型范圍內,jvm會自動進行一次隱式類型轉換。

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

相關文章

  • java正則表達式判斷強密碼和隨機生成強密碼代碼示例

    java正則表達式判斷強密碼和隨機生成強密碼代碼示例

    這篇文章主要給大家介紹了關于java正則表達式判斷強密碼和隨機生成強密碼的相關資料,最近需要一個密碼強度正則表達式在用戶注冊時校驗用戶密碼強度,需要的朋友可以參考下
    2023-08-08
  • Spring Security 實現(xiàn)短信驗證碼登錄功能

    Spring Security 實現(xiàn)短信驗證碼登錄功能

    這篇文章主要介紹了Spring Security 實現(xiàn)短信驗證碼登錄功能,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • Java的NIO之通道channel詳解

    Java的NIO之通道channel詳解

    這篇文章主要介紹了Java的NIO之通道channel詳解,通道channel由java.nio.channels 包定義的,Channel 表示IO源與目標打開的連接,Channel類類似于傳統(tǒng)的"流",只不過Channel本身不能直接訪問數(shù)據(jù),Channel只能與Buffer進行交互,需要的朋友可以參考下
    2023-10-10
  • JAVA如何獲取客戶端IP地址和MAC地址

    JAVA如何獲取客戶端IP地址和MAC地址

    本篇文章主要介紹了JAVA如何獲取客戶端IP地址和MAC地址非常具有實用價值,這里整理了詳細的代碼,需要的朋友可以參考下
    2017-08-08
  • 如何重寫hashcode和equals方法

    如何重寫hashcode和equals方法

    這篇文章主要介紹了如何重寫hashcode和equals方法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • JAVA像SQL一樣對List對象集合進行排序

    JAVA像SQL一樣對List對象集合進行排序

    這篇文章主要介紹了JAVA像SQL一樣對List對象集合進行排序的實現(xiàn)方法,文中講解非常細致,代碼幫助大家更好的理解和學習,感興趣的朋友可以了解下
    2020-07-07
  • SpringBoot與單元測試JUnit的結合操作

    SpringBoot與單元測試JUnit的結合操作

    這篇文章主要介紹了SpringBoot與單元測試JUnit的結合操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java 多層嵌套JSON類型數(shù)據(jù)全面解析

    Java 多層嵌套JSON類型數(shù)據(jù)全面解析

    這篇文章主要介紹了Java 多層嵌套JSON類型數(shù)據(jù)全面解析,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java關鍵字final使用方法詳解

    java關鍵字final使用方法詳解

    在程序設計中,我們有時可能希望某些數(shù)據(jù)是不能夠改變的,這個時候final就有用武之地了。final是java的關鍵字,本文就詳細說明一下他的使用方法
    2013-11-11
  • synchronized底層實現(xiàn)原理

    synchronized底層實現(xiàn)原理

    這篇文章主要介紹了synchronized底層實現(xiàn)原理,想弄懂它的實現(xiàn)synchronized的原理,我們只能通過看編譯好的字節(jié)碼文件,下面文章的詳細內容,我們就先從測試類開始吧,需要的小伙伴可以參考一下
    2022-01-01

最新評論

蓬溪县| 荔波县| 黑山县| 临洮县| 博爱县| 锦屏县| 宣化县| 当阳市| 延长县| 边坝县| 洛扎县| 崇州市| 南宁市| 邵东县| 泰安市| 桓台县| 广丰县| 天全县| 栖霞市| 昂仁县| 弥勒县| 塔河县| 封开县| 巴林右旗| 阿城市| 庆云县| 遂川县| 鄂州市| 县级市| 正定县| 如东县| 安泽县| 赤壁市| 鄂托克前旗| 乌恰县| 长顺县| 禄丰县| 改则县| 蒲城县| 普洱| 博客|