本文目錄一覽:
java數據類型轉換方式有幾種
如:String s = “123”;
int num = Integer.parseInt(s);注意:當應用程序試圖將字符串轉換成一種數值類型,但該字符串不能轉換為適當格式時,會拋出異常java.lang.NumberFormatException
2、String類型轉換成double類型變量:使用double類的parseDouble(String )方法
如:String s = “123”;
idouble num = Double.parseDouble(s);
3、int類型變量轉換成String類型變量:使用String類的valueOf(int )方法
如: int num = 123;
String s = String.valueOf(num);
4、Double類型變量轉換成String類型變量:使用String類的valueOf(int )方法
如: Double num = 123.0;
String s = String.valueOf(num);
5、String變量轉換成字符數組Char[]:使用String類的toCharArray()方法
如: String s = “123”;
6、字符或字符數組轉換成字符串,也是通過valueOf()方法,不再給出示例代碼。
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中怎麼將int數據轉換為byte數據?
JAVA中根據以下代碼將int數據轉換為byte數據:
public static byte[] int32ToBytes(int val) {
int size = Integer.SIZE / Byte.SIZE;
byte[] ret = new byte[size];
for (int i = 0; i size; ++i) {
ret[i] = (byte) (val (8 * i) 56);
}
return ret;
}
擴展資料
Java也提供了一個byte數據類型,並且是基本類型。java byte是做為最小的數字來處理的,因此它的值域被定義為-128~127,也就是signed byte。
byte,即位元組,由8位的二進制組成。在Java中,byte類型的數據是8位帶符號的二進制數。在計算機中,8位帶符號二進制數的取值範圍是[-128, 127],所以在Java中,byte類型的取值範圍也是[-128, 127]。
運算規則:
####正數的最高位都是 0 ,正數的值就是二進制表示的值。 ####
####負數的最高位都是 1 ,負數的值是 取反後加一 然後加個負號得到得值。 ####
java中如何將byte[]裏面的數據轉換成十六進制?
方法如下:
/* *
* Convert byte[] to hex string.這裡我們可以將byte轉換成int,然後利用Integer.toHexString(int)
*來轉換成16進制字符串。
* @param src byte[] data
* @return hex string
*/
public static String bytesToHexString(byte[] src){
StringBuilder stringBuilder = new StringBuilder(“”);
if (src == null || src.length = 0) {
return null;
}
for (int i = 0; i src.length; i++) {
int v = src[i] 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
此方法能將byte[]轉化成16進制字符串,
Java是一門面向對象編程語言,不僅吸收了C++語言的各種優點,還摒棄了C++里難以理解的多繼承、指針等概念,因此Java語言具有功能強大和簡單易用兩個特徵。Java語言作為靜態面向對象編程語言的代表,極好地實現了面向對象理論,允許程序員以優雅的思維方式進行複雜的編程。
原創文章,作者:CWHA,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/140316.html