typecast java_Java中的类型转换
類(lèi)型轉(zhuǎn)換Typecasting是一個(gè)用與Java類(lèi)似的所有語(yǔ)言引入的術(shù)語(yǔ)。
當(dāng)我們將原始數(shù)據(jù)類(lèi)型分配給另一個(gè)數(shù)據(jù)類(lèi)型時(shí)。
在Java中,類(lèi)型轉(zhuǎn)換具有兩種類(lèi)型:擴(kuò)大類(lèi)型轉(zhuǎn)換
縮小類(lèi)型轉(zhuǎn)換
我們將通過(guò)示例研究?jī)煞N類(lèi)型轉(zhuǎn)換。
a)擴(kuò)大類(lèi)型轉(zhuǎn)換當(dāng)我們將較小的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為較大的數(shù)據(jù)類(lèi)型時(shí)。
在這種類(lèi)型轉(zhuǎn)換中,沒(méi)有數(shù)據(jù)丟失。
它是由編譯器完成的(即自動(dòng)的)。它不是由用戶完成的。
擴(kuò)展類(lèi)型轉(zhuǎn)換的層次描述如下:
字節(jié)→短→字符→整數(shù)→長(zhǎng)→浮點(diǎn)→雙精度 (byte → short → char → int → long → float → double)
擴(kuò)大類(lèi)型轉(zhuǎn)換的例子public?class?WideningTypecast?{
public?static?void?main(String[]?args)?{
int?num1;
byte?num2?=?20;
//我們正在分配較小的數(shù)據(jù)類(lèi)型
//字節(jié)到較大的數(shù)據(jù)類(lèi)型
num1?=?num2;
//打印輸出
System.out.println("The?value?of?num1?is?:"?+?num1);
}
}
輸出結(jié)果D:\Programs>javac?WideningTypecast.java
D:\Programs>java?WideningTypecast
The?value?of?num1?is?:20
b)縮小類(lèi)型轉(zhuǎn)換當(dāng)我們將較大的數(shù)據(jù)類(lèi)型轉(zhuǎn)換為較小的數(shù)據(jù)類(lèi)型時(shí)。
在這種類(lèi)型轉(zhuǎn)換中,存在數(shù)據(jù)丟失。
它不是由編譯器(即手動(dòng))完成的。它是由用戶完成的。
縮小類(lèi)型轉(zhuǎn)換的層次結(jié)構(gòu)描述如下:
double→float→long→int→char→short→byte
縮小類(lèi)型轉(zhuǎn)換的示例public?class?NarrowingTypecast?{
public?static?void?main(String[]?args)?{
int?num1;
double?num2?=?20.8;
//我們正在分配更大尺寸的數(shù)據(jù)類(lèi)型
//長(zhǎng)到較小的數(shù)據(jù)類(lèi)型
num1?=?(int)?num2;
//打印輸出
System.out.println("The?value?of?num1?is?:"?+?num1);
}
}
輸出結(jié)果D:\Programs>javac?NarrowingTypecast.java
D:\Programs>java?NarrowingTypecast
The?value?of?num1?is?:20
總結(jié)
以上是生活随笔為你收集整理的typecast java_Java中的类型转换的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: JAVA爬虫https_java爬虫问题
- 下一篇: 模拟栈 java_Java 模拟栈结构