但我们使用数据时,我们一般使用内置数据类型,列如:byte,int,long,double等,但是在实际开发过程中,我们一般遇到的是需要使用对象,这时,我们就可以使用 Java 专门为每一个数据类型提供的对应的包装类,并且所有的包装类(Integer、Long、Byte、Double、Float、Short)都是抽象类 Number 的子类。

Java Math类
Java 的 Math 类封装了很多与数学有关的属性和方法并且 Math 的方法都被定义为static 形式,通过 Math 类可以在主函数中直接调用。

Number & Math 类方法
我们主要谈论一些该类常用的方法:
1、xxxValue()
xxxValue() 方法用于将 Number 对象转换为 xxx 数据类型的值并返回。列如:
当类型为 byte 时,byteValue(): 表示以 byte 形式返回指定的数值。
当类型为 abstract double 时候,doubleValue() : 以 double 形式返回指定的数值。以此类推。

但是,这些函数不接受任何的参数。

2、compareTo() 方法
compareTo() 方法用于将 Number 对象与方法的参数进行比较。可用于比较 Byte, Long, Integer等(只能对两个相同类型的进行比较,两个不同类型的数据不能用此方法)。

语法为:public int compareTo( NumberSubClass referenceName )

其中 referenceName 可以为 Byte, Double, Integer, Float, Long 或 Short 类型的任意参数。在指定的数等于参数时返回0、小于参数时返回-1、大于参数时返回1.

3、equals() 方法
equals() 方法用于判断 Number 对象与方法的参数进是否相等。

语法:public boolean equals(Object x)

其中 x 为任意对象,当 Number 对象不为 Null,且与方法的参数类型与数值都相等返回 True,否则返回 False。

4、valueOf() 方法
这是一个可以接收两个参数(一个是字符串,一个是基数)的静态方法,主要用于返回给定参数的原生 Number 对象值,参数可以是原生数据类型, String等。

语法:
static Integer valueOf(int i) (1)
static Integer valueOf(String s) (2)
static Integer valueOf(String s, int radix) (3)

其中 i = Integer 对象的整数,s = Integer 对象的字符串,radix = 在解析字符串,s 时使用的进制数,用于指定使用的进制数。

在案例中,代码(1)返回一个表示指定的 int 值的 Integer 实例。
代码(2)返回保存指定的 String 的值的 Integer 对象。
代码(3)返回一个 Integer 对象,该对象中保存了用第二个参数提供的基数进行解析时从指定的 String 中提取的值。

5、toString() 方法
toString() 方法用于返回以一个字符串表示的 Number 对象值,如果方法使用了原生的数据类型作为参数,返回原生数据类型的 String 对象值,如果方法有两个参数, 返回用第二个参数指定基数表示的第一个参数的字符串表示形式。

6、parseInt() 方法
parseInt() 方法用于将字符串参数作为有符号的十进制整数进行解析、如果方法有两个参数, 使用第二个参数指定的基数,将字符串参数解析为有符号的整数。

语法:
static int parseInt(String s)
static int parseInt(String s, int radix)

其中参数为s = 十进制表示的字符串。radix = 指定的基数。
运行代码:parseInt(String s): 返回用十进制参数表示的整数值。
parseInt(int i): 使用指定基数的字符串参数表示的整数 (基数可以是 10, 2, 8, 或 16 等进制数) 。

7、abs()
abs() 方法返回参数的绝对值。参数可以是 int, float, long, double, short, byte类型。

语法为:
double abs(double d)
float abs(float f)
int abs(int i)
long abs(long lng)

8、ceil() 方法
是一个类型为双精度浮点型的方法,可对一个数进行上舍入,返回值大于或等于给定的参数。返还类型为double类型。

语法:
double ceil(double d)
double ceil(float f)

9、floor() 方法
floor() 方法可对一个数进行下舍入,返回给定参数最大的整数,该整数小于或等给定的参数。返回 double 类型数据,小于或等于给定的参数。

语法:
double floor(double d)
double floor(float f)

10、round() 方法
round 表示"四舍五入",算法为Math.floor(x+0.5) ,即将原来的数字加上 0.5 后再向下取整,所以 Math.round(11.5) 的结果为 12,Math.round(-11.5) 的结果为 -11。
round() 方法返回一个最接近的 int、long 型值,四舍五入。

语法:
long round(double d)
int round(float f)

其中d = double 或 float 的原生数据类型、f = float 原生数据类型。

该类方法大概有27种,这里就不每个介绍了,想了解更多可以去下面这个网址:
https://www.runoob.com/java/java-number.html

