Java教程
+ -

Java Number & Math 类

2019-09-09 2 0

一般地,当需要使用数字的时候,我们通常使用内置数据类型,如: byte 、int、long、double 等。

实例

int a = 5000;
float b = 13.65f;
byte c = 0x4a;

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

所有的包装类 ( Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。

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

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

Test.java 文件代码:

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

以上实例编译运行结果如下:

15

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

Java Math 类

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

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

Test.java 文件代码:

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);  
    }  
}

以上实例编译运行结果如下:

90 度的正弦值:1.0
0度的余弦值:1.0
60度的正切值:1.7320508075688767
1的反正切值: 0.7853981633974483
π/2的角度值:90.0
3.141592653589793

Number & Math 类方法

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

序号 方法与描述
1 xxxValue() 将 Number 对象转换为xxx数据类型的值并返回。
2 compareTo() 将number对象与参数比较。
3 equals() 判断number对象是否与参数相等。
4 valueOf() 返回一个 Number 对象指定的内置数据类型
5 toString() 以字符串形式返回值。
6 parseInt() 将字符串解析为int类型。
7 abs() 返回参数的绝对值。
8 ceil() 返回大于等于( >= )给定参数的的最小整数。
9 floor() 返回小于等于(<=)给定参数的最大整数 。
10 rint() 返回与参数最接近的整数。返回类型为double。
11 round() 它表示 四 舍五入,算法为 Math.floor(x+0.5),即将原来的数字加上 0.5 后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5) 的结果为-11。
12 min() 返回两个参数中的最小值。
13 max() 返回两个参数中的最大值。
14 exp() 返回自然数底数e的参数次方。
15 log() 返回参数的自然数底数的对数值。
16 pow() 返回第一个参数的第二个参数次方。
17 sqrt() 求参数的算术平方根。
18 sin() 求指定double类型参数的正弦值。
19 cos() 求指定double类型参数的余弦值。
20 tan() 求指定double类型参数的正切值。
21 asin() 求指定double类型参数的反正弦值。
22 acos() 求指定double类型参数的反余弦值。
23 atan() 求指定double类型参数的反正切值。
24 atan2() 将笛卡尔坐标转换为极坐标,并返回极坐标的角度值。
25 toDegrees() 将参数转化为角度。
26 toRadians() 将角度转换为弧度。
27 random() 返回一个随机数。

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

参数 Math.floor Math.round Math.ceil
1.4 1 1 2
1.5 1 2 2
1.6 1 2 2
-1.4 -2 -1 -1
-1.5 -2 -1 -1
-1.6 -2 -2 -1

floor,round 和 ceil 实例:

public class Main {   
  public static void main(String[] args) {   
    double[] nums = { 1.4, 1.5, 1.6, -1.4, -1.5, -1.6 };   
    for (double num : nums) {   
      test(num);   
    }   
  }   
  private static void test(double num) {   
    System.out.println("Math.floor(" + num + ")=" + Math.floor(num));   
    System.out.println("Math.round(" + num + ")=" + Math.round(num));   
    System.out.println("Math.ceil(" + num + ")=" + Math.ceil(num));   
  }   
}

以上实例执行输出结果为:

Math.floor(1.4)=1.0
Math.round(1.4)=1
Math.ceil(1.4)=2.0
Math.floor(1.5)=1.0
Math.round(1.5)=2
Math.ceil(1.5)=2.0
Math.floor(1.6)=1.0
Math.round(1.6)=2
Math.ceil(1.6)=2.0
Math.floor(-1.4)=-2.0
Math.round(-1.4)=-1
Math.ceil(-1.4)=-1.0
Math.floor(-1.5)=-2.0
Math.round(-1.5)=-1
Math.ceil(-1.5)=-1.0
Math.floor(-1.6)=-2.0
Math.round(-1.6)=-2
Math.ceil(-1.6)=-1.0

0 篇笔记 写笔记

