Java入门基础学习笔记14——数据类型转换

发布于:2024-05-11 ⋅ 阅读:(20) ⋅ 点赞:(0)

类型转换:

1、存在某种类型的变量赋值给另一种类型的变量;

2、存在不同类型的数据一起运算。

自动类型转换:

类型范围小的变量,可以直接赋值给类型范围大的变量。

byte类型赋值给int类型,就是自动类型转换。

package cn.ensource.type;

public class TypeConversion {
    public static void main(String[] args) {
        // 目标:理解自动类型转换机制
        byte a = 12;
        int b = a;
        System.out.println(a);
        System.out.println(b);
    }
}

自动类型转换在计算机中的执行原理:

自动类型转换的其他形式:

byte->short(char)->int->long->float->double

char类型占两个字节。

C语言中的char是1个字节。

//int -> double
int c = 100;
double d = c;

System.out.println(d);

 输出结果是100.0

// char -> int
        char ch = 'a';
        int i = ch;
        System.out.println(i);

输出结果是:97

开发的过程中,存在不同类型的变量赋值给其他类型的变量。

什么是自动类型转换:

范围小的变量,可以直接赋值给类型范围大的变量。

表达式的自动类型转换:

在表达式中,小范围类型的变量,会自动转换成成表达式较大范围的类型,再参与运算。

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

注意事项:

表达式的最终结果类型由表达式中的最高类型决定。

package cn.ensource.type;

public class TypeConversionDemo2 {
    private static 2 d;

    public static void main(String[] args) {
        // 目标:掌握表达式的自动类型转换机制
        byte a = 10;
        int b = 20;
        long c = 30;

        long rs = a + b + c;
        System.out.println(rs);

        double rs2 = a + b + 1.0;
        System.out.println(rs2);

        byte i = 10;
        short j = 20;
        short k = i + j;
        System.out.println(k);
    }
}

在表达式中,byte、short、char是直接转换成int类型参与运算的。

面试题:

byte、short、char在表达式都是直接转换成int类型参与运算的。

官方直接提升为int。能够兼容一个较大的结果。

表达式的最终结果类型是由谁决定的?

最终类型是由表达式中的最高类型决定的。

表达式的有哪些类型转换是要注意的?

byte、short、char是直接转换成int类型参与运算的。


网站公告

今日签到

点亮在社区的每一天
去签到