zoukankan      html  css  js  c++  java
  • Java Number&Math类

    Java Number&Math类

    一般地,当需要使用数字的时候,我们通常使用内置数据类型,如byte、short、int、long、float、double(char、String、boolean除外(0八进制,0x十六进制,f,d))。

    然而,在实际开发过程中,我们经常遇到需要使用对象,而不是内置数据类型的情形。为了解决这个问题,Java语言为每一个内置数据类型提供了对应的包装类。

    所有的包装类(int、long、byte、short、float、double)都是抽象类Number的子类。

    这种由编译器特别支持的包装称为装箱,所以当内置数据类型被当作对象使用的时候,编译器会把内置类型装箱为包装类。相似的,编译器也可以把一个对象拆箱为内置类型。Number类属于Java.lang包。

    下面是一个使用integer对象的实例:

    1 public class Test{
    2 public static void main(String[] args){
    3 int x=10;
    4 x+=5;
    5 System.out.println(x);
    6 }
    7 }

    当x被赋为整型值时,由于x是一个对象,所以编译器要对x进行装箱。然后,为了使x能进行jia运算,所以要对x进行拆箱。


    Java Math类

     Java的Math包含了用于执行基本数学运算的属性和方法,如初等指数、对数、平方根和三角函数。

    Math的方法都被定义为static形式,通过Math类可以在主函数中直接调用。

     1 public class MathTest {
     2     public static void main(String[]args){
     3         System.out.println("90度的正弦值:"+Math.sin(Math.PI/2));//Math.PI代表180度???
     4         System.out.println("0度的余弦值:"+Math.cos(0));
     5         System.out.println("60度的正切值:"+Math.tan(Math.PI/3));
     6         System.out.println("1的反正切值:"+Math.atan(1));
     7         System.out.println("Π/2的角度值:"+Math.toDegrees(Math.PI/2));//toDegrees求角度值???
     8         System.out.println(Math.PI);
     9     }
    10 }

    Number&Math类方法

     下面的表中列出的是Number&Math类常用的一些方法:


    Math的floor,round和ceil方法实例比较

     

     1 public class MathTestSecond {
     2     public static void main(String[] args) {
     3         double[] nums={1.4,1.5,1.6,-1.4,-1.5,-1.6};
     4         for(int num=0;num<nums.length;num++){
     5         testNum(nums[num]);
     6         }
     7     }
     8     private static void testNum(double num){
     9         System.out.println("Math.floor("+num+")="+Math.floor(num));
    10         System.out.println("Math.round("+num+")="+Math.round(num));
    11         System.out.println("Math.ceil("+num+")="+Math.ceil(num));
    12 
    13     }
    14 }

    或者

     1 public class MathTestSecond {
     2     public static void main(String[] args) {
     3         double[] nums={1.4,1.5,1.6,-1.4,-1.5,-1.6};
     4         for(double num:nums){
     5         testNum(num);
     6         }
     7     }
     8     private static void testNum(double num){
     9         System.out.println("Math.floor("+num+")="+Math.floor(num));
    10         System.out.println("Math.round("+num+")="+Math.round(num));
    11         System.out.println("Math.ceil("+num+")="+Math.ceil(num));
    12 
    13     }
    14 }

    什么他妈的叫他妈的惊喜!
  • 相关阅读:
    Bootstrap
    格式化字符串
    闭包函数与装饰器
    正则表达式
    jQuery
    分布式-锁-1.1 多线程锁无法满足的场景
    effective python 读书笔记-第22条: 尽量用辅助类来维护程序的状态,而不要用字典
    effective python 读书笔记:第21条-用只能以关键字形式指定的参数来确保代码明晰
    effective python 读书笔记:第20条-用None和文档字符串来描述具有动态默认值的参数
    git如何将上游(upstream)新建分支(origin没有)导入到origin中?
  • 原文地址:https://www.cnblogs.com/2020yl/p/12241770.html
Copyright © 2011-2022 走看看