java中的缩小_在Java中,加宽转换(隐式)和缩小转换(显式)之间有什么区别?...
Java中的類型轉換用于將一種類型的對象或變量轉換為另一種類型。當我們將一種數據類型轉換或分配給另一種數據類型時,它們可能不兼容。如果合適的話,它將順利進行,否則會丟失數據。
Java中的類型轉換類型
Java類型轉換分為兩種類型。加寬轉換(隱式)–自動類型轉換
縮小轉換(顯式)–需要顯式轉換
加寬鑄件(從小到大)
加寬?YPE轉換如果兩個類型兼容和目標類型比源類型較大可能發生。當兩種類型兼容并且目標類型大于源類型時,會進行擴展轉換。
例1public?class?ImplicitCastingExample?{
public?static?void?main(String?args[])?{
byte?i?=?40;
//低于轉化率無需投放
short?j?=?i;
int?k?=?j;
long?l?=?k;
float?m?=?l;
double?n?=?m;
System.out.println("byte?value?:?"+i);
System.out.println("short?value?:?"+j);
System.out.println("int?value?:?"+k);
System.out.println("long?value?:?"+l);
System.out.println("float?value?:?"+m);
System.out.println("double?value?:?"+n);
}
}
輸出結果byte?value?:?40
short?value?:?40
int?value?:?40
long?value?:?40
float?value?:?40.0
double?value?:?40.0
類類型的拓寬轉換
在下面的示例中,Child類是較小的類型,我們將其分配給Parent類類型,后者是較大的類型,因此不需要強制轉換。
例2class?Parent?{
public?void?display()?{
System.out.println("Parent?class?display()?called");
}
}
public?class?Child?extends?Parent?{
public?static?void?main(String?args[])?{
Parent?p?=?new?Child();
p.display();
}
}
輸出結果Parent?class?display()?method?called
縮小鑄件(從大到小)
當我們將較大的類型分配給較小的類型時,需要顯式轉換。
例1public?class?ExplicitCastingExample?{
public?static?void?main(String?args[])?{
double?d?=?30.0;
//下面的轉換需要顯式轉換
float?f?=?(float)?d;
long?l?=?(long)?f;
int?i?=?(int)?l;
short?s?=?(short)?i;
byte?b?=?(byte)?s;
System.out.println("double?value?:?"+d);
System.out.println("float?value?:?"+f);
System.out.println("long?value?:?"+l);
System.out.println("int?value?:?"+i);
System.out.println("short?value?:?"+s);
System.out.println("byte?value?:?"+b);
}
}
輸出結果double?value?:?30.0
float?value?:?30.0
long?value?:?30
int?value?:?30
short?value?:?30
byte?value?:?30
縮小類類型
當我們將較大的類型分配給較小的類型時,我們需要顯式地進行類型轉換。
例2class?Parent?{
public?void?display()?{
System.out.println("Parent?class?display()?method?called");
}
}
public?class?Child?extends?Parent?{
public?void?display()?{
System.out.println("Child?class?display()?method?called");
}
public?static?void?main(String?args[])?{
Parent?p?=?new?Child();
Child?c?=?(Child)?p;
c.display();
}
}
輸出結果Child?class?display()?method?called
總結
以上是生活随笔為你收集整理的java中的缩小_在Java中,加宽转换(隐式)和缩小转换(显式)之间有什么区别?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 泛型集合应用_Java泛型集合
- 下一篇: fifo java_java linux