Java 基礎(chǔ)--Java中的基本數(shù)據(jù)類型

Java 中的基本數(shù)據(jù)類型

原文地址:http://www.5ixiudou.com/portal/detailInfo/1000000005/201

前言:大家可能聽說過,Java是面向?qū)ο蟮恼Z言,Java中的大多數(shù)數(shù)據(jù)都是對象,但是嘞,哎,就是不包含本節(jié)課要講的這幾種基本數(shù)據(jù)類型。Java中有幾種基本數(shù)據(jù)類型嘞,哎,8種。這8種基本數(shù)據(jù)類型呢,有不同的用法,也包含各種類型之間的轉(zhuǎn)換。下面,一起來學(xué)習(xí)下吧。

一.8種基本數(shù)據(jù)類型的介紹

1. 8種基本數(shù)據(jù)類型如下:


這里說一下,啥叫浮點(diǎn)數(shù),浮點(diǎn)數(shù),就是小數(shù)。浮點(diǎn)類型,就是可以帶有小數(shù)點(diǎn)的類型,就是小數(shù),比如 1.2 、2.3這樣的。

2. 8種基本數(shù)據(jù)類型所占的空間如下:


二. 常見基本數(shù)據(jù)類型的詳細(xì)介紹

1. int 類型

int 類型嘞,是java 里邊最常見的整數(shù)類型。一共有四個字節(jié),32位,數(shù)值范圍是 -2^31~2^31-1 。另外說一下哈,java 里邊如果直接給出一個整數(shù)類型的數(shù)值,那么這個數(shù)值默認(rèn)就是 int 類型的,比如說,“小明啊,給你一個 100”,這個 100 ,就是 int 類型的。當(dāng)然啦,像這樣的直接的量,不能超出 int 類型的數(shù)值范圍啦,要不又要編譯報錯了(又要打你屁屁了)。

2. long 類型

long類型啊,也是一種整數(shù)類型,和 int 不同的是,long占用的位數(shù)更多,64位,數(shù)值范圍 是 -2^63~2^63-1。long的范圍更大哦。如果你要用的數(shù)據(jù)更大,已經(jīng)超過了int 的范圍了,腫么辦,別怕,用long?。ú皇亲屇憷斯?,沒讓你過河)。那我要直接用long類型的數(shù)據(jù)怎么辦,123?no,no,前邊說了,直接的整數(shù)都是 int 類型的,所以,這里的123是int 類型的,那我想要一個long類型的,咋整,告訴你哈,在這個數(shù)值后邊 加上一個 L 或者l(小寫的L)就行了,123L或者 123l,建議用大寫的哈,小寫的容易分不清?。ㄓ逕o淚臉,被坑過的可能知道)。

3. double 類型

double 類型是一個浮點(diǎn)類型哈,注意 這個浮點(diǎn)類型可以位數(shù)多的那一個哈,位數(shù)少的是 float。double 叫雙精度浮點(diǎn)數(shù),64位。在 java 中,如果直接給出一個 小數(shù),那么默認(rèn)就是 double 類型的(這也是先說 double 類型的原因啦)。比如 2.123,這個數(shù)值,就是double類型的。

4. float類型

float類型也是一個浮點(diǎn)數(shù),但是是單精度的,位數(shù)是double的一半(這也是為啥叫單精度的原因),32位。如果想直接獲取一個單精度的數(shù)值怎么辦,可以這樣 , 2.123f,這樣就可以直接表示一個單精度的小數(shù)了。

5. char類型

char類型,是字符類型,可以存放啥呢,存放'a' 、'b' 之類的字符。注意,java中的字符是用單引號擴(kuò)起來的哈,不要使用雙引號。char 是 16位的。悄悄的說一下,其實(shí)啊,char類型存儲的是 無符號的整數(shù),這些整數(shù)對應(yīng)著不同的字符。這一點(diǎn),現(xiàn)在能理解就理解,不能理解就先留著,以后用的多了,自己就通了。

說一下char類型的賦值哈,可以有一下幾種:

char a = 'A'; //最常見的賦值方式

char b = '65';? //存放的是正的整數(shù),在 16位之內(nèi),也是可以的

char c = '\u0041'; // 這是 unicode形式

6. boolean 類型

這個類型,叫 布爾類型。只有兩個值,true 或者 false??梢杂脕磉M(jìn)行判斷。在寫代碼的過程中,經(jīng)常被用來當(dāng)開關(guān),用在判斷邏輯中,控制不同的邏輯走向。

三. 基本數(shù)據(jù)類型之間的轉(zhuǎn)換

1. 類型的自動轉(zhuǎn)換

咱們知道哈,小的東西可以放到大的東西中,這是一個很簡單的規(guī)律哈。java中也是這樣,小類型的數(shù)據(jù)可以放到大類型的數(shù)據(jù)類型中。這樣做的話,不會損失什么,可以直接進(jìn)行的。前邊也講了每個類型占有多少位了,這個位的多少就標(biāo)志著數(shù)據(jù)類型的大小,小的可以直接轉(zhuǎn)換成大的,因?yàn)橹苯涌梢苑胚M(jìn)去嘛,哈哈。

舉個例子哈,

int a = 100 ; long b = a;? // 這樣是正確的

float c = 2.123f ; double d = c ; //這樣也沒毛病

char e = 'a' ; int f = e;? //知道為啥可以不,因?yàn)?char 存放的 是 16位的正整數(shù),而 int 是32位的,所以可以存放哦

下面放一個轉(zhuǎn)換圖哈:


2. 類型的強(qiáng)制轉(zhuǎn)換

啥叫強(qiáng)制類型轉(zhuǎn)換啊,就是 高位數(shù)的 轉(zhuǎn)換成 低位數(shù)的。這樣做的話,就相當(dāng)于把大的東西放到小的容器里邊,怎么放進(jìn)去呢,丟棄一部分唄。所以啊,強(qiáng)制類型轉(zhuǎn)換,有可能造成精度的損失哦。那怎么強(qiáng)制類型轉(zhuǎn)換呢,直接在賦值的時候,指定類型就行了。

int a = (int)4294967295L;? //a = 0 ,這個叫溢出哈,超過了,直接就木有了

float b = (float)2.1231231231231231231;? //b = 2.1231231

就是這樣的。

3. 運(yùn)算時的自動轉(zhuǎn)換

在運(yùn)算時啊,java為了保證精度,將預(yù)算結(jié)果,自動轉(zhuǎn)換成了運(yùn)算雙方位數(shù)多的那個數(shù)據(jù)的數(shù)據(jù)類型。比如這樣:

2 + 3.0? ,大家猜一猜 結(jié)果是什么類型,對,double 類型的,因?yàn)?3.0 是 double類型的,所以結(jié)果 是 5.0 ,所以,這么寫是正確的:double a = 2 + 3.0;? 這么寫是錯誤的:int a = 2+3.0; 要想最終獲取 int 類型的數(shù)據(jù),就得強(qiáng)制轉(zhuǎn)換了呦,int a = (int)2+3.0;

其他形式的,大家可以自己試試哈。

更多內(nèi)容,大家可以關(guān)注我的個人網(wǎng)站 www.5ixiudou.com

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

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

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