日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

java变换变量赋值_Java变量的类型转换

發(fā)布時(shí)間:2023/12/10 java 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java变换变量赋值_Java变量的类型转换 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

在程序中,當(dāng)把一種數(shù)據(jù)類型的值賦給另一種數(shù)據(jù)類型的變量時(shí),需要進(jìn)行數(shù)據(jù)類型轉(zhuǎn)換。根據(jù)轉(zhuǎn)換方式的不同,數(shù)據(jù)類型轉(zhuǎn)換可分為兩種:自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換。自動(dòng)類型轉(zhuǎn)換

自動(dòng)類型轉(zhuǎn)換也叫隱式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型在轉(zhuǎn)換的過(guò)程中不需要顯式地進(jìn)行聲明。要實(shí)現(xiàn)自動(dòng)類型轉(zhuǎn)換,必須同時(shí)滿足兩個(gè)條件,第一是兩種數(shù)據(jù)類型彼此兼容,第二是目標(biāo)類型的取值范圍大于源類型的取值范圍。例如:byte?b?=?3;

int?x?=?b;?//程序把byte?類型的變量b?轉(zhuǎn)換成了int?類型,無(wú)須特殊聲明

上面的語(yǔ)句中,將byte類型的變量b的值賦給int類型的變量x,由于int類型的取值范圍大于byte類型的取值范圍,編譯器在賦值過(guò)程中不會(huì)造成數(shù)據(jù)丟失,所以編譯器能夠自動(dòng)完成這種轉(zhuǎn)換,在編譯時(shí)不報(bào)告任何錯(cuò)誤。

除了上述示例中演示的情況,還有很多類型之間可以進(jìn)行自動(dòng)類型轉(zhuǎn)換,接下來(lái)就列出3種可以進(jìn)行自動(dòng)類型轉(zhuǎn)換的情況,具體如下:

整數(shù)類型之間可以實(shí)現(xiàn)轉(zhuǎn)換,如byte類型的數(shù)據(jù)可以賦值給short、int、long類型的變量,short、char類型的數(shù)據(jù)可以賦值給int、long類型的變量,int類型的數(shù)據(jù)可以賦值給long類型的變量。

整數(shù)類型轉(zhuǎn)換為float類型,如byte、char、short、int類型的數(shù)據(jù)可以賦值給float類型的變量

其他類型轉(zhuǎn)換為double類型,如byte、char、short、int、long、float類型的數(shù)據(jù)可以賦值給double類型的變量。強(qiáng)制類型轉(zhuǎn)換

強(qiáng)制類型轉(zhuǎn)換也叫顯式類型轉(zhuǎn)換,指的是兩種數(shù)據(jù)類型之間的轉(zhuǎn)換需要進(jìn)行顯式地聲明。當(dāng)兩種類型彼此不兼容,或者目標(biāo)類型取值范圍小于源類型時(shí),自動(dòng)類型轉(zhuǎn)換無(wú)法進(jìn)行,這時(shí)就需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換。public?class?Example01?{

public?static?void?main(String[]?args)?{

int?num?=?4;

byte?b?=?num;

System.out.println(b);

}

}

編譯程序報(bào)錯(cuò)

出現(xiàn)這樣錯(cuò)誤的原因是將一個(gè)int型的值賦給byte類型的變量b時(shí),int類型的取值范圍大于byte類型的取值范圍,這樣的賦值會(huì)導(dǎo)致數(shù)值溢出,也就是說(shuō)一個(gè)字節(jié)的變量無(wú)法存儲(chǔ)四個(gè)字節(jié)的整數(shù)值。

在這種情況下,就需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換,具體格式如下:目標(biāo)類型?變量?=?(目標(biāo)類型)值

將例中第4行代碼修改為下面的代碼:byte?b?=?(byte)?num;

再次編譯后,程序不會(huì)報(bào)錯(cuò),運(yùn)行結(jié)果如圖所示。

需要注意的是,在對(duì)變量進(jìn)行強(qiáng)制類型轉(zhuǎn)換時(shí),會(huì)發(fā)生取值范圍較大的數(shù)據(jù)類型向取值范圍較小的數(shù)據(jù)類型的轉(zhuǎn)換,如將一個(gè)int類型的數(shù)轉(zhuǎn)為byte類型,這樣做極容易造成數(shù)據(jù)精度的丟失。

總結(jié)

以上是生活随笔為你收集整理的java变换变量赋值_Java变量的类型转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。