java的位元組
⑴ java 在內存中占幾個位元組
不同的數據類型占的內存大小不同 比如int 是四個位元組 char是一個位元組 等等
⑵ JAVA中byte類型的介紹。 謝謝
Java也提供了一個byte數據類型,並且是基本類型。java byte是做為最小的數字來處理的,因此它的值域被定義為-128~127,也就是signed byte。
byte,即位元組,由8位的二進制組成。在Java中,byte類型的數據是8位帶符號的二進制數。
在計算機中,8位帶符號二進制數的取值范圍是[-128, 127],所以在Java中,byte類型的取值范圍也是[-128, 127]。
運算規則:
####正數的最高位都是 0 ,正數的值就是二進製表示的值。 ####
####負數的最高位都是 1 ,負數的值是 取反後加一 然後加個負號得到得值。 ####
用8位的二進制來說明此規則:
比如:00000001。最高位是0 為正數 ,那麼表示的就是 十進制的 1。
再比如:10000001.最高位是1 為負數,值是多少?取反得到 01111110 加1 得到 01111111 ,那麼值為 -127
理解此運算規則我們正式開始說byte,byte正好是8位的二進制數。short是16位 int是32位 long是64位。
上述代碼,最後會輸出-56。原因如下:
200的二進製表示是111001000,由於int是32位的二進制,所以在計算機中,實際上是00000000000??111001000,當int轉成byte的時候,那麼計算機會只保留最後8位,即11001000。
然後11001000的最高位是1,那麼表示是一個負數,而負數在計算機中都是以補碼的形式保存的,所以我們計算11001000的原碼為00111000,即56,所以11001000表示的是-56,所以最後test的值為-56。
(2)java的位元組擴展閱讀
Java編譯程序生成位元組碼(byte-code),而不是通常的機器碼。Java位元組碼提供對體系結構中性的目標文件格式,代碼設計成可有效地傳送程序到多個平台。Java程序可以在任何實現了Java解釋程序和運行系統(run-time system)的系統上運行。
在一個解釋性的環境中,程序開發的標准「鏈接」階段大大消失了。如果說Java還有一個鏈接階段,它只是把新類裝進環境的過程,它是增量式的、輕量級的過程。
因此,Java支持快速原型和容易試驗,它將導致快速程序開發。這是一個與傳統的、耗時的「編譯、鏈接和測試」形成鮮明對比的精巧的開發過程。
⑶ java一個漢字佔3個byte嗎
以utf8為例,utf8是一個變長編碼標准,可以以1~4個位元組表示一個字元,而中文佔3個位元組,ascII字元佔1個位元組。
⑷ Java語言中一個字元占幾個位元組
Java規定了字元的內碼要用UTF-16編碼,一個字元是2個位元組。外碼字元所佔位元組取決於具體編碼。字元和位元組是不一樣的。
外碼編碼不同,字元和位元組的換算不同,幾種常見的編碼換算如下:
ASCII編碼是單位元組編碼,只有英文字元,不能編碼漢字。
GBK編碼1個英文字元是1個位元組,一個漢字是是2個位元組。
UTF-8編碼1個英文字元是1個位元組,一個漢字是3個位元組。
Unicode編碼1個英文字元是2個位元組,一個漢字是2個位元組。
(4)java的位元組擴展閱讀:
漢字編碼的困難點 漢字進入計算機,有許多困難,其原因主要有三點:
①數量龐大:一般認為,漢字總數已超過6萬個(包括簡化字)。雖有研究者主張規定3000多或4000字作為當代通用漢字,但仍比處理由二三十個字母組成的拼音文字要困難得多。
②字形復雜:有古體今體,繁體簡體,正體異體;而且筆畫相差懸殊,少的一筆,多的達36筆,簡化後平均為9.8筆。
③存在大量一音多字和一字多音的現象:漢語音節416個,分聲調後為1295個(根據《現代漢語詞典》統計,輕聲39個未計)。以1萬個漢字計算,每個不帶調的音節平均超過24個漢字,每個帶調音節平均超過7.7個漢字。有的同音同調字多達66個。一字多音現象也很普遍。
⑸ java中一個字元是幾個位元組字元和位元組是同等的嗎
字元
不等於
位元組。
字元(char)是
Java
中的一種基本數據類型,由
2
個位元組組成,范圍從
0
開始,到
2^16-1。
位元組是一種數據量的單位,一個位元組等於
8
位。所有的數據所佔空間都可以用位元組數來衡量。例如一個字元占
2
個位元組,一個
int
占
4
個位元組,一個
double
占
8
個位元組
等等。
⑹ java中的變數各佔得位元組數
boolen:1個位元組
int:4個位元組
float:4個位元組
double:8個位元組
char:2個位元組
byte:1個位元組
short:2個位元組
long:8個位元組
(6)java的位元組擴展閱讀
Java8大基本數據類型
1,四種整數類型(byte、short、int、long):
byte:8 位,用於表示最小數據單位,如文件中數據,-128~127
short:16 位,很少用,-32768 ~ 32767
int:32 位、最常用,-2^31-1~2^31 (21 億)
2,兩種浮點數類型(float、double):
float:32 位,後綴 F 或 f,1 位符號位,8 位指數,23 位有效尾數。
double:64 位,最常用,後綴 D 或 d,1 位符號位,11 位指數,52 位有效尾。
3,一種字元類型(char):
char:16 位,是整數類型,用單引號括起來的 1 個字元(可以是一個中文字元),使用 Unicode 碼代表字元,0~2^16-1(65535)。
4,一種布爾類型(boolean):true真和false假
參考鏈接:網路JAVA
⑺ JAVA中byte類型的介紹。 謝謝
1、在Java中,byte類型的數據是8位帶符號的二進制數。最高位表示正負,0為正,1為負。
2、java byte是做為最小的數字來處理的,因此它的值域被定義為-128~127,也就是signed byte。
3、正數的最高位都是 0 ,正數的值就是二進製表示的值。
4、負數的最高位都是 1 ,負數的值是 取反後加一 然後加個負號得到的值。
(7)java的位元組擴展閱讀
1、java基本數據類型
JAVA中一共有八種基本數據類型,分別是byte、short、int、long、float、double、char、boolean。
2、java各數據類型取值范圍
byte,整型,1個位元組,范圍:-2的7次方 ~ 2的7次方-1;
short,整型,2個位元組,范圍:-2的15次方 ~ 2的15次方-1;
int,整型,4個位元組,范圍:-2的31次方 ~ 2的31次方-1;
long,整型,8個位元組,范圍:-2的63次方 ~ 2的63次方-1;
float,浮點型,4個位元組,范圍:3.402823e+38 ~ 1.401298e-45;
double,浮點型,8個位元組,范圍:1.797693e+308~ 4.9000000e-324;
char,文本型,2個位元組,范圍:0~2的16次方-1;
boolean,布爾型,1個位元組,范圍:true/false;
參考資料
網路-java字元型
⑻ java中byte[]是怎麼意思
byte即位元組的意思,是java中的基本類型,用心申明位元組型的變數。
通常在讀取非文本文件時(如圖片,聲音,可執行文件)需要用位元組數組來保存文件的內容。
在下載文件時,也是用byte數組作臨時的緩沖器接收文件內容。所以說byte在文件操作時是必不可少的。不管是對文件寫入還是讀取都要用到。
(8)java的位元組擴展閱讀:
Java具有簡單性、面向對象、分布式、健壯性、安全性、平台獨立與可移植性、多線程、動態性等特點。Java可以編寫桌面應用程序、Web應用程序、分布式系統和嵌入式系統應用程序等。
Java語言是一門隨時代快速發展的計算機語言程序,其深刻展示了程序編寫的精髓,加上其簡明嚴謹的結構及簡潔的語法編寫為其將來的發展及維護提供了保障。
由於提供了網路應用的支持和多媒體的存取,會推動Internet和企業網路的Web的應用。
⑼ java中byte是什麼類型
java中byte是位元組型。
java byte作為最小的數字來處理的,因此它的值域被定義為-128~127,byte的用作計數的時間遠少於用表達基本內存單元的時間。
比如從stream里讀入一個雙位元組字元,我們先收到2個byte。為了把byte轉換成適當的形式,需要對byte值做一些比較,比如判斷字元集要比較其是否在某個編碼范圍內。
(9)java的位元組擴展閱讀:
Java看起來設計得很像C++,但是為了使語言小和容易熟悉,設計者們把C++語言中許多可用的特徵去掉了,這些特徵是一般程序員很少使用的。
例如,Java不支持go to語句,代之以提供break和continue語句以及異常處理。Java還剔除了C++的操作符過載(overload)和多繼承特徵,並且不使用主文件,免去了預處理程序。
⑽ JAVA基本數據類型所佔位元組數是多少
在Java中一共有8種基本數據類型,其中有4種整型,2種浮點類型,1種用於表示Unicode編碼的字元單元的字元類型和1種用於表示真值的boolean類型。
一個位元組等於8個bit,java是跟平台無關的。
(1)整型:
其中byte、short、int、long都是表示整數的,只不過他們的取值范圍不一樣
byte的取值范圍為-128~127,佔用1個位元組(-2的7次方到2的7次方-1)
short的取值范圍為-32768~32767,佔用2個位元組(-2的15次方到2的15次方-1)
int的取值范圍為(-2147483648~2147483647),佔用4個位元組(-2的31次方到2的31次方-1)
long的取值范圍為(-9223372036854774808~9223372036854774807),佔用8個位元組(-2的63次方到2的63次方-1)。
可以看到byte和short的取值范圍比較小,而long的取值范圍太大,佔用的空間多,基本上int可以滿足我們的日常的計算了,而且int也是使用的最多的整型類型了。
在通常情況下,如果JAVA中出現了一個整數數字比如35,那麼這個數字就是int型的,如果我們希望它是byte型的,可以在數據後加上大寫的 B:35B,表示它是byte型的。
同樣的35S表示short型,35L表示long型的,表示int我們可以什麼都不用加,但是如果要表示long型的,就一定要在數據後面加「L」。
(2)浮點型:
float和double是表示浮點型的數據類型,他們之間的區別在於他們的精確度不同
float 3.402823e+38 ~ 1.401298e-45(e+38表示是乘以10的38次方,同樣,e-45表示乘以10的負45次方)佔用4個位元組
double 1.797693e+308~ 4.9000000e-324 佔用8個位元組
double型比float型存儲范圍更大,精度更高,所以通常的浮點型的數據在不聲明的情況下都是double型的,如果要表示一個數據是float型的,可以在數據後面加上「F」。
浮點型的數據是不能完全精確的,所以有的時候在計算的時候可能會在小數點最後幾位出現浮動,這是正常的。
(3)boolean型(布爾型):
這個類型只有兩個值,true和false(真和非真)
boolean t = true;
boolean f = false;
(4)char型(文本型) :
用於存放字元的數據類型,佔用2個位元組,採用unicode編碼,它的前128位元組編碼與ASCII兼容
字元的存儲范圍在u0000~uFFFF,在定義字元型的數據時候要注意加' ',比如 '1'表示字元'1'而不是數值1,
char c = ' 1 ';
我們試著輸出c看看,System.out.println(c);結果就是1,而如果我們這樣輸出呢System.out.println(c+0);
結果卻變成了49。
(10)java的位元組擴展閱讀
基本類型之間的轉換
將一種類型的值賦值給另一種類型是很常見的。在Java中,boolean 類型與其他7中類型的數據都不能進行轉換,這一點很明確。
但對於其他7種數據類型,它們之間都可以進行轉換,只是可能會存在精度損失或其他一些變化。
轉換分為自動轉換和強制轉換:
自動轉換(隱式):無需任何操作。
強制轉換(顯式):需使用轉換操作符(type)。
將6種數據類型按下面順序排列一下:
double > float > long > int > short > byte
如果從小轉換到大,那麼可以直接轉換,而從大到小,或char 和其他6種數據類型轉換,則必須使用強制轉換。