當前位置:首頁 » 編程語言 » java數據類型的轉換

java數據類型的轉換

發布時間: 2022-06-10 08:37:14

1. java中的強制類型轉換是如何轉換的

java中數據類型的強制轉換是通過強制轉換語句完成的,強制轉換語句的格式為「目標數據類型 變數 = (目標數據類型) 數據;」。下面給出例子:

1、定義兩個位元組數據類型a、b、c,分別賦予1和2和a+b的值,進行加法運算的式子a+b=3,得出的結果「3」將會被編譯環境判定為整形數據,把這個整形數據賦值給c,系統將會報錯,這樣就需要用到格式為「目標數據類型 變數 = (目標數據類型) 數據;」的強制轉換語句。

2、根據強制轉換語句的格式,易得「byte c = (byte)(a+b);」;

3、這樣就把整形數據的「3」賦值給位元組數據類型的c了,其中完成數據的強制類型轉換。

(1)java數據類型的轉換擴展閱讀:

基本類型 轉換原則:

1、類型轉換主要在在賦值、方法調用、算術運算三種情況下發生。

a、賦值和方法調用 轉換規則:從低位類型到高位類型自動轉換;從高位類型到低位類型需要強制類型轉換:

(1)布爾型和其它基本數據類型之間不能相互轉換;

(2)byte型可以轉換為short、int、、long、float和double;

(3)short可轉換為int、long、float和double;

(4)char可轉換為int、long、float和double;

(5)int可轉換為long、float和double;

(6)long可轉換為float和double;

(7)float可轉換為double;

b、算術運算 中的類型轉換:

1、基本就是先轉換為高位數據類型,再參加運算,結果也是最高位的數據類型;

2、byte short char運算會轉換為Int;

(1)如操作數之一為double,則另一個操作數先被轉化為double,再參與算術運算。

(2)如兩操作數均不為double,當操作數之一為float,則另一操作數先被轉換為float,再參與運算。

(3)如兩操作數均不為double或float,當操作數之一為long,、則另一操作數先被轉換為long,再參與算術運算。

(4)如兩操作數均不為double、float或long,則兩操作數先被轉換為int,再參與運算。

特殊:

(1)如採用+=、*=等縮略形式的運算符,系統會自動強制將運算結果轉換為目標變數的類型。

(2) 當運算符為自動遞增運算符(++)或自動遞減運算符(--)時,如果操作數為byte,short或char類型不發生改變;

2. JAVA基本數據類型轉換

基本類型中byte、short、int、long

float、double
依次增大,當後者轉換成前者時需要強制轉換,例如:long
a
=
100L;int
b
=
(int)a

但前者轉換成後者,則可以直接賦值,JVM會完成自動轉換

3. Java數據類型自動轉換的優先順序

樓主你好: 轉換原則:從低精度向高精度轉換byte 、short、int、long、float、double、char

註:兩個char型運算時,自動轉換為int型;當char與別的類型運算時,也會先自動轉換為int型的,再做其它類型的自動轉換

基本類型有以下四種:int 長度數據類型有:byte(8bits)、short(16bits)、int(32bits)、long(64bits)、
float 長度數據類型有:單精度(32bits float)、雙精度(64bits double)
boolean 類型變數的取值有:ture、false 。1位元組(8位)
char數據類型有:unicode字元,16位
對應的類類型:Integer、Float、Boolean、Character、Double、Short、Byte、Long

4. java數據類型轉換

這很明顯
第一 c=(int)d; 意思是把d的值強轉為int類,然後賦給c,那麼c自然也等於8000.

第二 f=(float)g; 意思是把double類型的g值,強轉為float類型然後賦給f,因為float是單精度,所以結果就去掉小數點的一半.

5. 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>

6. Java數據類型轉換問題

放在前面那叫強制類型轉換,放在後面編譯就報錯了,java源程序需要編譯成.class文件,才能被JVM所識別的。

7. 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

8. 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());

9. Java中數據類型轉換有幾種每種轉換都在什麼情況下使用

