Java学习笔记第06期——Java基础语法Part5

Java 基础语法 Part5

Ayo大家好我是Tomatooo,这是我的Java学习笔记第6期,话不多说直插主题——

在有关我笔记分享的博文中,我都会将MD笔记文件另外发布,方便朋友们下载学习。
本期笔记文件下载地址:https://download.csdn.net/download/lbwnbnbnbn/15364021

浮点数运算

误差

浮点数运算只能进行加减乘除这些数值计算,不能做位运算和移位运算。
浮点数虽然表示的范围大,但是浮点数常常无法精确表示,会有误差,例如十进制中的0.1转换成二进制是一个无限循环小数。
误差示例:

public class Main {
    public static void main(String[] args) {
        double x = 1.0 / 10;
        double y = 1 - 9.0 / 10;
        // 观察x和y是否相等:
        System.out.println(x);//0.1
        System.out.println(y);//0.09999999999999998
    }
}

类型提升

如果参与运算的两个数其中一个是整型,那么整型可以自动提升到浮点型
**注意:需要特别注意,在一个复杂的四则运算中,两个整数的运算不会出现自动提升的情况。**示例:

double d = 1.2 + 24 / 5; // 5.2

编译器计算24 / 5这个子表达式时,按两个整数进行运算,结果仍为整数4

溢出

整数运算在除数为0时会报错,而浮点数运算在除数为0时,不会报错,但会返回几个特殊值:

  • NaN表示Not a Number
  • Infinity表示无穷大
  • -Infinity表示负无穷大

强制类型转换

浮点数可以强制转换成整数,转换时小数部分会被丢掉,如果转型后超过了整型能表示的最大范围,将返回整型的最大值。

如果要进行四舍五入,可以对浮点数加上0.5再强制转型。

布尔运算

布尔类型只有truefalse两个值。

关系运算符

布尔运算是种关系运算,关系运算符包括:

  • 比较运算符:>>=<<===!=
  • 与运算 &
  • 或运算 |
  • 非运算 !

短路运算

如果一个布尔运算表达式能提前确定结果,则后续的计算不再执行,直接返回结果。

短路与:&&

短路或:||

三元运算符

三元运算符也叫三目运算符b ? x : y,它根据第一个布尔表达式的结果,分别返回后续两个表达式之一的计算结果。(三元运算也是“短路运算”)

public class demo {
    public static void main(String[] args) {
        int x = -100;
        int b = x >= 0 ? x : -x;
        System.out.println(b);
    }
}

上述语句判断b >= 0是否成立,如果为true,则返回n,否则返回-n

三元运算b ? x : y会首先计算b,如果btrue,则只计算x,否则,只计算y

另外,xy的类型必须相同

看都看到这儿了,不关注一下嘛(~ ̄▽ ̄)~

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值