「java自动转换教学」java 自动转换
本篇文章给大家谈谈java自动转换教学,以及java 自动转换对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
关于java自动类型那个转换
java转型范围,自动转型和强制转型。
自动类型转换,也称隐式类型转换,是指不需要书写代码,由系统自动完成的类型转换。由于实际开发中这样的类型转换很多,所以
Java
语言在设计时,没有为该操作设计语法,而是由
JVM
自动完成。
转换规则:从存储范围小的类型到存储范围大的类型。
具体规则为:byte→short(char)→int→long→float→double
注意问题:在整数之间进行类型转换时,数值不发生改变,而将整数类型,特别是比较大的整数类型转换成小数类型时,由于存储方式不同,有可能存在数据精度的损失。
强制类型转换,也称显式类型转换,是指必须书写代码才能完成的类型转换。该类类型转换很可能存在精度的损失,所以必须书写相应的代码,并且能够忍受该种损失时才进行该类型的转换。
转换规则:从存储范围大的类型到存储范围小的类型。
具体规则为:double→float→long→int→short(char)→byte
语法格式为:(转换到的类型)需要转换的值
JAVA如何进行强制类型转换
转型有两种: 向上转型和向下转型(强制转型)
两种分别如下:
一种是向上转型
对于基础数据类型 , 可以自动转型 ,比如:
int a = 10;
long b = a;
这里就是把int型转成了long型 , 因为 long范围比int大 , 这样的转型不会有任何影响 , 所以可以自动转型
又比如 A a = new B();
其中 A 是B 的父类 , 这也是多态 , 就是父类的对象指向子类的引用 , 你调用a对象 , 实际上是B的类 , 但是B继承A , 拥有A的一切属性和方法 (不谈复写)
第二种是向下转型 , 也就是强制
这种需要强转 , 比如
long a = 10 ;
int b = (int) a;
通过 (int)可以强制转型 , 但是这样会丢失精度 , 比如a如果超过了b的范围 , 那么强转成int型, 只会等于int的最大值
又比如 :
B b = new A(); 这样是不行的 , 需要有中间途径 , 比如
A a = new A(); Object obj = a; B b = (A) a;
而这种强转 , 又有要求 , 必须是同类型 , 也就是说 A 就是B , 不然会报错.
不同类型之间如果要转型 , 需要通过中间途径 , 比如JSON , 将A转成JSON串 , 然后再转换为B
java自动类型转换示例
自动类型转换,就是一个类型直接可以赋值给另外一个类型,而不需要强制进行转换。
举例:
public class Test {
public static void main (String args[])
{
int i=123;
char c1=22;
char c2='c';
byte b=2;
int n=b;
long l=i;
System.out.println(n);
System.out.println(l);
}
}
java自动类型转换是什么意思
在理解自动类型转换之前必须理解这样一个原则“表数范围小的可以向表数范围大的进行自动类型转换”,因此自动类型转换指小可转大,大转小会失去精度,自动类型是两个大小不同的数据,会把小的转变成大的进行运算。
java高级编程语言是一种类型语言,编程过程中的对数据类型的限制是比较严格的。
关于java自动转换教学和java 自动转换的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-28,除非注明,否则均为
原创文章,转载请注明出处。