聯系我們 - 廣告服務 - 聯系電話:
您的當前位置: > 關注 > > 正文

當前關注:Java的類型是什么?byte字節型占一個字節(8bit)的數據范圍

來源:CSDN 時間:2023-02-07 10:14:18

Java是強數據類型,在聲明的時候必須注明所使用的數據類型是什么,下面,我們來了解一下


(相關資料圖)

Java的類型分為基本類型(或者成為內置的的數據類型)和引用類型,其中,基本類型主要有8+1種,分別是:6種數字類型和一個boolean類型,一個字符類型。一個null。請看下面

byte

字節型

占一個字節(8bit),數據范圍是-128~+127

1個字母(比如 A B C D)等于一個字節,又等于8bit

在我們編碼的時候,byte只能賦值上述的數據范圍,一旦超出,輸出會特別的有意思,哈哈哈。比如

byte b = (byte)128;

System.out.println(b);

//輸出=> -128

byte b = (byte)129;

System.out.println(b);

//輸出=> -127

byte b = (byte)131;

System.out.println(b);

//輸出=> -125

byte b = (byte)-129;

System.out.println(b);

//輸出=> 127

char

字符型

占2個字節,范圍是0~65535

char是一個16位二進制的Unicode字符,在java中,用char來表示一個字符。

其中char可以用來表示漢字,而byte則不可以。

漢字占多少字節,(經各種搜索資料了解)漢字字節取決于編碼,在GBK中,除了ASCII編碼外,占2個字節,而UTF-16`通常`占2個字節;而在UTF-8中,為了進行兼容ASCII編碼,設計成了1~4個字節,大多數漢字占3個字節

又由于char是無符號類型的,在表示正整數和負數 的情況時 比如

char c= (char)-1;

System.out.println(c);

在Java8中輸出的是 口(這是一個特殊字符)

然而在正整數下,

char c = (char) 10;

System.out.println(c);

則是什么都沒有輸出,在debug模式下 可以看到c為\n 10,僅此。

在漢字模式下比如

char c = "中";

System.out.println(c);

會直接輸出 中

double

雙精度64位

`浮點數默認為double類型`,且默認值是`0.0d`

double不能表示精確的數值

float

單精度 32位

float 在存儲大型浮點數組的時候節省空間

默認值是`0.0f`

我們來對double和float做個探討,在double和float定義的時候,我們千萬要記得加末尾的`d`或者是`f`,否則會超出我們的預想范圍哦

double t = 23.1d;

double t1 = 23.1;

System.out.println(t);

System.out.println(t1);

//因為沒有后綴類型的數值,默認是double

System.out.println(1/3);

System.out.println((1/3d));

System.out.println((1/3f));

//輸出

//0

//0.3333333333333333

//0.33333334

由上,可以看出其中的差異

還有一個陷阱等著,

System.out.println( 0.99999999f==1f);

System.out.println(0.9f==1f);

//輸出竟然是

//true

//false

請等待Java的數據類型系列二

責任編輯:

標簽:

相關推薦:

精彩放送:

新聞聚焦
Top 岛国精品在线