Java八種基本類型(byte、short、int、long、浮點(diǎn)數(shù)、char、boolean、基本類型轉(zhuǎn)換)

(1)常用基本類型匯總

八種基本類型匯總

八種基本類型的字節(jié)空間和應(yīng)用場(chǎng)景

(2)byte類型

基本介紹:

byte數(shù)據(jù)類型是8位、有符號(hào)的,以二進(jìn)制補(bǔ)碼表示的整數(shù);

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

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

默認(rèn)值是0;

例如:byte bt = 120;

(3)short類型

基本介紹:

short數(shù)據(jù)類型是16位、有符號(hào)的以二進(jìn)制補(bǔ)碼表示的整數(shù)

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

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

默認(rèn)值是0;

例如: short st = 32700;

(4)Int類型

基本介紹:

Int是最常用的整數(shù)類型。一個(gè)int類型的變量占用4個(gè)字節(jié)(32位),最大表示范圍為:-2^31~2^31-1,即-2147483648~2147483647。

默認(rèn)值是0;

整型變量的注意事項(xiàng):

整數(shù)的直接量的類型默認(rèn)為int類型,如果直接寫出的整數(shù)超過(guò)了int的表達(dá)范圍,編譯報(bào)錯(cuò);

int one = 80000000000000000000000;//超出范圍,編譯錯(cuò)誤

除了通常的十進(jìn)制書寫形式,整數(shù)的直接量也經(jīng)常寫16進(jìn)制的相識(shí)(0X或0x開(kāi)頭)或者8進(jìn)制形式(O開(kāi)頭);

int two=529; //10進(jìn)制

int three=0x347a; //16進(jìn)制

int four=030; //8進(jìn)制

兩個(gè)整數(shù)相除,會(huì)舍棄小數(shù)的部分(不是四舍五入),結(jié)果也是整數(shù);

int data1 = 49;

int data2 = 79;

int dataT = data1/data2;//dataT結(jié)果為0,因?yàn)?9除以79的整數(shù)部分為0

整數(shù)運(yùn)算的溢出:兩個(gè)整數(shù)進(jìn)行運(yùn)算時(shí),其結(jié)果可能會(huì)超過(guò)整數(shù)的范圍而溢出。正數(shù)過(guò)大而產(chǎn)生的溢出,結(jié)果為負(fù)值;負(fù)整數(shù)過(guò)大而產(chǎn)生的溢出,結(jié)果為正數(shù)

int number=2147483647;

int score=-2147483648;

number= number+1;//結(jié)果為-2147483648

score = score -1; //結(jié)果為2147483647

(5)Long類型

基本介紹:

一般如果int類型的范圍不夠,可以使用long類型,一個(gè)long類型的變量占用8個(gè)字節(jié)(64位),最大表示范圍為:-2^63~2^63-1,即-9223372036854775808~223372036854775807

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

注意:如果用long類型,則需要以L或l結(jié)尾

long gg = 44;//錯(cuò)誤

long gg = 44L;//正確

long類型變量的典型應(yīng)用場(chǎng)景:

超過(guò)int類型范圍的數(shù)據(jù),可以用long類型;

比如:long yy = 3147483647L;

(6)浮點(diǎn)數(shù)類型

基本介紹:

浮點(diǎn)數(shù),就是小數(shù),包括float和double;

float默認(rèn)值是0.0f;

double默認(rèn)值是0.0d;

double類型的精度值是float類型的兩倍,一般場(chǎng)合使用double類型。

例如:double tt = 4.7;

浮點(diǎn)數(shù)的寫法:

通常寫法,如:3.68、.3

科學(xué)計(jì)數(shù)法,如:2.17E2

默認(rèn)的浮點(diǎn)為double類型,如果需要表示float類型的直接量,需要加”f”或”F”后綴。例如:

float ff=6.29; //編譯錯(cuò)誤,應(yīng)該寫成6.29f

(7)char類型

基本介紹:

char類型事實(shí)上是一個(gè)16位無(wú)符號(hào)整數(shù),這個(gè)值是對(duì)應(yīng)字符的編碼;

Java字符串類型采用Unicode字符集編碼。Unicode是世界通用的長(zhǎng)度字符集,所有的字符串都是16位;

Char類型變量賦值,可以采用如下三種形式:

字符:形如’A’,變量中實(shí)際存儲(chǔ)的是該字符的Unicode編碼(無(wú)符號(hào)整數(shù)值),一個(gè)char型變量只能存儲(chǔ)一個(gè)字符。

