導航:首頁 > 編程語言 > javashort轉byte

javashort轉byte

發布時間:2022-03-02 20:16:03

java 變數數據類型轉換byte, short, char, int, long, float, double

byte b1 = 3; byte b2 = 4; byte b = b1-b2這個之所以報錯,是因為在進行b1-b2的運算時,會自動將b1和b2提升成int型,所以最後結果也是int型,需要進行強制裝換,才能賦值給byte型變數

默認排序你似乎有點搞錯,應該是byte,char,short,int,long,float,double

Ⅱ 【求大神】在java中關於char與byte short 的常量自動轉換問題

在Java中,char是16bit長的無符號整數,因此范圍是:0~65535,而short則是16bit長的帶符號整數,范圍是-32768~32767。 所以,兩者雖然字長相同,但意義卻不一樣(表示範圍並不完全重合或包含),因此不管是char轉換成short,還是short轉換成char,都可能「丟失精度」,因此必須強制轉換。雖然,這里的「丟失精度」跟從int到short的丟失精度給人的感覺似乎不一樣,但仔細想想也沒有什麼區別,一方面,char有16個bit表示數值,而short用於表示數值大小的只有15個bit,因此,從char到short會「丟失數值精度」,而另一方面,short有1個bit表示數值的符號,而char卻根本沒有這么個符號位(所有的bit都用來表示數值大小了),所以從short到char也可能「丟失精度」,只是這里丟失的是有關正負的「精確程度」。


你上面的代碼改成如下:

byteb1='a';//正確b1=97
charc1=(byte)97;//正確c1='a'
byteb2=(byte)c1;
charc2=(char)b1;

shorts1='a';//;正確s1=97
charc3=(short)98;//正確c3='b'
shorts2=(short)c3;
charc4=(char)s1;


順便提一句:每一句java代碼的結束語句後面的分號必須是英文輸入法狀態下的分號。否則報錯。

Ⅲ java short[] 轉換成 byte[] 然後 byte[] 在轉換成 short[]

byte佔用一個位元組,short佔用兩個位元組。
你可以將short數組中的元素兩個位元組截取出來,分別存放到byte數組中。
然後在還原成short元素。
如果滿意,請採納,謝謝。

Ⅳ java short 數組轉換 byte數組

可以通過循環再加強制轉換來進行轉換,如下

short[]one={1,2,3};
byte[]two=newbyte[one.length];
for(inti=0;i<two.length;i++){
two[i]=(byte)one[i];
}
for(byteb:two){
System.out.println(b);
}

Ⅳ 為什麼java虛擬機jvm要把byte和short的運算都轉為int

對的,記得以前看"JAVA虛擬機規范「還是哪本書上,就是這么寫的。
就是boolean也就轉為int,只不過是轉為0和1

Ⅵ java short 數組轉換 byte

short[] s = {0, 1, 0, 1, 0, 1, 0, 0};
String str = "";
for(int i = 0; i < s.length; i++){//把數組轉成一個字元串01010100
str += s[i];
}
byte b = Byte.parseByte(str, 2);//二進制字元串轉成byte

b就是你想要的byte, 值為十進制84, 16進制0x54

當然也可以用位移運算

short[] s = {0, 1, 0, 1, 0, 1, 0, 0};
byte p = 0;
for(int i = 0; i < s.length; i++){
p += s[i]<<(s.length - 1 - i);
}
System.out.println(p);

Ⅶ Java中如何將兩個無符號的byte轉換為一個有符號的short

這個是可以進行轉換和復原的,舉例:
short x = -32752;//定義一個short
byte high = (byte) (0x00FF & (x>>8));//定義第一個byte
byte low = (byte) (0x00FF & x);//定義第二個byte
System.out.println(high);//列印第一個byte值
System.out.println(low);//列印第二個byte值
// 復原
short z = (short)(((high & 0x00FF) << 8) | (0x00FF & low));
System.out.println(z);//輸出的結果就是-32752

Ⅷ java中Short類中的byteValue()方法怎麼用

首先給你個小建議,以後遇到這種問題要記得去查javaAPI

這是API中的Short構造函數的描述:
Short
public Short(short value)

構造一個新分配的 Short 對象,用來表示指定的 short 值。

參數:
valueShort - 所表示的值。
Short
public Short(String s)
throws NumberFormatException

構造一個新分配的 Short 對象,用來表示 String 參數所指示的 short 值。將字元串轉換為 short 值,轉換方式與基數為 10 的 parseShort 方法所用的方式完全相同。

參數:
s - 要轉換為 Short 的 String
拋出:
NumberFormatException - 如果 String 不包含可解析的 short。
另請參見:
parseShort(java.lang.String, int)

也就是說short是不收int型的構造參數的;第一行改一下

閱讀全文

與javashort轉byte相關的資料

熱點內容
優信二手車解壓後過戶 瀏覽:63
Windows常用c編譯器 瀏覽:780
關於改善國家網路安全的行政命令 瀏覽:835
安卓如何下載網易荒野pc服 瀏覽:655
javainetaddress 瀏覽:106
蘋果4s固件下載完了怎麼解壓 瀏覽:1005
命令zpa 瀏覽:288
python編譯器小程序 瀏覽:946
在app上看視頻怎麼光線調暗 瀏覽:541
可以中文解壓的解壓軟體 瀏覽:594
安卓卸載組件應用怎麼安裝 瀏覽:914
使用面向對象編程的方式 瀏覽:341
程序員項目經理的年終總結範文 瀏覽:932
內衣的加密設計用來幹嘛的 瀏覽:434
淮安數據加密 瀏覽:294
魔高一丈指標源碼 瀏覽:983
松下php研究所 瀏覽:169
c回調java 瀏覽:402
夢幻端游長安地圖互通源碼 瀏覽:747
電腦本地文件如何上傳伺服器 瀏覽:315