国产一区二区精品-国产一区二区精品久-国产一区二区精品久久-国产一区二区精品久久91-免费毛片播放-免费毛片基地

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時(shí)隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時(shí)隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁(yè)  >  技術(shù)干貨  > java數(shù)據(jù)類型有哪些?

java數(shù)據(jù)類型有哪些?

來(lái)源:千鋒教育
發(fā)布人:wjy
時(shí)間: 2023-03-21 14:28:00 1679380080

  1. 簡(jiǎn)介

  所謂的基本數(shù)據(jù)類型,是指CPU可以直接進(jìn)行運(yùn)算的類型,包括以下幾種:

  ● 整數(shù)型:byte、short、int、long;

  ● 浮點(diǎn)型:float、double;

  ● 字符型:char;

  ● 布爾型:boolean

  2. 整數(shù)型

  2.1 byte

  byte是字節(jié)類型,1個(gè)byte占8位,代表有符號(hào)的、以二進(jìn)制補(bǔ)碼表示的整數(shù),具有如下特點(diǎn):

  ● 最小值是 -128(-2^7);

  ● 最大值是 127(2^7-1);

  ● 默認(rèn)值是 0;

  ● byte 類型比較節(jié)約空間,因?yàn)?byte 變量占用的空間只有 int 類型的四分之一。

  public class TypeDemo01 { public static void main(String[] args) { // 定義byte類型的變量 // byte b = 10; // byte b = 127; byte b = -128; System.out.println(b); //注意:如下定義,在編譯階段就會(huì)出錯(cuò) //byte b = 128; //System.out.println(b); }}

  注意:

  因?yàn)閎yte的取值范圍在-128~127之間,如果我們定義byte變量的值=128,就超過(guò)了byte的范圍,所以在編譯階段就會(huì)出錯(cuò),“Type mismatch: cannot convert from int to byte”,意思是“類型不匹配:無(wú)法從byte轉(zhuǎn)為int”,如下圖所示:

java數(shù)據(jù)類型有哪些1

  2.2 short

  short 是短整型,占16 位,代表有符號(hào)的、以二進(jìn)制補(bǔ)碼表示的整數(shù),具有如下特點(diǎn):

  ● 最小值是 -32768(-2^15);

  ● 最大值是 32767(2^15 - 1);

  ● 默認(rèn)值是 0;

  ● short 數(shù)據(jù)類型也可以像 byte 那樣節(jié)省空間,一個(gè)short變量是int型變量所占空間的二分之一。

  public class TypeDemo01 { public static void main(String[] args) { //定義short類型的變量 //short s = 128; short s = 12800; System.out.println(s); }}

  2.3 int

  int 是整型,占32位,代表有符號(hào)的、以二進(jìn)制補(bǔ)碼表示的整數(shù),如有如下特點(diǎn):

  ● 最小值是 -2,147,483,648(-2^31);

  ● 最大值是 2,147,483,647(2^31 - 1);

  ● 默認(rèn)值是 0 ;

  ● 我們?cè)陂_發(fā)時(shí),一般都是用int表示整型變量。

  public class TypeDemo01 { public static void main(String[] args) { //定義int類型的變量 int i = 100000; System.out.println(i); }}

  2.4 long

  long 是長(zhǎng)整型,占64 位,代表有符號(hào)的、以二進(jìn)制補(bǔ)碼表示的整數(shù),如有如下特點(diǎn):

  ● 最小值是 -9,223,372,036,854,775,808(-2^63);

  ● 最大值是 9,223,372,036,854,775,807(2^63 -1);

  ● 默認(rèn)值是 0L,"L"理論上不區(qū)分大小寫,但若寫成小寫的"l",容易與數(shù)字"1"混淆,不容易分辯,所以最好寫成大寫的“L”;

  ● 該類型主要用在需要較大數(shù)值的場(chǎng)景中。

  public class TypeDemo01 { public static void main(String[] args) { //定義long類型的變量,后面要帶L或l(不是1,也不是i) long l = 364748123123L; System.out.println(l); }}

  2.5 補(bǔ)充說(shuō)明

  Java中只定義了帶符號(hào)的整型,因此最高位的bit表示正負(fù)符號(hào),0表示正數(shù),1表示負(fù)數(shù),如:

  ● 1(十進(jìn)制) = 0000 0001(二進(jìn)制);

  ● 127(十進(jìn)制) = 0111 1111(二進(jìn)制);

  ● -128(十進(jìn)制) = 1000 0000(二進(jìn)制)

  關(guān)于二進(jìn)制及進(jìn)制間的轉(zhuǎn)換、原碼、反碼、補(bǔ)碼等內(nèi)容,壹哥會(huì)在后面再單獨(dú)講解!

  3. 浮點(diǎn)型

  浮點(diǎn)數(shù)可表示的范圍非常大,float類型可最大表示3.4x1038,而double類型可最大表示1.79x10308。

  3.1 float

  float 是單精度的浮點(diǎn)類型,占32位,是符合IEEE 754標(biāo)準(zhǔn)的浮點(diǎn)數(shù),具有如下特點(diǎn):

  ● float 在儲(chǔ)存大型浮點(diǎn)數(shù)組時(shí),可以節(jié)省內(nèi)存空間;

  ● 默認(rèn)值是 0.0f,"f"理論上不區(qū)分大小寫;

  ● float浮點(diǎn)數(shù)不能用來(lái)表示精確的值,如不能用float來(lái)表示貨幣等。

  public class TypeDemo01 { public static void main(String[] args) { //定義float類型的變量,后面帶F或f float f = 10.2F; //float f = 3.14e38f; // 科學(xué)計(jì)數(shù)法表示的3.14x10^38 System.out.println(f); float f1 = 9999.9994f; System.out.println(f1); } }

  3.2 double

  double 是雙精度的浮點(diǎn)類型,占64 位,是符合 IEEE 754 標(biāo)準(zhǔn)的浮點(diǎn)數(shù),具有如下特點(diǎn):

  ● 浮點(diǎn)數(shù)的默認(rèn)類型為 double 類型;

  ● 默認(rèn)值是 0.0d,"d"理論上不區(qū)分大小寫;

  ● double類型同樣不能表示精確的值,如貨幣。

  public class TypeDemo01 { public static void main(String[] args) { //定義double類型的變量,后面可以帶D或d,也可以不帶 double d = 10d; //double d = 4.9e-324; // 科學(xué)計(jì)數(shù)法表示的4.9x10^-324 System.out.println(d); double d1 = 12345678910111213.0; System.out.println(d1); } }

  3.3 補(bǔ)充說(shuō)明

  float和double的最小值和最大值都是以科學(xué)記數(shù)法的形式輸出的。結(jié)尾的"E+數(shù)字"表示E之前的數(shù)字要乘以10的多少次方。比如3.14E3就是3.14 × 103=3140,3.14E-3 就是 3.14 x 10-3 =0.00314。

  4. 字符型

  4.1 字符的特點(diǎn)

  char是一種表示字符的類型。Java的char類型除了可以表示標(biāo)準(zhǔn)的ASCII,還可以表示一個(gè)Unicode字符,代表一個(gè)單一的16位 Unicode 字符,具有如下特點(diǎn):

  ● 最小值是 \u0000(十進(jìn)制等效值為 0);

  ● 最大值是 \uffff(即為 65535);

  ● char 數(shù)據(jù)類型可以儲(chǔ)存任何字符。

  4.2 字符的三種表現(xiàn)形式

  在java中,字符和字符串是兩種不同的數(shù)據(jù)類型。char類型使用單引號(hào)''表示,單引號(hào)里面只能有一個(gè)字符。字符串用雙引號(hào)""表示,雙引號(hào)中可以有很多字符。字符有三種表現(xiàn)形式:

  1. 字符 'a' 、'中';

  2. 數(shù)字 97、20;

  3. 十六進(jìn)制 '\u0041'。

  4.3 代碼案例

  public class TypeDemo01 { public static void main(String[] args) { //定義字符型,字符帶有英文的'' char c1 = '中'; char c2 = 20013; char c3 = '\u0041'; //單引號(hào)中只能有一個(gè)字符! //char c4 = '中國(guó)'; System.out.println(c1);//中 System.out.println(c2);//中 System.out.println(c3);//A }}

  大家要注意,單引號(hào)''中只能有一個(gè)字符,否則會(huì)出現(xiàn)如下錯(cuò)誤:”Invalid character constant“,無(wú)效的字符常量!

java數(shù)據(jù)類型有哪些2

  4.4 轉(zhuǎn)義字符

  在上面的代碼案例中,我們可以看到有些字符的前面帶有反斜杠(\),這個(gè)反斜杠其實(shí)也是一個(gè)字符,它是一種轉(zhuǎn)義字符,對(duì)編譯器來(lái)說(shuō)有著特殊的含義。下表展示了Java中常用的幾個(gè)轉(zhuǎn)義字符含義:

java數(shù)據(jù)類型有哪些3

  5. 布爾型

  boolean是布爾類型,該類型只表示一位信息,布爾類型是關(guān)系運(yùn)算的計(jì)算結(jié)果,具有如下特點(diǎn):

  ● 布爾類型只有兩個(gè)值:true 和 false;

  ● 默認(rèn)值是 false;

  ● 該類型一般是作為一種標(biāo)志,來(lái)記錄 true/false 的情況。

  public class TypeDemo01 { public static void main(String[] args) { //boolean類型,真假(一般用條件判斷),true false //boolean flag = true; boolean flag = false; System.out.println(flag); int age = 12; boolean isAdult = age >= 18; // 計(jì)算結(jié)果為false System.out.println(isAdult); }}

  6. 取值范圍

  6.1 范圍對(duì)比

  我們?cè)谥v解8種基本類型時(shí),大家會(huì)發(fā)現(xiàn),不同的類型大小不同,也就是它們有不同的取值范圍。接下來(lái)壹哥給大家總結(jié)一下這幾種不同類型的取值范圍。

java數(shù)據(jù)類型有哪些4

  6.2 原理剖析

  有的初學(xué)者可能不理解,為什么不同數(shù)據(jù)類型的取值范圍大小不一樣?比如同樣都是整數(shù),為什么有的范圍大有的范圍小?壹哥簡(jiǎn)單給大家舉個(gè)例子。計(jì)算機(jī)的每個(gè)內(nèi)存單元,都有自己的內(nèi)存地址,一般都是從0開始編號(hào)。而每個(gè)內(nèi)存單元都可以看作是一個(gè)房間,房間有大有小,并且房間的類型不同,有的是大床房,有的是標(biāo)間,有的是總統(tǒng)套房。另外內(nèi)存地址就是房間的門牌號(hào),方便我們找到對(duì)應(yīng)的房間。

java數(shù)據(jù)類型有哪些5

  不同的數(shù)據(jù)類型之所以取值范圍不同,就好比每種類型都是不同的房型,有大有小,如下圖所示:

java數(shù)據(jù)類型有哪些6

  這些不同的類型,占用的字節(jié)大小不同,所以取值范圍自然也不一樣。

  6.3 boolean類型補(bǔ)充說(shuō)明

  在上面6.1小節(jié)中,關(guān)于boolean類型所占的字節(jié)大小,壹哥在表格中并沒有說(shuō)明。這是因?yàn)楦鶕?jù)官方文檔描述,boolean類型經(jīng)過(guò)編譯之后采用int來(lái)定義(所以此時(shí)boolean占4字節(jié),32bits),但如果是boolean數(shù)組則占1字節(jié)(8 bits)。詳見下圖紅色標(biāo)注:

java數(shù)據(jù)類型有哪些7

  7. 關(guān)于void

  實(shí)際上,java中還有另外一種基本類型 void,它也有對(duì)應(yīng)的包裝類 java.lang.Void。但我們無(wú)法對(duì)它們直接進(jìn)行操作,所以一般不把它們當(dāng)做基本類型對(duì)待。

  8. 包裝類型

  雖然Java是面向?qū)ο蟮恼Z(yǔ)言,但為了方便我們開發(fā),在Java中繼續(xù)沿用了C語(yǔ)言的基本數(shù)據(jù)類型。我們?cè)谶M(jìn)行常規(guī)的數(shù)據(jù)計(jì)算時(shí),可以直接使用基本類型。但因?yàn)榛緮?shù)據(jù)類型不具備面向?qū)ο蟮男袨樘卣?,不能通過(guò)方法的形式進(jìn)行調(diào)用,且基本類型也不能存入到Java的集合中。所以后來(lái)Java提供了與基本類型對(duì)應(yīng)的8個(gè)包裝類,使其具有了對(duì)象的屬性和方法?;绢愋团c其對(duì)應(yīng)的包裝類如下表所示:

java數(shù)據(jù)類型有哪些8

  9.1 概念

  所有的ASCII碼都可以用"\"加數(shù)字(一般是8進(jìn)制數(shù)字)來(lái)表示。Java中定義了一些字母前加"\"來(lái)表示特殊含義的字符,如\0、\t、\n等,這些都被稱為轉(zhuǎn)義字符(Escape Character),它們可以用來(lái)轉(zhuǎn)變某個(gè)字符原有的含義。

  9.2 案例

  大家要注意,我們?cè)陂_發(fā)時(shí)會(huì)用到兩種斜線,包括“/”和“\”。其中 “/” 斜線(slash)又稱為forward slash (前斜線),原本是一種標(biāo)點(diǎn)符號(hào)。“\”則是后斜線,在Java中作為轉(zhuǎn)義字符,常見的組合如下:

  ● \n:表示換行;

  ● \b:表示退格;

  ● \r:表示回車;

  ● \":表示雙引號(hào);

  ● \':表示單引號(hào);

  ● \\:表示反斜線;

  ● \':表示單引號(hào);

  ● \t:表示tab制表;

  ● \f:表示走紙換頁(yè);

  public class TypeDemo01 { public static void main(String[] args) { //常見轉(zhuǎn)義字符:\n 表示換行;\t表示制表位 //轉(zhuǎn)義字符:\t,可以空4格;\n,可以換下一行; System.out.println("hello\tworld"); System.out.println("hello\nworld"); //轉(zhuǎn)義字符,\"",輸出中文的“” System.out.println("你\"真棒\""); //轉(zhuǎn)義字符:默認(rèn)情況下,斜杠是不能單獨(dú)輸出使用的,需要加一個(gè)轉(zhuǎn)義字符才能輸出。 System.out.println("D:\\a\\b"); }}

  效果如下圖所示:

java數(shù)據(jù)類型有哪些9

  9.3 常用轉(zhuǎn)義字符

  以下是一些常用的轉(zhuǎn)義字符供大家參考使用。

java數(shù)據(jù)類型有哪些10

  以上就是關(guān)于java數(shù)據(jù)類型的介紹,剛?cè)腴T的朋友一定要認(rèn)真學(xué)習(xí)哦!!!

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請(qǐng)您保持通訊暢通,專屬學(xué)習(xí)老師24小時(shí)內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
python字符串截???

在Python中,字符串是一種非常常見的數(shù)據(jù)類型,它可以用來(lái)表示文本、數(shù)字、符號(hào)等內(nèi)容。在實(shí)際應(yīng)用中,我們經(jīng)常需要對(duì)字符串進(jìn)行截取,以便獲取...詳情>>

2023-11-02 17:56:27
Python socket C/S結(jié)構(gòu)的聊天室應(yīng)用實(shí)現(xiàn)?

隨著互聯(lián)網(wǎng)的發(fā)展,聊天室應(yīng)用成為人們?nèi)粘I钪惺殖R姷囊环N社交方式。Python語(yǔ)言的Socket模塊是實(shí)現(xiàn)網(wǎng)絡(luò)通信的重要工具,可以輕松地實(shí)現(xiàn)C/...詳情>>

2023-11-02 17:53:38
用while求1到100的奇數(shù)和?

在計(jì)算機(jī)編程中,循環(huán)語(yǔ)句是非常重要的一部分。而while語(yǔ)句是其中最基本也是最常用的一種。它的作用是在滿足一定條件的情況下,重復(fù)執(zhí)行一段代...詳情>>

2023-11-02 17:50:57
python創(chuàng)建一個(gè)集合?

在Python中,集合是一種無(wú)序且不重復(fù)的數(shù)據(jù)類型,可以用于存儲(chǔ)一組元素。創(chuàng)建一個(gè)集合非常簡(jiǎn)單,只需要使用大括號(hào){}或者set()函數(shù)即可。使用大...詳情>>

2023-11-02 17:34:02
linux改文件屬主命令?

Linux文件相關(guān)命令1、命令一:cat cat命令應(yīng)該是在Linux中查看文件內(nèi)容最常見的命令了。使用cat命令會(huì)打印指定文件的所有內(nèi)容到標(biāo)準(zhǔn)輸出上,比...詳情>>

2023-10-31 19:58:15