欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

java byte和char轉換

錢浩然2年前10瀏覽0評論

在Java編程中,byte和char是常見的數據類型。byte是8位有符號整數,范圍從-128到127。而char是16位無符號整數,范圍從0到65535。由于二者數據類型差異,在編程過程中,我們會有使用byte和char數據類型進行轉換的需求。

byte轉char

byte b = 121;
char c = (char) b;
System.out.println(c);

運行結果:y

在byte轉char的過程中,我們需要強制類型轉換。由于b是有符號整數,如果直接轉換無法得到正確結果。所以需要先將高位全部補0,再轉換成char。

char轉byte

char c = 'x';
byte b = (byte) c;
System.out.println(b);

運行結果:120

在char轉byte的過程中,我們同樣需要強制類型轉換。但是由于byte是有符號整數,而char是無符號整數,如果直接轉換會失去符號位。所以需要在轉換時保留符號位,通過減去128來實現。

除了上述基本類型轉換之外,在Java中還有String字符串和byte數組之間的轉換。我們可以先將String字符串轉換為byte數組,再將其轉換為char數組,最后再以String字符串形式輸出。

String s = "Hello World!";
byte[] b = s.getBytes();
char[] c = new char[b.length];
for (int i = 0; i< b.length; i++) {
c[i] = (char) (b[i] & 0xff);
}
String result = new String(c);
System.out.println(result);

運行結果:Hello World!

在以上代碼中,我們先將String字符串轉換為byte數組,這里的getBytes()方法會將String字符串按照默認的字符集(UTF-8)轉換為byte數組。然后我們遍歷byte數組,將每個元素通過位運算(&)轉換成16位的char類型,最后將char數組轉換為String字符串輸出。

在編程過程中,學會byte和char數據類型的互相轉換是非常有用的。相信大家通過本文對此有了更深入的理解。