㈠ 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里的byte數據類型怎麼用還可以轉換成short類型求解@!
不是很明白的你的問題,byte類型就是一個佔一個位元組的有符號的整形數據,也就是說是從-128~127。short類型就是一個占兩個位元組的有符號的整形數據,也就是從-32768~32767。
怎麼用可以根據你自己的需求應用,你會用整形,這兩個也就會用了。當你需要用到整形數據,但是還不需要很大的存儲空間,那麼這兩個是個不錯的選擇。
㈢ Java中整數類型轉換
在Java中,類型轉換分為兩種:一是隱式類型轉換,二是強制類型轉換。
隱式類型轉換是低精度數據向高精度數據轉換,系統自動執行,不需要編程人員手動實現。
強制類型轉換是高精度數據向低精度數據轉換,需要編程人員手動實現轉換。
精度由低到高的順序為byte<short<int <long<float<double
所以在樓主的第一個問題中答案是byte short 轉為int是都不需要強制轉換的。
樓主的追問中提到的問題涉及到了Java的默認類型,在Java中整數型默認為int,
所以無論樓主定義的a b是byte還是short, 其a+b的結果都是默認為int的。而樓主是用byte或short型變數接收a+b的運算結果。又因為int的精度高於byte和short, 所以他們都需要進行強制轉換,否則編譯是會報錯的。
//byte運算
bytea=1;
byteb=2;
bytex=(byte)(a+b);
System.out.println(x);
//short運算
shortw=1;
shorts=2;
shortz=(short)(w+s);
System.out.println(z);
注意:在這個的強制類型轉換中,因為涉及到了運算中類型提升問題,所以應當將a+b或w+s 整體用括弧擴住,否則編譯器仍會報錯。
㈣ java short[] 轉換成 byte[] 然後 byte[] 在轉換成 short[]
byte佔用一個位元組,short佔用兩個位元組。
你可以將short數組中的元素兩個位元組截取出來,分別存放到byte數組中。
然後在還原成short元素。
如果滿意,請採納,謝謝。
㈤ 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 變數數據類型轉換byte, short, char, int, long, float, double
整數類型可以這樣砍去多餘的位元組,但是在浮點型中有一個小數點,就是這個小數點導致浮點類型不能像整型一樣進行轉換。再多的就不知道了
^_^
㈦ Java中幾種常用數據類型之間轉換的方法
下面給你例舉10種Java中幾種常用的數據類型之間轉換方法:
1. short-->int 轉換
exp: short shortvar=0;
int intvar=0;
shortvar= (short) intvar
2. int-->short 轉換
exp: short shortvar=0;
int intvar=0;
intvar=shortvar;
3. int->String 轉換
exp: int intvar=1;
String stringvar;
Stringvar=string.valueOf (intvar);
4. float->String 轉換
exp: float floatvar=9.99f;
String stringvar;
Stringvar=String.valueOf (floatvar);
5. double->String 轉換
exp double doublevar=99999999.99;
String stringvar;
Stringvar=String.valueOf (doublevar);
6. char->String 轉換
exp char charvar=』a』;
String stringvar;
Stringvar=String.valueOf (charvar);
7 String->int、float、long、double 轉換
Exp String intstring=」10」;
String floatstring=」10.1f」;
String longstring=」99999999」;
String doubleString=」99999999.9」;
Int I=Integer.parseInt (intstring);
Float f= Integer.parseInt (floatstring);
Long lo=long. parseInt (longstring);
Double d=double. parseInt (doublestring);
8 String->byte、short 轉換
Exp String s=」0」;
Byte b=Integer.intValue(s);
Short sh=Integer.intValue(s);
9 String->char 轉換
Exp String s=」abc」;
Char a=s.charAt(0);
返回字元a
10 String-->boolean 轉換
String s=」true」;
Boolean flag=Boolean.valueOf (「s」);
㈧ java 數據類型轉換
java中數據類型是有個隱式的自動轉換的.
byte,short,int和long都是整數,任何數字(如1,11,111等),只要不超過范圍,都是可以賦值給byte,short,int類型的,但不能直接賦值給long,必須在後面加上L(大小寫均可),任何char,byte,short,int之間的計算的結果都是int 型,
如題,
a = 1;把1賦給a,當然把1賦給byte是沒有問題的,
a = a + 1 ; 這樣就等於把int型賦給了byte型是會報錯的.
a += 1 是自增運算,+=,-=,*=,/=等運算是不會轉成其他類型的,此題中雖然結果與a = a + 1一樣;
順便展開一點講,共有8種基本數據類型,順要說明的是:byte,short,int,long,float,double,boolean,char
1.char,byte,short,int之間運算會自動轉換為int,不包括自增與自減;
char會以ASCII碼轉換
2.如下鏈條,可以向下賦值,反之剛不行,比如,byte值可以賦給short變數,反之則不行.
3.數字默認類型是int,是不符合如下鏈條的例外情況,只要不超過范圍可以賦值給char,byte,short等類型,比如可以byte a = 127是對的,byte a = 128是會編譯錯誤的;
4.有小數點的都默認為為double型,加f變float,如2.5f
5.boolean只能邏輯運算
byte->short->int->long->float->double char->int
㈨ 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