欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > java >内容正文

java

java中的缩小_在Java中,加宽转换(隐式)和缩小转换(显式)之间有什么区别?...

发布时间:2025/3/20 java 44 豆豆
生活随笔 收集整理的这篇文章主要介绍了 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中,加宽转换(隐式)和缩小转换(显式)之间有什么区别?...的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。