整型數(shù)據(jù):范圍在0~65535之間的整數(shù),變量中實(shí)際存儲(chǔ)的即該整數(shù)值,但表示的是該整數(shù)值所對(duì)應(yīng)的Unicode字符。

Unicode形式:形如’\u0041’,Unicode字符的16進(jìn)制形式。

例如:char cr1= 705;

char cr2=’N’;

char cr3=’\u0031’;

特殊的字符:轉(zhuǎn)義字符

(8)boolean類型

基本介紹:

boolean類型適用于邏輯運(yùn)算,表示某個(gè)條件是否成立。一般用于程序的流程控制;

boolean類型只允許取值true或false,true表示條件成立而false表示條件不成立。

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

例如:int a = 9;

int b = 10;

Boolean isBig = b>a;//輸出為true

(9)類型之間的轉(zhuǎn)換

基本介紹:

不同的基本類型直接可以相互轉(zhuǎn)換

自動(dòng)類型轉(zhuǎn)換(隱式類型轉(zhuǎn)換):從小類型到大類型可以自動(dòng)完成。類型的大小關(guān)系如下:

強(qiáng)制轉(zhuǎn)換:從大類型到小類型需要強(qiáng)制轉(zhuǎn)換符,但這樣轉(zhuǎn)換有可能會(huì)造成精度損失或溢出。

int onef=654;

int twof=957;

long threef= onef + twof; //自動(dòng)將int轉(zhuǎn)換為long

long numberf=9967L;

int af=(int) numberf; //需要強(qiáng)制轉(zhuǎn)換符,由于9967在int范圍內(nèi),沒(méi)有產(chǎn)生溢出

long scoref=5147483647L;

int bf=(int) scoref; //會(huì)產(chǎn)生溢出,結(jié)果為0

double ttf=7.55684954444444444;

float rrf=(float) ttf;//會(huì)造成精度的損失,結(jié)果為7.5568495

幾種特殊轉(zhuǎn)換:

多種基本類型參與的表達(dá)式運(yùn)算中,運(yùn)算結(jié)果會(huì)自動(dòng)的向較大的類型進(jìn)行轉(zhuǎn)換;比如:

int a = 4;

int b = 10;

double c = a/b;//結(jié)果為0.4,自動(dòng)轉(zhuǎn)換為double類型

byte、char、short三種類型實(shí)際存儲(chǔ)的數(shù)據(jù)都是整數(shù),在實(shí)際使用中遵循如下規(guī)則:

Int直接量可以直接賦值給byte、char和short,只要不超過(guò)其表示范圍。

byte、char、short三種類型參與運(yùn)算時(shí),先一律轉(zhuǎn)換成int類型再進(jìn)行運(yùn)算。

(10)代碼實(shí)例

package com.example.var;

public class DataType {

public static void main(String[] args) {

byte bt = 120;

System.out.println(bt);

short st = 32700;

System.out.println(st);

int two=529; //10進(jìn)制

int three=0x347a; //16進(jìn)制

int four=030; //8進(jìn)制

System.out.println(two);

System.out.println(three);

System.out.println(four);

int data1 = 49;

int data2 = 79;

int dataT = data1/data2;

System.out.println(dataT);

int number=2147483647;

int score=-2147483648;

number= number+1;//結(jié)果為-2147483648

score = score -1; //結(jié)果為2147483647

System.out.println(number);

System.out.println(score);

long gg= 44L;//正確

long yy = 3147483647L;

System.out.println(yy);

double tt = 4.7;

System.out.println(tt);

char cr1= 705;

char cr2='N';

char cr3='\u0031';

System.out.println(cr3);

int a = 9;

int b = 10;

Boolean isBig = b>a;

System.out.println(isBig);

int onef=654;

int twof=957;

long threef= onef + twof; //自動(dòng)將int轉(zhuǎn)換為long

long numberf=9967L;

int af=(int) numberf; //需要強(qiáng)制轉(zhuǎn)換符,由于9967在int范圍內(nèi),沒(méi)有產(chǎn)生溢出

long scoref = 5147483647L;

int bf=(int) scoref; //會(huì)產(chǎn)生溢出,結(jié)果為0

System.out.println(scoref);

double ttf=7.55684954444444444;

float rrf=(float) ttf; //會(huì)造成精度的損失,結(jié)果為7.5568495

System.out.println(rrf);

}

}


最后編輯于
?著作權(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),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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