java數據類型轉換
㈠ 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;
}
(1)java數據類型轉換擴展閱讀
Java也提供了一個byte數據類型,並且櫻坦是基本類型。java byte是做為最小的數字來處理的,因此它的值域被定義為-128~127,也就是signed byte。
byte,即位元組,由8位的二進制組成。在Java中,byte類型的數據是8位帶符號的二進制數。在計算機中,8位帶符號二進制數的取顫罩值范圍是[-128, 127],所以在Java中,byte類型的取值范圍也是[-128, 127]。
運算規則:
####正數的最高位都是 0 ,正數的值就是二進製表示的值。 ####
####負數的最高位都是 1 ,負茄頌鬧數的值是 取反後加一 然後加個負號得到得值。 ####
㈡ Java強制數據類型轉換
規則可不少,挺亂的其實:
強制數據類型轉換: int nowC = (int)c;
還可以這樣,使用intValue方法,返回一個int值:
Double d = 5 / 9.0 * (f - 32);
int nowC = d.intValue();
Double類是基本數據類型double所對應的包裝類。
基本數據類型轉換的規則:
Java中基本數據類型共有8種,其中boolean類型不能轉換為其它類型,其它類型也不能轉換為boolean型
除了boolean類型,還有7種,按照它們的容量(也就是表數范圍,就是能表示的數的大小范圍,比如char是0——65535)的大小,從小到大,排序依次為:
byte short char int long float double
1.容量小的向容量大的轉換,可以自動轉換,比如可以直接將一個int類型賦值給double:
double d = 34;
2.容量大的向容量小的轉換,必須強制類型轉換,就是你上面的那種形式,比如:
double c = 5/9.0 *(f - 32);
int nowC = (int)c;
3.整數類型常量默認為int類型,比如17
4.浮點類型常量默認為double類型,比如3.14
5.在多種數據類型混合運算時,容量小的自動轉換為整個表達式中容量最大的,然後再進行計算,比如:
int i = 9; float f = 4f; double d = 3.14; double dd = i+f+d;
此時,i和f都各自先轉換成double,在進行+運算。
6.在多種數據類型混合運算時,byte short char 3者不會互相轉換,他們各自轉換為int再進行計算
7.在有些時候,容量小的會自動提升為容量大的,比如方法重載傳參數時候,
但是byte 和 short 不會自動提升為char,其它類型按照我上面所述的順序提升。
差不多就這些,不明白補充,另外需要注意的是強轉雖然編譯沒問題,但是運行時,有可能會數據溢出,損失精度
㈢ 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, int如何轉float,
可以直接強制轉換。
int i = 2;
float f = i;
但是這種轉化方式比較少用,比較多的是int轉為string或者string轉為int或者float。
㈤ java 中各種數據類型轉換byte[]的方法
ObjectOutputStream oos = null;//對象輸出流
ByteArrayOutputStream baos = null;//byte數組輸出流
ByteArrayInputStream s = null;//對象輸入流
try {
//序列化
baos = new ByteArrayOutputStream();
oos = new ObjectOutputStream(baos);//將數組流傳入對象流
oos.writeObject(new Integer(1));//用對象流讀取對象。
byte[] bytes = baos.toByteArray();//用數組流將傳入的對象轉化為byte數組
//反序列化
s = new ByteArrayInputStream(bytes);
ObjectInputStream ois = new ObjectInputStream(s);
Integer i = (Integer)ois.readObject();
System.out.println(i);
} catch (Exception e) {
}以上是把integer類型轉化成byte[]數組類型。註:基本類型要轉化為byte[]數組的話,需要用該基本類型的引用類。比如int的引用類是integer,就行了所有的類型,包括class都可以用這種序列化方式來轉成byte[],
㈥ java中各數據類型是如何實現強制類型轉換的
轉型有兩種:
向上轉型和向下轉型(強制轉型)
兩種分別如下:
一種是向上轉型對於基礎數據類型
,
可以自動轉型
,比如:int
a
=
10;long
b
=
a;這里就是把int型轉成了long型
,
因為
long范圍比int大
,
這樣的轉型不會有任何影響
,
所以可以自動轉型
又比如
A
a
=
new
B();
其中
A
是B
的父類
,
這也是多態
,
就是父類的對象指向子類的引用
,
你調用a對象
,
實際上是B的類
,
但是B繼承A
,
擁有A的一切屬性和方法
(不談復寫)
</ol>第二種是向下轉型
,
也就是強制這種需要強轉
,
比如long
a
=
10
;int
b
=
(int)
a;通過
(int)可以強制轉型
,
但是這樣會丟失精度
,
比如a如果超過了b的范圍
,
那麼強轉成int型,
只會等於int的最大值又比如
:B
b
=
new
A();
這樣是不行的
,
需要有中間途徑
,
比如A
a
=
new
A();
Object
obj
=
a;
B
b
=
(A)
a;而這種強轉
,
又有要求
,
必須是同類型
,
也就是說
A
就是B
,
不然會報錯.</ol>不同類型之間如果要轉型
,
需要通過中間途徑
,
比如JSON
,
將A轉成JSON串
,
然後再轉換為B
</ol></ol>
㈦ java大神 字元串的轉換基本數據類型
1. 字元串轉換為數字
java.lang中的Integer類調用其類方法public static int parseInt(String s)可以將由「數字」字元組成的字元串,比如「876」轉換為int數據類型,例如:
int x;
String s = "876";
x = Integer.parseInt(s);
類似地,使用java.lang包中的Byte、Short、Long、Float、Double類調用相應的類方法
public static byte parseByte(String s) throws NumberFormatException
public static short parseShort(String s) throws NumberFormatException
public static long parseLong(String s) throws NumberFormatException
public static double parseDouble(String s) throws NumberFormatException
2. 可以使用下面的方法將數字轉化為相應的字元串對象:
① valueOf方法
public static String valueOf(byte n)
public static String valueOf(int n)
public static String valueOf(long n)
public static String valueOf(float n)
public static String valueOf(double n)
例如:將形如123,12345.8等數值轉換為字元串
String str = String.valueOf(123)
String str = String.valueOf(12345.8)
② 可以使用toString方法(一個對象通過調用該方法可以獲取該對象的字元串表示)
使用java.lang包中的Byte、Integer、Short、Long、Float、Double類調用相應的類方法,Integer.toString、Double.toString,等等
比較常用的是Integer.toString("要進行轉換的數字"),方法得到的是一個字元串的對象
例子:
int n = 123;
String m = Integer.toString(n);
System.out.println(m + 1);
Date date = new Date();
System.out.println(date.toString());
所以我們可以使用上面的方法將數字轉化為一個字元串
3. 字元串與字元數組
① 將字元數組轉換為字元串對象
使用String類的構造方法:String(char a[])和String(char a[],int offset,int length)
分別用數組a中的全部字元和部分字元構造字元串對象
例子:
char a[] = {'1','2','3'};
System.out.println(new String(a).length());
㈧ JAVA裡面的boolean類型怎麼轉成int型 請各位前輩給予指點
可以轉化,但是沒有直接轉化的方法。
在Java中,boolean值中的true值為1,false值為0,所以,轉化的依據就是判斷boolean值是否為true,如果為true就返回結果1,否則返回0,具體的說明可以參照DataOutputStream類中的writeBoolean(boolean f)和DataInput中的readBoolean()。
(8)java數據類型轉換擴展閱讀:
boolean 數據類型 boolean 變數存儲為 8 位(1 個位元組)的數值形式,但只能是 True 或是 False。
javascript中創建boolean對象的方法
使用關鍵詞 new 來定義 Boolean 對象。下面的代碼定義了一個名為 myBoolean 的邏輯對象:
var myBoolean = new Boolean()
var myBoolean = new Boolean()
注釋:如果邏輯對象無初始值或者其值為 0、-0、null、""、false、undefined 或者 NaN,那麼對象的值為 false。否則,其值為 true(即使當自變數為字元串 "false" 時)!
int是一種數據類型,在編程語言(C、C++、C#、Java等)中,是用於定義整數類型變數的標識符。
使用方法
1、定義方法:
inti;//定義整形變數iinti=1;//定義整形變數i並初始化為1
2、定義常量:
constinti;//編譯錯誤,因為常量需要給予一個初值constinti=1;//定義常量i,值為1
3、Java定義常量:
finalinti=1;//定義常量i,值為1
㈨ 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中數據類型轉換異常
數據類型轉換異常即ClassCastException,在Java應用程序中,有時候需要對數據類型進行轉換。這個轉換包括顯示的轉換與隱式的轉換。不過無論怎麼轉換,都必須要符合一個前提的條件,即數據類型的兼容性。如果在數據轉換的過程中,違反運枯了這個原則,那麼就會觸發數據類型轉換異常。如現在在應用程序中,開發人員需要將一個字元型的日期數據轉換為資料庫所能夠接受的日期型數據,此時只需賣纖要在前台應用程序中進行控制,一般不會有問題。但是,如果前台應中悄仿用程序缺乏相關的控制,如用戶在輸入日期的時候只輸入月、日信息,而沒有年份的信息。此時應用程序在進行數據類型轉換的時候,就會出現異常。 數據類型轉換異常在應用程序開發中使一個出現的比較多的異常,也是一個比較低級的異常。因為大部分情況下,都可以在應用程序窗口中對數據類型進行一些強制的控制。即在數據類型進行轉換之前,就保證數據類型的兼容性。如此的話,就不容易造成數據類型的轉換異常。如在只允許數值類型的欄位中,可以設置不允許用戶輸入數值以外的字元。雖然說有了異常處理機制,可以保證應用程序不會被錯誤的運行。但是在實際開發中,還是要盡可能多的預見錯誤發生的原因,盡量避免異常的發生。