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中,加宽转换(隐式)和缩小转换(显式)之间有什么区别?...相关推荐

  1. java.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at

    [http-nio-8080-exec-1] org.apache.coyote.AbstractProcessor.parseHost [xxx_tomcat] 是无效主机注意:更多的请求解析错误将 ...

  2. java项目----教务管理系统_基于Java的教务管理系统

    java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...

  3. java批量事物管理_[疯狂Java]JDBC:事务管理、中间点、批量更新

    1. 数据库事务的概念: 1) 事务的目的就是为了保证数据库中数据的完整性: 2) 设想一个银行转账的过程,如果分两步,第一步是A的账户-1000,第二步是B的账户+1000,这两个动作必须是连贯的, ...

  4. oracle中的cursor属性有哪些,Oracle学习11:游标(cursor)--显式游标隐式游标、游标四个属性、循环遍历...

    1.概述 上文PLSQL学习中提到的知识,可以发现,基本都可以通过Java等语言实现,而为了实现程序的可移植性,实际开发工作中我们也是如此做的. 那么PLSQL的重点是什么呢?接下来我们来介绍游标cu ...

  5. java代码在jsp中怎么写_在jsp中写java代码

    该服务器上的所有的访问者的所有 jsp 页面 D.该服务器上的所有的访问者的所有 jsp 页面和 Java 程序 6.在 JSP 中调用 JavaBean 时不会用到的标记是( )...... jav ...

  6. java 线程组作用_浅析Java中线程组(ThreadGroup类)

    一.概念 Java中使用ThreadGroup类来代表线程组,表示一组线程的集合,可以对一批线程和线程组进行管理.可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线 ...

  7. java xml dom4j 解析_在JAVA中怎么用DOM和DOM4j解析XML啊?

    二.XML文件 三.开始解析 public class JDOMTest { public static void main(String[] args) { // 进行对books.xml文件的JD ...

  8. java try catch嵌套_解析Java中未被捕获的异常以及try语句的嵌套使用

    Java未被捕获的异常 在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的.下面的小程序包括一个故意导致被零除错误的表达式. class Exc0 { public st ...

  9. java 文件内容排序_在Java中对2个大型文本文件进行排序的最佳方法是什么?

    我正在构建一个简单的 Java应用程序,涉及从csv文件中读取信息. csv文件中的信息以这种形式出现: "ID","Description" "AB ...

最新文章

  1. python 实现延迟的操作
  2. 机器学习中的DCGAN-Tensorflow:用于更稳定的训练
  3. 城市大脑全球标准研究3:如何理解城市大脑中的“大脑”?
  4. POJ 1006 Biorhythms 中国的法律来解决剩余的正式
  5. openStack工具集
  6. Java内存模型与指令重排
  7. es6解构赋值的高级技巧
  8. Pmwiki基本编辑功能
  9. c语言 socket 断开自动连接,如何优雅地断开TCP连接?
  10. python修饰符号的使用_Python 函数修饰符(装饰器)的使用
  11. gin -get请求的小示例1-Handle处理GET请求
  12. java中NULL与 的区别
  13. PHP实现的RSA加密解密
  14. 移动端webscoket连接失败---code1006
  15. 基于西门子S7-1200PLC的步进电机控制
  16. vue打印插件的使用
  17. Vmware vSphere Web Client部署ovf模板报错:传输失败 OVF 描述符不可用
  18. S60v5 编程环境的搭建
  19. 网站优化长尾词怎么做排名优化
  20. 如何停止计算机设备,电脑出现“该设备因问题而停止”该怎么办?

热门文章

  1. 一个苦逼测试员的七夕感想
  2. 轨迹系列8——记某真实项目中轨迹展示查询效率优化方案一(初步设计)
  3. 《 Spring1之第二次站立会议(重发)》
  4. Outlook 获取联系人名片对象为空
  5. 2.3.2便捷的电子邮件
  6. 6、单机运行环境搭建之 --CentOS-6.4安装MySQL 5.6.10并修改MySQL的root用户密码
  7. 一步一步教你写带图片注释的淡入淡出插件(三)
  8. 【MM】基于收货的发票校验Bapi Demo
  9. 【转】SAP 条形码
  10. Smartform 动态打印选择屏幕上传的图片