java
中自動化轉換和強制轉換
自動轉換就例如簡單類型的轉換,可以自動通過
如整形轉換城FLOAT,或者double
有些字元串類型則被轉換成相應的ascii碼
而轉換會產生溢出或者丟失的轉換則需要編程者進行強制轉換
相對的java中還有原始變數和java進行封裝的數據類型的轉換
float
f=10.01;
Float
F=new
Float(f);
每種轉換根據編程需要使用。

10. JAVA語言數據類型轉換有什麼特點

從低精度向高精度轉換
byte 、short、int、long、float、double、char
註:兩個char型運算時,自動轉換為int型;當char與別的類型運算時,也會先自動轉換為int型的,再做其它類型的自動轉換

基本類型向類類型轉換

正向轉換:通過類包裝器來new出一個新的類類型的變數
Integer a= new Integer(2);
反向轉換:通過類包裝器來轉換
int b=a.intValue();

類類型向字元串轉換

正向轉換:因為每個類都是object類的子類,而所有的object類都有一個toString()函數,所以通過toString()函數來轉換即可
反向轉換:通過類包裝器new出一個新的類類型的變數
eg1: int i=Integer.valueOf(「123」).intValue()
說明:上例是將一個字元串轉化成一個Integer對象,然後再調用這個對象的intValue()方法返回其對應的int數值。
eg2: float f=Float.valueOf(「123」).floatValue()
說明:上例是將一個字元串轉化成一個Float對象,然後再調用這個對象的floatValue()方法返回其對應的float數值。
eg3: boolean b=Boolean.valueOf(「123」).booleanValue()
說明:上例是將一個字元串轉化成一個Boolean對象,然後再調用這個對象的booleanValue()方法返回其對應的boolean數值。
eg4:double d=Double.valueOf(「123」).doubleValue()
說明:上例是將一個字元串轉化成一個Double對象,然後再調用這個對象的doubleValue()方法返回其對應的double數值。
eg5: long l=Long.valueOf(「123」).longValue()
說明:上例是將一個字元串轉化成一個Long對象,然後再調用這個對象的longValue()方法返回其對應的long數值。
eg6: char=Character.valueOf(「123」).charValue()
說明:上例是將一個字元串轉化成一個Character對象,然後再調用這個對象的charValue()方法返回其對應的char數值。

基本類型向字元串的轉換
正向轉換:
如:int a=12;
String b;b=a+」」;

反向轉換:
通過類包裝器
eg1:int i=Integer.parseInt(「123」)
說明:此方法只能適用於字元串轉化成整型變數
eg2: float f=Float.valueOf(「123」).floatValue()
說明:上例是將一個字元串轉化成一個Float對象,然後再調用這個對象的floatValue()方法返回其對應的float數值。
eg3: boolean b=Boolean.valueOf(「123」).booleanValue()
說明:上例是將一個字元串轉化成一個Boolean對象,然後再調用這個對象的booleanValue()方法返回其對應的boolean數值。
eg4:double d=Double.valueOf(「123」).doubleValue()
說明:上例是將一個字元串轉化成一個Double對象,然後再調用這個對象的doubleValue()方法返回其對應的double數值。
eg5: long l=Long.valueOf(「123」).longValue()
說明:上例是將一個字元串轉化成一個Long對象,然後再調用這個對象的longValue()方法返回其對應的long數值。
eg6: char=Character.valueOf(「123」).charValue()
說明:上例是將一個字元串轉化成一個Character對象,然後再調用這個對象的charValue()方法返回其對應的char數值。

熱點內容
快速dct演算法 發布:2025-02-08 02:19:04 瀏覽:620
淘寶交易密碼如何改 發布:2025-02-08 02:17:32 瀏覽:772
php的進階 發布:2025-02-08 02:17:28 瀏覽:674
伺服器關閉中或IP地址錯誤 發布:2025-02-08 02:16:55 瀏覽:477
節目腳本是什麼 發布:2025-02-08 02:08:54 瀏覽:141
android的自定義屬性 發布:2025-02-08 02:07:27 瀏覽:607
怎麼看電腦的用戶名和密碼 發布:2025-02-08 02:02:48 瀏覽:796
vb動態資料庫 發布:2025-02-08 02:01:53 瀏覽:111
一台存儲可以配幾個擴展櫃 發布:2025-02-08 01:53:22 瀏覽:566
分布式存儲技術優缺點 發布:2025-02-08 01:51:37 瀏覽:245