JAVA_基础数据类型介绍与基本数据类型之间的运算规则

基本数据类型

  • 整型: byte、short、int、long

    java 的整型常量默认为int型,在java程序中变量通常声明为int型,除非不足以表示较大的数才用long,而在声明long型常量必须在后面加上lL

    类型占用储存空间表数范围
    byte1字节=8bit-128 ~ 127
    short2字节-215 ~ 215 - 1
    int4字节-231 ~ 231 -1 (约21亿)
    long8字节-263 ~ 263 - 1
  • 浮点型:float、double

    ​ 浮点型表示小数点的数值,java浮点型常量默认类型为double

    • float表示数值的范围比long还大,在定义float变量时,变量要以fF结尾(尾数可以精确到7位数字。很多情况下,精度很难满足需求)
    • double精度是float的两倍。(通常采用此类型定义)
    类型占用储存空间表数范围
    单精度float4字节-3.403E38 ~ 3.403E38
    双精度double8字节-1.798E308 ~ 1.798E308
  • 字符型:char

    在声明char型变量时,通常使用一对' ',内部只能写一个字符。

    实列:

    • char = '世'
    • char = '世界' ×
    类型占用储存空间表数范围
    char1字符 = 2字节
  • 布尔型:boolean

    布尔型只有两个值:truefalse,一般用在判断、循环结构中使用。

引用数据类型

  • 特殊:字符串(String属于引用数据类型) String可以和所用数据类型进行计算,结果都为String类型。

  • 类(class

  • 接口(interface

  • 数组(array

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

自动类型提升

bytecharshort) → intlongfloatdouble

特别:当bytecharshort三种类型的变量做运算时,结果为int类型。

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

说明: 此时的容量大小指的是表示数的范围的大和小。

比如:float容量要大于long的容量。

强制类型转换

强制类型转换就相当与自动类型提升运算的逆运算

  • 强制数据转换需要使用强转符:()

  • 注意:强制类型转换,可能导致精度损失

    public class VariableTest2 {
        public static void main(String[] args){
           /*精度损失举例1*/
            double d1 = 12.3;
            int i1 = (int)d1;
            System.out.println(i1); // 12
    
            /*没有损失精度*/
            long d2 = 123L;
            short i2 = (short)d2;
            System.out.println(i2); // 123
    
            /*精度损失举例2*/
            int d3 = 128;
            byte i3 = (byte)d3;
            System.out.println(i3); // -128
        }
    }
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值