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 那么如下 ...
随机推荐
- python脚本实现自动安装nginx
本文python脚本实现自动化安装是源码安装.实现任意版本安装,默认版本是1.13.11,也可以更改默认版本,手动配置安装目录. 环境:Ubuntu16.04,python3以上版本,Ubuntu自带 ...
- Spring的@Transactional(readOnly=true)注解,对其效果进行测试
https://blog.csdn.net/xcdsdf14545/article/details/86164012
- Winform下编译Dev控件时提示license.licx文件错误
有时候,用vs2005或2008,用到第3方控件的时候会自动生成licenses.licx.我用的是devexpress.在程序运行的时候总是出现dev的画面,很烦.在网上找了找,找到去掉画面的方法: ...
- elasticsearch ik中文分词器的使用详解
(基于es5.4)先喵几眼github,按照步骤安装好分词器 link:https://github.com/medcl/elasticsearch-analysis-ik 复习一下常用的操作 .查看 ...
- Windows_Management_Instrumentation
WMI是管理系统中的核心 使用本工具的前提是:系统的服务列表中,Windows_Management_Instrumentation(winmgmts)这个服务处于运行状态.如果处于关闭状态,请在运行 ...
- android采用MVP漫画APP、适配刘海屏、小黄车主界面、录音波浪动画、综合APP等源码
Android精选源码 一款采用MVP架构的仿完整漫画APP源码 Android适配刘海屏幕 基于Xmpp协议的即时通讯社交软件(客户端+服务端) Android小黄车(ofo)app主页菜单效果 一 ...
- EncryptUtils
package me.zhengjie.core.utils; import org.springframework.util.DigestUtils; import javax.crypto.Cip ...
- 陈天奇XGBoost文章解读(未完成)
这个是我下载的原文在看,然后结合一些网上的资料学习,先贴一个网上的资料. 终于有人说清楚了XGBoost算法 XGBoost阅读之Weighted quantile sketch XGBoost论文翻 ...
- .net core 读取json文件
核心代码 Program.cs: using System; using System.IO; using Microsoft.Extensions.Configuration; namespace ...
- particlesJS is not defined
插件或者js文件在引入时需要注意引入顺序,每次都找很久的错误 一般引入min.js就可以,min.js意思就是压缩的js文件 引入时应该先加入min类的文件在引入配置文件 比如particles插件, ...