02.强制类型转化

Posted W-forever

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了02.强制类型转化相关的知识,希望对你有一定的参考价值。

数据类型转化

小的数据类型可以转化为大的数据类型,自动类型转化

class demn{
    public static void main(String[] args){
        byte b = 11;//一个字节
        short s = b;//2个字节
        int i = s;//4个字节
        long l = i;//8个字节
        System.out.println(l);
    }
}

大的数据类型转化为小的数据类型,强制类型转化,否则丢失精度

强制类型转化的格式:
小数据类型 变量名 = (小数据类型)大数据类型

class demn{
    public static void main(String[] args){
        int i = 128;
        byte b = (byte) i;
        Syetem.out.println(b);//-128,负数是通过补码的形式存储的,先通过补码转化为原码,再求范围
        System.out.println(Integer.toBinaryString(-7));
        
        byte b1 = 1;
        byte b2 = 2;
        byte b3 = b1 + b2;//丢失精度
        byte b3 = (byte)(b1 + b2);
        System.out.println()
            
        System.out.println(\'a\' + 1);
        
        int i = 10;
        long l = 20;
        i = (int)(i + l);
        System.out.println(i);
        
        byte b = 10;//一个整数没有加任何标识的时候,默认是int类型的数据
        System.out.println(b);//不报错
        //10是一个常量,编译器在编译的时候能够确认常量的值,java编译器会检测到10并没有超出byte的范围,所以允许赋值
        
        int i = 10;
        byte c = i;
        System.out.println(b);//java编译器在编译的时候并不能确定变量所存储的值
    }
}

数据类型转化要注意的一个细节

​ 1. 凡是byte,short,char数据类型的数据在运算的时候都会转化为int类型的数据再进行运算

​ 2. 两个不同的数据类型在运算的时候结果取决于大的数据类型

以上是关于02.强制类型转化的主要内容,如果未能解决你的问题,请参考以下文章

关于JS的数据类型与转化(自动与强制)

MATLAB中的数据从double类型强制转化为uint8其舍入用的是四舍五入,附MATLAB基本数据类型

如何用js把字符串转化为整型

python中字符类型是不是可以强制转化为bool类型

python输入输出的格式化,用户输入函数,强制类型转化

java中如何进行安全的类型转换