ObjectiveC 数据类型
在Objective-C编程语言中,数据类型是指用于声明不同类型的变量或函数的扩展系统。 变量的类型决定了它在存储中占用的空间大小以及如何解释存储的位模式。Objective-C中的类型可分为以下几类 -编号类型描述 1基本类型它们是算术类型,由两种类型组成:(a)整数类型和(b)浮点类型。 2......
PHP 函数不定参数和默认参数
PHP作为一门弱化语言,支持c语言类似的不定参数和可选参数,只是格式书写格式不致,如:不定参数:使用函数fun_num_args()获取参数个数,使用fun_get_args()获取参数,指定索引则获取第内个参数,未指定索引指获取所有参数并生成数组返回。
Ruby 方法与其他编程语言中的函数类似。Ruby 方法用于捆绑一个或多个重复的语句到一个单元中。方法名应以小写字母开头。如果您以大写字母作为方法名的开头,Ruby 可能会把它当作常量,从而导致不正确地解析调用。方法应在调用之前定义,否则 Ruby 会产生未定义的方法调用异常。语法def metho......
rint() 方法返回最接近参数的整数值。语法该方法有以下几种语法格式:double rint(double d)参数double 原始数据类型。返回值返回 double 类型数组,是最接近参数的整数值。实例实例public class Test{ public static void mai......
sqrt() 方法用于返回参数的算术平方根。语法double sqrt(double d)参数d -- 任何原生数据类型。返回值返回参数的算术平方根。实例public class Test{ public static void main(String args[]){ dou......
PHP参数化函数是带有参数的函数。 您可以在函数中传递任意数量的参数。 这些传递的参数作为函数中的变量。它们在函数名称之后,在括号内指定。输出取决于作为参数传递到函数中的动态值。PHP参数化示例1 加减法在这个例子中,我们在两个函数add()和sub()中传递了两个参数$x和$y。 文件:para.......
函数是一组一起执行一个任务的语句。每个 C++ 程序都至少有一个函数,即主函数 main() ,所有简单的程序都可以定义其他额外的函数。您可以把代码划分到不同的函数中。如何划分代码到不同的函数中是由您来决定的,但在逻辑上,划分通常是根据每个函数执行一个特定的任务来进行的。函数 声明告诉编译器函数的名......
Redis支持5种数据类型。StringsRedis字符串是字节序列,Redis中的字符串是二进制安全的,这意味着它们的长度不受任何特殊终止字符的确定,因此,您可以在一个字符串中存储高达512MB的任何内容。redis 127.0.0.1:6379> SET name "byteki......
equals() 方法用于判断 Number 对象与方法的参数进是否相等。语法public boolean equals(Object o)参数o -- 任何对象。返回值如 Number 对象不为 Null,且与方法的参数类型与数值都相等返回 True,否则返回 False。Double 和 Flo......
Python 数字数据类型用于存储数值。数据类型是不允许改变的,这就意味着如果改变数字数据类型的值,将重新分配内存空间。以下实例在变量赋值时 Number 对象将被创建:var1 = 1var2 = 10您也可以使用del语句删除一些数字对象的引用。del语句的语法是:del var1[,var2[......
compareTo() 方法用于两种方式的比较:字符串与对象进行比较。按字典顺序比较两个字符串。语法int compareTo(Object o)或int compareTo(String anotherString)参数o -- 要比较的对象。anotherString -- 要比较的字符串。返回......
toDegrees() 方法用于将参数转化为角度。语法double toDegrees(double d)参数d -- 任何原生数据类型。返回值该方法返回 double 值。实例public class Test{ public static void main(String args[]){......
通过引用调用向函数传递参数的方法将参数的地址复制到参数中,在函数内部,地址用于访问调用中使用的实际参数,这意味着对参数所做的更改会影响传递的参数。要通过引用传递一个值,参数指针被传递给函数,就像传递任何其他值一样,因此,您需要将函数参数声明为指针类型,如下面的函数swap()所示,该函数通过其参数交......
泛 型(Generic)允许您延迟编写类或方法中的编程元素的数据类型的规范,直到实际在程序中使用它的时候。换句话说,泛型允许您编写一个可以与任何数据类型一起工作的类或方法。您可以通过数据类型的替代参数编写类或方法的规范。当编译器遇到类的构造函数或方法的函数调用时,它会生成代码来处理指定的数据类型。下......
compareToIgnoreCase() 方法用于按字典顺序比较两个字符串,不考虑大小写。语法int compareToIgnoreCase(String str)参数str -- 要比较的字符串。返回值如果参数字符串等于此字符串,则返回值 0;如果此字符串小于字符串参数,则返回一个小于 0 的值......
取消
感谢您的支持,我会继续努力的!
扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

您的支持,是我们前进的动力!