㈠ java中char到底是多少位元組
java中的char佔2個位元組
1:「位元組」是byte,「位」是bit ;
2: 1 byte = 8 bit ;
char 在java中是2個位元組。java採用unicode,2個位元組(16位)來表示一個字元。
代碼如下:
publicclassTest{
publicstaticvoidmain(String[]args){
Stringstr="中";
charx='中';
byte[]bytes=null;
byte[]bytes1=null;
try{
bytes=str.getBytes("utf-8");
bytes1=charToByte(x);
}catch(UnsupportedEncodingExceptione){
//TODOAuto-generatedcatchblock
e.printStackTrace();
}
System.out.println("bytes大小:"+bytes.length);
System.out.println("bytes1大小:"+bytes1.length);
}
publicstaticbyte[]charToByte(charc){
byte[]b=newbyte[2];
b[0]=(byte)((c&0xFF00)>>8);
b[1]=(byte)(c&0xFF);
returnb;
}
}
結果如下:
bytes 大小:3
bytes1大小:2
㈡ java中char與short有什麼區別
在Java中,char是16bit長的無符號整數,因此范圍是:0~65535,而short則是16bit長的帶符號整數,范圍是-32768~32767。 所以,兩者雖然字長相同,但意義卻不一樣(表示範圍並不完全重合或包含),因此不管是char轉換成short,還是short轉換成char,都屬於數值的「窄化轉換」(Narrowing Primitive Conversion)。 窄化轉化都可能「丟失精度」,因此必須強制轉換。雖然,這里的「丟失精度」跟從int到short的丟失精度給人的感覺似乎不一樣,但仔細想想也沒有什麼區別,一方面,char有16個bit表示數值,而short用於表示數值大小的只有15個bit,因此,從char到short會「丟失數值精度」,而另一方面,short有1個bit表示數值的符號,而char卻根本沒有這么個符號位(所有的bit都用來表示數值大小了),所以從short到char也可能「丟失精度」,只是這里丟失的是有關正負的「精確程度」。
㈢ Java語言中char和varchar有何區別
1、最大長度
char最大長度是255字元,varchar最大長度是65535個位元組。
2、定長
char是定長的,不足的部分用隱藏空格填充,varchar是不定長的。
3、空間使用
char會浪費空間,varchar會更加節省空間。
4、查找效率
char查找效率會很高,varchar查找效率會更低。
5、尾部空格
char插入時可省略,vaechar插入時不會省略,查找時省略。
㈣ Java中char到底是多少位元組
java中的char佔2個位元組
1:「位元組」是byte,「位」是bit ;
2: 1 byte = 8 bit ;
char 在java中是2個位元組。java採用unicode,2個位元組(16位)來表示一個字元。
代碼如下:
public class Test {
public static void main(String[] args) {
String str= "中";
char x ='中';
byte[] bytes=null;
byte[] bytes1=null;
try {
bytes = str.getBytes("utf-8");
bytes1 = charToByte(x);
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println("bytes 大小:"+bytes.length);
System.out.println("bytes1大小:"+bytes1.length);
}
public static byte[] charToByte(char c) {
byte[] b = new byte[2];
b[0] = (byte) ((c & 0xFF00) >> 8);
b[1] = (byte) (c & 0xFF);
return b;
}
}
結果如下:
bytes 大小:3
bytes1大小:2
㈤ java char的長度
char類型的是占兩個位元組;
一個位元組是8位(bit),所以也可以表示為16bit。
可以通過以下方式定義一個char類型:
char c = 'a'; 實際佔一個位元組。
char d = '高';實際占兩個位元組。
擴展:計算一個字元串的位元組長度。
如:」我是gdb「占的位元組數就是2+2+1+1+1 =7個位元組。