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

java類轉換

發布時間: 2022-09-06 12:29:06

java中的類型轉換

一、先說一下Java的轉型規則是:1、 布爾型(boolean)不能轉換為其他的數據類型2、小體積數據自動轉換成大體積數據類型,數據類型大小順序如下:byte, short, char < int < long < float < doublebyte, short, char之間不會互相轉換,在計算時他們三個首先會轉化成int型3、大體積數據要轉換成小體積數據,要加上強制轉換符。但可能會降低精度或溢出,一般不建議使用4、多種類型的數據混合運算時,系統自動將所有數據轉換成最大體積的數據類型,再進行計算。如、1、2、3......等等這些是系統默認是整型的。1.2 、1.3......等系統默認是浮點型的二、當一個int型字面量的值被賦給一個byte 或short型的變數時,如果字面量的值沒有超過對應類型的范圍時,就不會產生錯誤。byte 類型數據的范圍是-128 到127 。問題中,byte a = 1+2 。就相當於是 byte a =3,編譯器會自動當做3來處理 ,3沒有超過-128 到127 這個范圍所以沒有錯誤,但是如果byte a = 1+127 就會出錯了。三、byte b1=1; byte b2=2 ;byte b3 = b1+b3 這樣不行,b1和b2他們相加會先自動轉換為int然後相加,當然相加的結果也是int型的,但是你要將一個int型的數字賦給一個byte型的b3顯然是要強制轉換的,因此Java會報編譯錯誤

Ⅱ Java 如何實現子類之間的類型轉換

子類之間不能轉換,只有子類與父類轉換
class A extends B{ } B b=A a; 好像是這樣,父類可以實現對子類中覆寫方法的使用

Ⅲ java語言中幾種類型轉換的方法 詳細�0�3

