Java 基本数据类型之间的运算规则

简介: Java 基本数据类型之间的运算规则

前言:

这里只讨论七种基本数据类型变量间的运算,不包含boolean类型的。

1.自动类型提升:

结论:当容量小的数据类型的变量与容量大的数据类型的变量做运算时,结果自动提升为容量大的。

说明:此时的容量大小指的是,表示数的范围大和小。比如long占用八个字节,float占用四个字节,但是float的容量要大于long的容量。

byte、short、char—>int–>long–>float–>double

注意:当byte、short、char三种类型的变量做运算时,结果为int型

@Test
    public void test() {
        int a1 = 3;
        float a2 = 5.4f;
        float a3 = a1 + a2;
        System.out.println(a3); //8.4
        byte b1 = 20;
        short b2 = 12;
        int b3 = b1 + b2;
        System.out.println(b3); //32
        short c1 = 45;
        double c2 = c1;
        System.out.println(c2); //45.0
        byte e1 = 45;
        short e2 = 14;
        char e3 = 'a';
        //编译不通过
//        byte e4 = e1+e2;
        //编译不通过
//        short e5 = e1+e3;
        //编译不通过
//        char e6 = e1+e2;
        char d1 = 'a'; //97
        byte d2 = 1;
        int d3 = d1 + d2;
        System.out.println(d3); //98
    }

2.强制类型转换:

自动类型提升运算的逆运算

  1. 需要使用强转符()
  2. 注意点:强制类型转换,可能导致精度损失

代码说明:

@Test
    public void test1(){
        double a1 = 12.3;
        //精度损失举例1
        int a2 = (int)a1;
        System.out.println(a2);//12
        //没有精度损失
        long c1 = 100;
        int c2 = (int)c1;
        System.out.println(c2); //100
        //精度损失举例2
        int b1 = 128;
        byte b2 = (byte) b1;
        System.out.println(b2);//-128
    }

特殊情况,看代码即可:

@Test
    public void test2(){
        long a1= 456; //不报错
        //编译失败:过大的整数
//        long a2= 4567832423235252;
        //编译失败
//        float b1= 12.6;
        byte c1 = 12;
        //整型常量,默认类型为int型
//        byte c2=c1+1; //编译失败
        //浮点型常量:默认类型为double型
//        float d1 = c1+12.3; //编译失败
    }


目录
相关文章
|
22天前
|
Java
Java 变量命名规则
4月更文挑战第6天
|
18天前
|
存储 Java
Java中的基本数据类型有哪些?它们的大小和取值范围是多少?
Java基础数据类型:4种整型(byte[-128,127],short[-32,768,32,767]),2种浮点(float,double),1种字符(char,Unicode),1种布尔(true,false)。
17 0
|
2月前
|
Java
JAVA基本数据类型输入输出流
JAVA基本数据类型输入输出流
16 0
|
1天前
|
存储 Java 数据安全/隐私保护
【Java探索之旅】运算符解密 位运算,移位运算
【Java探索之旅】运算符解密 位运算,移位运算
9 0
|
1天前
|
Java
【Java探索之旅】数据类型与变量 字面常量 整型变量
【Java探索之旅】数据类型与变量 字面常量 整型变量
8 0
|
1天前
|
存储 Java C语言
【Java探索之旅】数据类型与变量 浮点型,字符型,布尔型,字符串型
【Java探索之旅】数据类型与变量 浮点型,字符型,布尔型,字符串型
8 0
|
7天前
|
Java
Java基础知识整理,驼峰规则、流程控制、自增自减
在这一篇文章中我们总结了包括注释、关键字、运算符的Java基础知识点,今天继续来聊一聊命名规则(驼峰)、流程控制、自增自减。
34 3
|
2月前
|
Java 数据库连接 API
Java 学习路线:基础知识、数据类型、条件语句、函数、循环、异常处理、数据结构、面向对象编程、包、文件和 API
Java 是一种广泛使用的、面向对象的编程语言,始于1995年,以其跨平台性、安全性和可靠性著称,应用于从移动设备到数据中心的各种场景。基础概念包括变量(如局部、实例和静态变量)、数据类型(原始和非原始)、条件语句(if、else、switch等)、函数、循环、异常处理、数据结构(如数组、链表)和面向对象编程(类、接口、继承等)。深入学习还包括包、内存管理、集合框架、序列化、网络套接字、泛型、流、JVM、垃圾回收和线程。构建工具如Gradle、Maven和Ant简化了开发流程,Web框架如Spring和Spring Boot支持Web应用开发。ORM工具如JPA、Hibernate处理对象与数
95 3
|
2月前
|
存储 Java
Java基本数据类型
Java基本数据类型
7 0
|
2月前
|
存储 缓存 Java
JAVA基本数据类型的包装类
JAVA基本数据类型的包装类
15 0