Java数据类型及类型转换

Java数据类型

Java基本数据类型:整型、浮点型、字符型、布尔型。

在这里插入图片描述
数据范围从小到大依次排序是:byte < (short / char) < int < long < float < double

代码实例

public class Data {
    public static void main(String[] args) {
    // 1.整型
    byte b = 66; // -128 到 127
    System.out.println(b);
    short s = 1111; // -32768 到 32767
    System.out.println(s);
    int i = 999999; // -2147483648 到 2147483647 默认就是int
    System.out.println(i);
    long l = 123456789098L; // 123456789098超出了int范围需要添加L/l
    System.out.println(l);

    // 2.浮点型
    double d = 66.6; // 小数默认是double
    System.out.println(d);
    float f = 66.6f; // float需要添加F/f
    System.out.println(f);

    // 3.字符型
    char c1 = '牛';
    System.out.println(c1);
    char c2 = 'B';
    System.out.println(c2);

    // 4.布尔型
    boolean b1 = true;
    System.out.println(b1);
    boolean b2 = false;
    System.out.println(b2);
    }
}

Java数据类型转换

一、自动类型转换

自动类型转换就是数据范围小的变量可以直接赋值给数据范围大的变量。

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

自动类型转换其本质就是在较小数据类型数据前面补充若干个字节。
在这里插入图片描述
在这里插入图片描述

自动类型转换的其他形式

在这里插入图片描述

二、表达式的自动类型转换

所谓表达式指的是几个变量或者几个数据一起参与运算的式子。
在表达式中,小范围类型的变量会自动转换成表达式中较大范围的类型,再参与运算。

注意事项
1.多种数据类型参与运算,其结果以大的数据类型为准。
2.byte,short,char 三种类型数据在和其他类型数据运算时,都会转换为int类型再运算。

代码实例
public class datatype {
    public static void main(String[] args) {
    byte a = 66;
    int b = 600;
    long c = 6000;
    // 在表达式中,小范围类型的变量,会自动转换成表达式中较大范围的类型,再参与运算
    long ret1 = a + b + c;
    System.out.println(ret1);
    double d = 0.6;
    double ret2 = a + b + d;
    System.out.println(ret2);
    }
}

三、强制类型转换

强行将类型范围大的变量、数据赋值给类型范围小的变量。
目标数据类型 变量名 = (目标数据类型)被转换的数据;
例如:
int a = 20;
byte b = (byte)a;

代码实例
public class datatype {
    public static void main(String[] args) {
    int i = 66;
    byte b = (byte) i;
    System.out.println(i);
    System.out.println(b);
    int i2 = 666;
    byte b2 = (byte) i2;
    System.out.println(b2); //数据丢失

    double d = 66.6;
    int i3 = (int) d;
    System.out.println(i3); //数据丢失
    }
}
强制类型转换的原理

强制类型转换的原理,其实就是强行把前面几个字节砍掉,但是有数据丢失的风险
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值