當然,Java 在提供大量的其它類時,也提供了與簡單數據類型對應的封裝類,於是,Java 中就有了諸如int 和Integer(float 和Float、double 和Double�6�7�6�7)的不同的數據類型。 Java 語言的數據類型有兩大類:一類是簡單類型,也稱主要類型(Primitive),另一類是引用類型(Reference)。簡單類型變數中存儲的是具體的值,而引用類型的變數中存儲的是對象的引用。 Java 決定了每種簡單類型的大小。這些大小並不隨著機器結構的變化而變化。這種大小的不可更改正是Java 程序具有很強移植能力的原因之一。 下表列出了Java 中定義的簡單類型、佔用二進制位數及對應的封裝器類。 表 Java 中的簡單類型 簡單類型 boolean byte char short int long float double void 二進制位數 1 8 16 16 32 64 32 64 -- 封裝器類 Boolean Byte Character Short Integer Long Float Double Void ⑵為什麼使用封裝類 以int 和Integer 為例來說,雖然從本質上它們都代表一個32 位的整數,但它們卻是不同的數據類型。事實上,Java 中直接使用的整數都為int(就int 和Integer 而言),只有當數據必須作為對象的身份出現時,才必須用int 對應的封裝器Intege 將整數值封裝成對象。 例如:為給 java.util 包中的 Vector 添加一個整數,就必須如下將該整數值封裝在一個 Integer 實例中: Vector v=new Vector(); int k=121; v.addElemt(new Integer(k)); 另外,Integer 作為 int 對應的封裝器類,提供了許多的方法,比如:Integer 的構造方法、 Integer 向其它各種數值類型的轉換方法等等,而這些是int 類型數據所沒有的。 2.簡單數據類型之間的轉換 簡單類型數據間的轉換,有兩種方式:自動轉換和強制轉換,通常發生在表達式中或方法的參數傳遞時。 ⑴自動轉換 具體地講,當一個較「小」數據與一個較「大」的數據一起運算時,系統將自動將「小」數據轉換成「大」數據,再進行運算。而在方法調用時,實際參數較「小」,而被調用的方法的形式參數數據又較「大」時(若有匹配的,當然會直接調用匹配的方法),系統也將自動將「小」數據轉換成「大」數據,再進行方法的調用,自然,對於多個同名的重載方法,會轉換成最「接近」的「大」數據並進行調用。 這些類型由「小」到「大」分別為 (byte,short,char)--int--long--float—double。這里我們所說的「大」與「小」,並不是指佔用位元組的多少,而是指表示值的范圍的大小。 請看下面的示例: ①下面的語句可以在Java 中直接通過: byte b; int i=b; long l=b; float f=b; double d=b; ②如果低級類型為char 型,向高級類型(整型)轉換時,會轉換為對應ASCII 碼值,例如 char c='c'; int i=c; System.out.println("output:"+i); 輸出:output:99; ③對於byte,short,char 三種類型而言,他們是平級的,因此不能相互自動轉換,可以使用下述的強制類型轉換。 short i=99 ; char c=(char)i; System.out.println("output:"+c); 輸出:output:c; ④對象多態中若有方法: f(byte x){�6�7�6�7}; f(short x) {�6�7�6�7}; f(int x) {�6�7�6�7}; f(long x) {�6�7�6�7}; f(float x) {�6�7�6�7}; f(double x) {�6�7�6�7}; 又有:char y=』A』;那麼,語句 f(y)會調用哪一個方法呢?答案是:f(int x) {�6�7�6�7}方法,因為它的形參比實參「大」且是最「接近」的。 而對於方法: f(float x) {�6�7�6�7}; f(double x) {�6�7�6�7}; 又有:long y=123L;那麼,語句f(y)調用的方法則是f(float x) {�6�7�6�7}。 ⑵強制轉換 將「大」數據轉換為「小」數據時,你可以使用強制類型轉換。即你必須採用下面這種語句格式: int n=(int)3.14159/2; 可以想像,這種轉換肯定可能會導致溢出或精度的下降。 註: ①當位元組類型變數參與運算,java 作自動數據運算類型的提升,將其轉換為int 類型。 byte b; b=3; b=(byte)(b*3);//必須聲明byte。 ②帶小數的變數默認為double 類型。 float f; f=1.3f;//必須聲明f。 ⑶包裝類過渡類型轉換 一般情況下,我們首先聲明一個變數,然後生成一個對應的包裝類,就可以利用包裝類的各種方法進行類型轉換了。 再分享 java.lang.math 中的幾個函數: 四捨五入: static long round(double a) Returns the closest long to the argument. static int round(float a) Returns the closest int to the argument. 下取整: static double ceil(double a) Returns the smallest (closest to negative infinity) double value that is not less than the argument and is equal to a mathematical integer. 上取整: static double floor(double a) Returns the largest (closest to positive infinity) double value that is not greater than the argument and is equal to a mathematical integer. 例如: import java.lang.*; public class quzheng{ public static void main(String args[]){ //四捨五入 System.out.println(Math.round(3.40d)); System.out.println(Math.round(3.60d)); System.out.println(Math.round(3.40f)); System.out.println(Math.round(3.60f)); //上取整 System.out.println(Math.ceil(3.4)); System.out.println(Math.ceil(3.6)); //下取整 System.out.println(Math.floor(3.40)); System.out.println(Math.floor(3.60)); } } 結果為: 3 4 3 4 4.0 4.0 3.0 3.0

Ⅳ 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、int、long

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

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

Ⅵ Java中的強制類型轉換是如何轉換的

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

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

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

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

(6)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類型不發生改變;

Ⅶ java 類型轉換

這種對應表網上有很多,你的十六進制字元串可以在放到前台再和這裡面顏色進行對比找到相近的,顏色是poi的jar包裡面定義的,不一定會有一模一樣的顏色,找到相似的即可

顏色對應鏈接;最底部有直接的

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

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

Ⅸ 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()方法,不再給出示例代碼。

熱點內容
頻率計源碼 發布:2024-09-08 07:40:26 瀏覽:778
奧迪a6哪個配置帶後排加熱 發布:2024-09-08 07:06:32 瀏覽:100
linux修改apache埠 發布:2024-09-08 07:05:49 瀏覽:208
有多少個不同的密碼子 發布:2024-09-08 07:00:46 瀏覽:566
linux搭建mysql伺服器配置 發布:2024-09-08 06:50:02 瀏覽:995
加上www不能訪問 發布:2024-09-08 06:39:52 瀏覽:811
銀行支付密碼器怎麼用 發布:2024-09-08 06:39:52 瀏覽:513
蘋果手機清理瀏覽器緩存怎麼清理緩存 發布:2024-09-08 06:31:32 瀏覽:554
雲伺服器的優點與缺點 發布:2024-09-08 06:30:34 瀏覽:734
上傳下載賺錢 發布:2024-09-08 06:14:51 瀏覽:258