Java常见的类——Number和Math类的更多相关文章

  1. Java入门 - 语言基础 - 12.Number和Math类

    原文地址:http://www.work100.net/training/java-number-math.html 更多教程:光束云 - 免费课程 Number和Math类 序号 文内章节 视频 1 ...

  2. JAVA Number与Math类

    Number类: 当要用到数字的时候,我们除了使用内置数据类型byte,int,double等来声明,我们还把它声明为一个对象: 所有的包装类(Integer.Long.Byte.Double.Flo ...

  3. Java中的Number和Math类简单介绍

    Java Number类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等. 实例: int a = 5000; float b = 13.65 ...

  4. 《java入门第一季》之Math类一个小案例获取任意数值范围内随机数

    Math:用于数学运算的类. import java.util.Scanner; /* * 需求:请设计一个方法,可以实现获取任意范围内的随机数. * * 分析: * A:键盘录入两个数据. * in ...

  5. Number 和 Math 类

    Java Number & Math 类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等. 然而,在实际开发过程中,我们经常会遇到需要 ...

  6. Java常用类之【Math类、Random类、System类、Runtime类】

    一.Math类 Math类 [绝对值]Math.abs();//返回对应类型的绝对值 [最大值和最小值]Math.max(int a, int b) ,Math.min(int a,int b);(其 ...

  7. Java基础知识强化81:Math类random()方法之获取任意范围的随机数案例(面试题)

    1. 需求:设计一个方法,可以实现获取任意范围内的随机数 分析:使用方法random()如下: public static double random() 注:Returns a pseudo-ran ...

  8. Java从零开始学二十八(Math类和Random类)

    一.Math概述 提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率) 二.常用方法 package com.pb.demo1; public class MathTest { ...

  9. Java基础知识强化80:Math类random()方法的小扩展(控制产生目的数字的概率)

    1. Math.random()方法: Math.random()出现的数据是0.0<= x < 1.0之间,随机出现一个数据Math.random()>0.1概率是0.9 那么如下 ...

随机推荐

  1. 使script.bin文件配置生效的驱动

    1.问题:在全志方案中如果需要设置上拉或者下拉模式,需要在script.bin(先转换为script.fex)中配置gpio口  如: 但是配置好后是不会生效的,需要写一个驱动来通过读取这个文件的gp ...

  2. lnmp环境搭建:Centos7 + Nginx1.12.2 + Mysql-5.6.38 + PHP7.2.0

    https://blog.csdn.net/ty_hf/article/details/50622888

  3. 在Orcl中通过SQL语句修改创建表

    1.创建表时定义唯一性约束 CREATE TABLE table_name ( column1 datatype null/not null, column2 datatype null/not nu ...

  4. Spring Cloud服务消费者(rest+ribbon)

    在上一篇文章,讲了服务的注册和发现.在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的.Spring cloud有两种服务调用方式,一种是ribbon+r ...

  5. 直击LG曲面OLED首发现场,高端品质更出众

    简直是太棒了,我可以去看LG曲面OLED电视新品发布会了.这可是LG向中国首次推出的曲面OLED电视.在网上我就已经看到其实曲面OLED电视已经在韩国.美国还有欧洲都上市了,听说现在反响还挺不错.真没 ...

  6. SSH免密码登陆详解

    为了更好的理解SSH免密码登陆原理,我们先来说说SSH的安全验证,SSH采用的是”非对称密钥系统”,即耳熟能详的公钥私钥加密系统,其安全验证又分为两种级别. 1. 基于口令的安全验证 这种方式使用用户 ...

  7. numpy矩阵运算--矩阵乘法

    1)元素对应相乘,使用 multiply 函数或 * 运算符来实现 a = np.array([2,2,2])b = np.array([3,3,3]) c1 = a*a c1 array([4, 4 ...

  8. Django使用DjangoUeditor教程

    文章目录 1.将下在DjangoUeditor解压2.将解压的文件夹复制到项目的根目录中,这里使用的是虚拟环境3.进入到DjangoUedior3-master文件下,执行离线安装命令 python ...

  9. 标题艺术与技术的完美结合,LG画廊OLED电视正式发布!

      由LG电子举办的"旷世巨作---面向未来的电视"主题沙龙于3月10号在王府井亚洲首家数字化奥迪展厅拉开帷幕.此次活动宣布了LG画廊OLED电视在国内市场上市.而我有幸参加了此次 ...

  10. mysql挖掘与探索--表操作命令 1

    1.登录数据库>mysql -u root -p 数据库名称 2.查询所有数据表>show tables; 3.查询表的字段信息>desc 表名称; 4.1添加表字段 alter t ...