java 基本数据类型介绍

在这里插入图片描述

1. 特殊说明:

1.1默认的浮点直接量为double型,如果要表示float类型的直接量,需要加"f"或者"F" 后缀。
例如:float f1 = 3.14 会有编译错误,应该写成3.14f 或者3.14F
1.2 double型再运算时会出现舍入误差
1/2--------------------0.5
1/3-------------------0.333333333
2/3-------------------0.666666666
我们日常使用的都是十进制,例如上面的1/2和2/3 是无法用十进制精确表示的
计算机使用的是2进制,同样有些数使用2进制是不能够精确表示的,例如2进制中无法精确表示1/10,通过代码测试如下:

public class Hello {
    public static void main(String[] args) {
        double money = 3.0;
        double price = 2.9;
        System.out.println(money-price);

    }
}

执行main 方法,你会发现输出的结果是:0.10000000000000009,java中成这种现象为"舍入误差",如果需要精确的运算可以考虑放弃double或者float而采用BigDecimal类来实现

BigDecimal b1 = new BigDecimal("3.0");
BigDecimal b2 = new BigDecimal("2.9");
System.out.println(b1.subtract(b2).doubleValue());

在运算过程中BigDecimal构造中必须使用字符串,如果使用double类型同样还是会有舍入误差出现

  1. 常用数据类型介绍
    2.1int介绍:
    2.1.1 int 表示整形,4个字节,范围是-21个多亿-21个多亿
    int a = 250;//250为整数直接量,默认为int型
    int b = 10000000000;//编译错误10000000000默认为int型,但是超范围了
    2.1.2两个整数相除,结果还是整数,小数位无条件舍弃
System.out.println(5/2);//输出结果2
System.out.println(2/5);//输出结果0

2.1.3运算时超出范围会发生溢出,溢出是需要避免的
2.2long :长整形,8个字节,范围很大很大
2.2.1长整形直接量为在数字后面加l或L
2.2.2算数运算时又可能超范围,建议在第一个数字后加l或者L,例如 long l = 100000000000L30010000

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值