zoukankan      html  css  js  c++  java
  • Java数字类Number和Math

    Number类

    Java是纯面向对象编程语言,为了以对象的方式使用内置数据类型,比如byte、int、long、double等,Java对它们进行了封装,封装后的类称为包装类。这里的封装一般也叫做装箱,反之叫做拆箱。

    image-20211004060330495

    所有的数字包装类,都是抽象基类Number的子类,包括Byte、Short、Integer、Long、Float、Double。

    示例:

    public class Test{
       public static void main(String[] args){
          Integer x = 5;  // 装箱
          x =  x + 10;  // 拆箱
          System.out.println(x); 
       }
    }
    

    Math类

    为了支持数学运算,Java提供了Math类,可以进行指数、对数、平方根等数学运算。

    示例:

    public class Test {  
        public static void main (String []args)  
        {  
            System.out.println("90 度的正弦值:" + Math.sin(Math.PI/2));  
            System.out.println("0度的余弦值:" + Math.cos(0));  
            System.out.println("60度的正切值:" + Math.tan(Math.PI/3));  
            System.out.println("1的反正切值: " + Math.atan(1));  
            System.out.println("π/2的角度值:" + Math.toDegrees(Math.PI/2));  
            System.out.println(Math.PI);  
        }  
    }
    

    对于四舍五入,Math提供了round、floor、ceil三个方法:

    • round:四舍五入
    • floor:向下取整
    • ceil:向上取整(返回double类型)

    示例:

    image-20211004062021194

    基本类型与包装类区别

    1. 基本类型不是对象,不需要new关键字创建,包装类需要使用new关键字创建对象。
    2. 存储方式不同,基本类型的值存在堆栈中,包装类的实例存在堆中。
    3. 初始值不同,包装类的初始值为null,基本类型视具体类型而定,比如int初始值为0,boolean初始值为false。
    4. 有些场景下只能使用包装类,比如与集合类交互,使用泛型和反射调用函数,某个字段允许null值,就只能使用包装类。

    参考资料:

    https://www.runoob.com/java/java-number.html

    https://www.cnblogs.com/EasonJim/p/7835357.html


    所有文章公众号首发!
    如果你觉得这篇文章写的还不错的话,关注公众号“dongfanger”,你的支持就是我写文章的最大动力。

    版权申明:本文为博主原创文章,转载请保留原文链接及作者。
  • 相关阅读:
    二次离线莫队
    串串题-各种算法的应用
    插头dp 笔记
    ST03模拟赛#1 比赛记录
    AtCoder Regular Contest 123 比赛记录(vp)
    冷门trick:线性区间单调求和
    dp优化瞎吹
    概率期望
    NOI挑战赛#2 (vp) 记录
    动态规划-线性dp-序列组成-5833. 统计特殊子序列的数目
  • 原文地址:https://www.cnblogs.com/df888/p/15365658.html
Copyright © 2011-2022 走看看