『壹』 java中的變數各佔得位元組數
boolen:1個位元組
int:4個位元組
float:4個位元組
double:8個位元組
char:2個位元組
byte:1個位元組
short:2個位元組
long:8個位元組
(1)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 IO輸入輸出流中的各種位元組流,字元流類,我需要都記住嗎,還是只要記住幾個常用的呢
記住幾個常用的就行了, 一般也就是用幾個常用的。
位元組流
位元組流主要是操作byte類型數據,也byte數組為准,主要操作類就是
·位元組輸出流:OutputStream
·位元組輸入流:InputStream
字元流
在程序中一個字元等於2個位元組,那麼java提供了Reader、Writer兩個專門操作字元流的類。
·字元輸出流:Writer
·字元輸入流:Reader
位元組-字元轉換流
OutputStreamWriter和InputStreamReader
在整個IO包中,實際上就是位元組流和字元流,但是除了這兩個流之外,還存在一組位元組流-字元流的轉換類。
[java] view plainprint?
•OutputStreamWriter:是Writer的子類,將輸出的字元流轉換為位元組流。即:將一個位元組流的輸出對象變為位元組流的輸出對象
•InputStreamReader:是Reader的子類,將輸入的位元組流變為字元流,即:將一個位元組流的輸入對象變為字元流的輸入對象。
『叄』 java 操作字元串時,怎麼獲得整個字元串4位元組長度
位元組么??一個漢字2個位元組啊,就是這個特殊情況吧
privateintnative2ascii(Stringnativecode)
{
char[]natives=nativecode.toCharArray();
intlen=0;
for(inti=0;i<natives.length;i++)
{
intcode=String.valueOf(natives[i]).codePointAt(0);
if(code>127)
{
StringcharAscii=Integer.toHexString(code);
charAscii="0000".substring(charAscii.length(),4)+charAscii;
len+=2;
}
else
{
len++;
}
}
returnlen;
}
『肆』 Java字元流和位元組流對文件操作的區別
Java字元流是處理字元(Char)對象用的,位元組流是處理位元組(Byte)對象用的。處理的目標對象不同,處理方法也就不一樣了。
字元流處理的基本單位是字元(Java中的字元是16位的),輸入流以Reader為基礎,輸出流以Writer為基礎;
位元組流的基本單位是位元組(Java中的位元組是8位的),輸入流以 InputStream為基礎,輸出流以 OutputStream為基礎;
字元流在輸入時可以按字元讀取,也可以按行讀取,會去掉回車換行,常用於讀取字元數據;
而位元組流按位元組讀取,不作任何處理,常用於讀取二進制數據。
Java中的字元在內部都是使用Unicode進行表示的,因此,要正確讀取字元數據,需要知道字元的編碼字元集,字元流提供編碼字元集的指定,如果不指定使用系統默認的方式對字元數據進行編碼轉換,這個編碼字元集不正確,會造成讀進來的地字元出現亂碼。
位元組流雖然是讀取二進制數據用的,但也可以讀取字元文件,按位元組進行處理,讀進來之後可以根據編碼字元集進行轉換,也可以變成字元串。
『伍』 java里怎麼對Byte進行位操作
//byte buf[]=為數組 for(byte b:buf){ System.out.print(b&15);//列印每個節的低四位 System.out.println(b>>>4);//列印每個節的高四位 }