• Java学习笔记(2)


    int 和 booleam 不能直接转换,如下语法是不能通过的:

    boolean b = true;
    int i = (int) b;
    
    int j = 1;
    boolean a = (boolean) j;

    对两个浮点数作相当比较时,经常不会得到想要的结果,如下:
    double x=1.0 - 0.1 - 0.1  -0.1 - 0.1 - 0.1;
    System.out.println(x == 0.5);

    你可能期望打印 true, 但是会打印 false, 这跟浮点数的存储方式有关,实际上x不是0.5,而是0.5000000000000000001.

    既然不能直接比较是否相等,可以比较二者差的绝对值是否小于某个非常小的极限值,可用如下公式来间接比较二者是否相等:
    if |x - y| < ε, 其中的 ε 就是要采用的极限值,通常比较 double 类型的值时用1E-14, 比较 float 类型的值时用1E-7.
    所以上面的比较可以改写为:
    final double EPSILON = 1E-14;
    double x=1.0 - 0.1 - 0.1 -0.1 -0.1 -0.1 -0.1;
    if (Math.abs(x-0.5)<EPSLION){
      System.out.println("二者无限接近")
    }

    使用Math.random()产生一个0.0到1.0(不含)之间的浮点数

    System.exit(int status); 用于终止程序,0表示正常退出,非0表示非



  • 相关阅读:
    css动画特效
    http标码集合
    vue的搭建项目
    多功能
    react官方脚手架搭建项目
    深入挖掘分析Go代码
    GoLang AST简介
    GoLang中的逃逸分析简介
    使用Golang实现状态机
    GoLang中的Context
  • 原文地址:https://www.cnblogs.com/xclw/p/10496050.html
Copyright © 2020-2023  润新知