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.lang.IllegalArgumentException: 字符[_]在域名中永远无效。 at
[http-nio-8080-exec-1] org.apache.coyote.AbstractProcessor.parseHost [xxx_tomcat] 是无效主机注意:更多的请求解析错误将 ...
- java项目----教务管理系统_基于Java的教务管理系统
java项目----教务管理系统_基于Java的教务管理系统 2022-04-22 18:18·java基础 最近为客户开发了一套学校用教务管理系统,主要实现学生.课程.老师.选课等相关的信息化管理功 ...
- java批量事物管理_[疯狂Java]JDBC:事务管理、中间点、批量更新
1. 数据库事务的概念: 1) 事务的目的就是为了保证数据库中数据的完整性: 2) 设想一个银行转账的过程,如果分两步,第一步是A的账户-1000,第二步是B的账户+1000,这两个动作必须是连贯的, ...
- oracle中的cursor属性有哪些,Oracle学习11:游标(cursor)--显式游标隐式游标、游标四个属性、循环遍历...
1.概述 上文PLSQL学习中提到的知识,可以发现,基本都可以通过Java等语言实现,而为了实现程序的可移植性,实际开发工作中我们也是如此做的. 那么PLSQL的重点是什么呢?接下来我们来介绍游标cu ...
- java代码在jsp中怎么写_在jsp中写java代码
该服务器上的所有的访问者的所有 jsp 页面 D.该服务器上的所有的访问者的所有 jsp 页面和 Java 程序 6.在 JSP 中调用 JavaBean 时不会用到的标记是( )...... jav ...
- java 线程组作用_浅析Java中线程组(ThreadGroup类)
一.概念 Java中使用ThreadGroup类来代表线程组,表示一组线程的集合,可以对一批线程和线程组进行管理.可以把线程归属到某一个线程组中,线程组中可以有线程对象,也可以有线程组,组中还可以有线 ...
- java xml dom4j 解析_在JAVA中怎么用DOM和DOM4j解析XML啊?
二.XML文件 三.开始解析 public class JDOMTest { public static void main(String[] args) { // 进行对books.xml文件的JD ...
- java try catch嵌套_解析Java中未被捕获的异常以及try语句的嵌套使用
Java未被捕获的异常 在你学习在程序中处理异常之前,看一看如果你不处理它们会有什么情况发生是很有好处的.下面的小程序包括一个故意导致被零除错误的表达式. class Exc0 { public st ...
- java 文件内容排序_在Java中对2个大型文本文件进行排序的最佳方法是什么?
我正在构建一个简单的 Java应用程序,涉及从csv文件中读取信息. csv文件中的信息以这种形式出现: "ID","Description" "AB ...
最新文章
- python 实现延迟的操作
- 机器学习中的DCGAN-Tensorflow:用于更稳定的训练
- 城市大脑全球标准研究3:如何理解城市大脑中的“大脑”?
- POJ 1006 Biorhythms 中国的法律来解决剩余的正式
- openStack工具集
- Java内存模型与指令重排
- es6解构赋值的高级技巧
- Pmwiki基本编辑功能
- c语言 socket 断开自动连接,如何优雅地断开TCP连接?
- python修饰符号的使用_Python 函数修饰符(装饰器)的使用
- gin -get请求的小示例1-Handle处理GET请求
- java中NULL与 的区别
- PHP实现的RSA加密解密
- 移动端webscoket连接失败---code1006
- 基于西门子S7-1200PLC的步进电机控制
- vue打印插件的使用
- Vmware vSphere Web Client部署ovf模板报错:传输失败 OVF 描述符不可用
- S60v5 编程环境的搭建
- 网站优化长尾词怎么做排名优化
- 如何停止计算机设备,电脑出现“该设备因问题而停止”该怎么办?