Java常见的类——Number和Math类
但我们使用数据时,我们一般使用内置数据类型,列如: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类的更多相关文章
- Java入门 - 语言基础 - 12.Number和Math类
原文地址:http://www.work100.net/training/java-number-math.html 更多教程:光束云 - 免费课程 Number和Math类 序号 文内章节 视频 1 ...
- JAVA Number与Math类
Number类: 当要用到数字的时候,我们除了使用内置数据类型byte,int,double等来声明,我们还把它声明为一个对象: 所有的包装类(Integer.Long.Byte.Double.Flo ...
- Java中的Number和Math类简单介绍
Java Number类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等. 实例: int a = 5000; float b = 13.65 ...
- 《java入门第一季》之Math类一个小案例获取任意数值范围内随机数
Math:用于数学运算的类. import java.util.Scanner; /* * 需求:请设计一个方法,可以实现获取任意范围内的随机数. * * 分析: * A:键盘录入两个数据. * in ...
- Number 和 Math 类
Java Number & Math 类 一般地,当需要使用数字的时候,我们通常使用内置数据类型,如:byte.int.long.double 等. 然而,在实际开发过程中,我们经常会遇到需要 ...
- Java常用类之【Math类、Random类、System类、Runtime类】
一.Math类 Math类 [绝对值]Math.abs();//返回对应类型的绝对值 [最大值和最小值]Math.max(int a, int b) ,Math.min(int a,int b);(其 ...
- Java基础知识强化81:Math类random()方法之获取任意范围的随机数案例(面试题)
1. 需求:设计一个方法,可以实现获取任意范围内的随机数 分析:使用方法random()如下: public static double random() 注:Returns a pseudo-ran ...
- Java从零开始学二十八(Math类和Random类)
一.Math概述 提供了常用的数学运算方法和两个静态常量E(自然对数的底数)和PI(圆周率) 二.常用方法 package com.pb.demo1; public class MathTest { ...
- Java基础知识强化80:Math类random()方法的小扩展(控制产生目的数字的概率)
1. Math.random()方法: Math.random()出现的数据是0.0<= x < 1.0之间,随机出现一个数据Math.random()>0.1概率是0.9 那么如下 ...
随机推荐
- LightGBM和XGBoost的区别?
首先声明,LightGBM是针对大规模数据(样本量多,特征多)时,对XGBoost算法进行了一些优化,使得速度有大幅度提高,但由于优化方法得当,而精度没有减少很多或者变化不大,理论上还是一个以精度换速 ...
- 利用离散 Fourier 变换解一元二次方程
设二次方程$$x^2+bx+c=0$$的两个根分别为 $x_1,x_2$.则$$(x-x_1)(x-x_2)=x^2+bx+c.$$因此$$\begin{cases} x_1+x_2=-b\\x_1 ...
- 2.Redis数据类型
Redis中存储数据是通过key-value存储的,对于value的类型有以下几种: 字符串 Hash类型 List Set SortedSet(zset) 注:在redis中的命令语句中,命令是忽略 ...
- OpenAL介绍
OpenAL(Open Audio Library)是自由软件界的跨平台音效API,由Loki Software,使用在Windows.Linux 系统上,用在音效缓冲和收听中编码. OpenAL设计 ...
- json转换为go类文件,js脚本,nodejs执行
js写的代码生成脚本,json生成对应的go type对象 作json转换用 js脚本无甚何依赖,可以直接运行 执行前,按需更改文件 示例 var topname="Data"; ...
- Null Hypotheses| Alternative Hypotheses|Hypothesis Test|Significance Level|two tailed |one tailed|
9.1 The Nature of Hypothesis Testing Over the years, however, null hypothesis has come to mean simpl ...
- Java开发面试常见问题合集
次面试事故 面试官:你看过哪些源码?我:都挺熟悉的面试官:对hashMap了解程度怎么样?面试官:那你能讲讲 HashMap的实现原理吗?面试官:HashMap什么时候会进行 rehash?面试官:结 ...
- Ionic 4 beta + Capacitor beta 尝鲜
本文为原创文章,转载请标明出处 开发环境: Ionic 4 beta 3.Capacitor beta 6. 首先 ionic start 工程名 blank --type=angular,问是否集成 ...
- fiddler问题汇总
fiddler教程:https://kb.cnblogs.com/page/130367/ fiddler下载安装:https://www.cnblogs.com/mini-monkey/p/1128 ...
- dos窗口运行python文件提示找不到模块
问题:在pycharm直接运行test_suit.py正常,通过dos窗口运行则提示找不到模块. 原因: https://blog.csdn.net/crylearner/article/detail ...