java11-Java数据类型转换

简介: java11-Java数据类型转换

(自动转换和强制转换)

数据类型的转换,分为自动转换和强制转换。自动转换是程序在执行过程中“悄然”进行的转换,不需要用户提前声明,一般是从位数低的类型向位数高的类型转换;强制类型转换则必须在代码中声明,转换顺序不受限制。

自动数据类型转换

自动转换按从低到高的顺序转换。不同类型数据间的优先关系如下:

低--------------------------------------------->高

byte,short,char-> int -> long -> float -> double

运算中,不同类型的数据先转化为同一类型,然后进行运算,转换规则如下:

操作数1类型 操作数2类型 转换后的类型

byte、short、char int int

byte、short、char、int long long

byte、short、char、int、long float float

byte、short、char、int、long、float double double

强制数据类型转换

强制转换的格式是在需要转型的数据前加上“( )”,然后在括号内加入需要转化的数据类型。有的数据经过转型运算后,精度会丢失,而有的会更加精确,下面的例子可以说明这个问题。

public class Demo {
    public static void main(String[] args){
                int x;
                double y;
                x = (int)34.56 + (int)11.2;  // 丢失精度
                y = (double)x + (double)10 + 1;  // 提高精度
                System.out.println("x=" + x);
                System.out.println("y=" + y);
            }
            }

 

   运行结果:

   x=45

   y=56.0

仔细分析上面程序段:由于在 34.56 前有一个 int 的强制类型转化,所以 34.56 就变成了 34。同样 11.2 就变成了 11 了,所以 x 的结果就是 45。在 x 前有一个 double 类型的强制转换,所以 x 的值变为 45.0,而 10 的前面也被强制成 double 类型,所以也变成 10.0,所以最后 y 的值变为 56。


相关文章
|
1月前
|
缓存 Java 编译器
34、Java 中有了基本数据类型,为什么还需要有包装类型?包装类型是啥?
34、Java 中有了基本数据类型,为什么还需要有包装类型?包装类型是啥?
35 1
|
1月前
|
存储 Java
java基础,java基本数据类型、引用数据类型
java基础,java基本数据类型、引用数据类型
|
1月前
|
存储 Oracle Java
【详识JAVA语言】数据类型与变量
【详识JAVA语言】数据类型与变量
44 1
【详识JAVA语言】数据类型与变量
|
6天前
|
存储 Java
Java中的基本数据类型有哪些?它们的大小和取值范围是多少?
Java基础数据类型:4种整型(byte[-128,127],short[-32,768,32,767]),2种浮点(float,double),1种字符(char,Unicode),1种布尔(true,false)。
12 0
|
1月前
|
Java
JAVA基本数据类型输入输出流
JAVA基本数据类型输入输出流
14 0
|
1月前
|
存储 算法 Java
Java基本数据类型
Java基本数据类型
22 1
|
25天前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
89 3
|
28天前
|
存储 Java
Java基本数据类型
Java基本数据类型
7 0
|
1月前
|
存储 缓存 Java
JAVA基本数据类型的包装类
JAVA基本数据类型的包装类
13 0