Java Number Math 类,超详细整理,适合新手入门

news2024/11/17 3:44:50

目录

一、什么是Java Number类?

二、Java Number类提供了哪些基本的数字操作?

三、什么是包装类?

所有的包装类都是抽象类 Number 的子类。

四、什么是Java Math 类

Test类案例:(Math.PI 表示一个圆的周长与直径的比例,约为 3.14159~)

五、Number & Math 类方法

xxxValue用于将number对象转换为xxx数据类型的值并返回

compareTo() 方法用于将 Number 对象与方法的参数进行比较

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

valueOf() 方法用于返回给定参数的原生 Number 对象值

toString()以字符串形式返回值

parseInt()将字符串解析为int类型

abs() 返回参数的绝对值

ceil() 向上取整

floor()向下取整

round()四舍五入

rint() 返回与参数最接近的整数

min() 返回两个参数中最小值

max() 返回两个参数中最大值

random() 返回一个随机数


一、什么是Java Number类?

Java Number类是Java中的一个抽象类,它是所有数值类型的超类,包括整数、浮点数和大数。它提供了一组用于操作数值类型的方法,如转换、比较、算术运算等。

二、Java Number类提供了哪些基本的数字操作?

Java Number类提供了以下基本的数字操作:转换,比较,算术运算,取整,取余,取最大值和最小值,取绝对值,取幂,取对数,取根号,取随机数,取符号,取精度,取舍入值等。

三、什么是包装类?

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

所有的包装类都是抽象类 Number 的子类。

包装类

基本数据类型

Boolean

boolean

Byte

byte

Short

short

Integer

int

Long

long

Character

char

Float

float

Double

double

四、什么是Java Math 类

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

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

Test类案例:(Math.PI 表示一个圆的周长与直径的比例,约为 3.14159~)

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

五、Number & Math 类方法

xxxValue用于将number对象转换为xxx数据类型的值并返回

package com.leo.demo;
 
/**
 * @author Java
 */
public class MainClass {
 
    public static void main(String[] args) {
        Integer x = 6;
        System.out.println(x.byteValue());
        System.out.println(x.shortValue());
        System.out.println(x.intValue());
        System.out.println(x.longValue());
        System.out.println(x.floatValue());
        System.out.println(x.doubleValue());
    }
}

compareTo() 方法用于将 Number 对象与方法的参数进行比较

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
       // compareTo()将number对象与参数比较
        Integer x = 6;
        // 小于参数返回-1
        System.out.println(x.compareTo(5));
        // 等于参数返回0
        System.out.println(x.compareTo(6));
        // 大于参数返回1
        System.out.println(x.compareTo(8));
    }
}

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

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
       // equals()用于判断Number对象与方法的参数是否相等
        Integer x = 6;
        System.out.println(x.equals(6.0));
        // 参数类型与值相等返回true,否则返回false
        System.out.println(x.equals(6));
        System.out.println(x.equals(8));
    }
}

valueOf() 方法用于返回给定参数的原生 Number 对象值

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
      // valueOf() 用于返回给定参数的原生Number对象值
      Integer i = Integer.valueOf(6);
      Long l = Long.valueOf(6);
      Double d = Double.valueOf(6);
      Float f = Float.valueOf(6);
 
      System.out.println(i);
      System.out.println(l);
      System.out.println(d);
      System.out.println(f);
    }
}

toString()以字符串形式返回值

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
      // toString()用于返回一个字符串表示的Number对象值
      Integer x = 6;
      System.out.println(x.toString());
 
    }
}

parseInt()将字符串解析为int类型

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
        // parseInt() 将字符串解析为int类型
        System.out.println(Integer.parseInt("6"));
    }
}

abs() 返回参数的绝对值

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
        // abs() 返回参数的绝对值
        System.out.println(Math.abs(-6));
    }
}

ceil() 向上取整

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
        // ceil()向上取整
        System.out.println(Math.ceil(1.3));
    }
}

floor()向下取整

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
        // floor()向下取整
        System.out.println(Math.floor(1.3));
    }
}

round()四舍五入

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
        // round() 四舍五入
        System.out.println(Math.round(1.3));
        System.out.println(Math.round(1.6));
    }
}

rint() 返回与参数最接近的整数

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
        // rint() 返回与参数最接近 的整数
        System.out.println(Math.rint(1.3));
        System.out.println(Math.rint(1.6));
    }
}

min() 返回两个参数中最小值

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
        // min() 返回两个参数中最小值
        System.out.println(Math.min(1, 2));
    }
}

max() 返回两个参数中最大值

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
        // max() 返回两个参数中最大值
        System.out.println(Math.max(1, 2));
    }
}

random() 返回一个随机数

package com.leo.demo;
 
/**
 * @author java
 */
public class MainClass {
 
    public static void main(String[] args) {
        // random() 返回一个随机数
        System.out.println(Math.random());
    }
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/353895.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

代码随想录【Day17】| 513. 找树左下角的值、112. 路径总和、构造二叉树(前+中,中+后)

513. 找树左下角的值 题目链接 题目描述: 给定一个二叉树,在树的最后一行找到最左边的值。 示例 1: 示例2: 难点: 递归法 思路: 这题要找 最底层最左边 很容易就想到层序遍历 递归法的话,有点复杂…

Cosmos NDP编程框架(easyNDP)说明文档

Cosmos NDP编程框架(easyNDP)说明 更新时间:2023-2-17 作者:Gary 一.简介 本文档主要用于说明本简易NDP框架——easyNDP framework的架构、开发新应用以及使用的方法。 在开始前,有一个概念需要提前说明,文档中的块这个概念&…

YOLO-V5 系列算法和代码解析(八)—— 模型移植

文章目录工程目标芯片参数查阅官方文档基本流程Python 版工具链安装RKNPU2的编译以及使用方法移植自己训练的模型工程目标 将自己训练的目标检测模型【YOLO-V5s】移植到瑞芯微【356X】芯片平台,使用C推理,最终得到预期的结果。 芯片参数 芯片参数介绍…

IOS 自动化测试环境搭建

购买MacPDD 比TB JD 便宜500,下单安装homebrew/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"安装npm cnpmbrew install node; npm install -g cnpm --registryhttps://registry.npm.taobao.org;安装类似Andro…

Windows平台使用gdb连接qemu虚拟机上的系统

先安装MinGW; 除了gcc、g,把gdb也选上;可能选第一个就可以了,不清楚把后面几个也选上; 安装完成看一下gcc, g,gdb,编译工具和调试器都有了; 把bin目录加到环境变量; 看一…

element-ui实现动态添加表单项并实现事件触发验证验证

需求分析&#xff1a;点击新增后新增一个月度活动详情&#xff0c;提交时可同时提交多个月度活动详情。点击某一个月度活动信息的删除后可删除对应月度活动信息 H5部分&#xff1a; <el-dialog :title"title" :visible.sync"open" append-to-body>…

数据结构时间空间复杂度笔记

&#x1f57a;作者&#xff1a; 迷茫的启明星 本篇内容&#xff1a;数据结构时间空间复杂度笔记 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;家人们&#xff0c;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤…

基础篇—CSS margin(外边距)解析

什么是CSS margin(外边距)? CSS margin(外边距)属性定义元素周围的空间。 属性描述margin简写属性。在一个声明中设置所有外边距属性。margin-bottom设置元素的下外边距。margin-left设置元素的左外边距。margin-right设置元素的右外边距。margin-top设置元素的上外边距。mar…

Linux 磁盘配额与VDO技术

目录 磁盘容量限额quota技术 磁盘配额分类 对磁盘开启限额服务 xfs_quota管理磁盘配额 edquota 管理磁盘配额 VDO虚拟数据优化 创建VDO卷 vdostats 查看vdo卷的使用情况 磁盘容量限额quota技术 磁盘配额可以限制用户的硬盘可用容量和用户所能创建的最大文件个数 磁盘…

2023美赛 ICM E题详细版思路

问题E&#xff1a;光污染注&#xff1a;楷体为题目原文&#xff0c;宋体为思路部分首先&#xff0c;我们需要考虑的就是美赛ABEF的核心问题&#xff0c;数据。这里E题是以光污染为背景的题目&#xff0c;首当其冲的我们就需要收集一些数据以支撑我们的模型。对于E题提出的问题&…

Allegro如何更改DRC尺寸大小操作指导

Allegro如何更改DRC尺寸大小操作指导 在做PCB设计的时候,DRC可以辅助设计,有的时候DRC的尺寸过大会影响视觉,Allegro支持将DRC的尺寸变小或者改大 如下图,DRC尺寸过大 如何改小,具体操作如下 点击Setup选择Design Parameters

结构体——“C”

各位CSDN的uu们你们好呀&#xff0c;今天&#xff0c;小雅兰的内容是结构体噢&#xff0c;之前我们在初始C语言中其实就已经学习过了结构体的知识&#xff0c;但是不是很全面&#xff0c;这次&#xff0c;我们也只是稍微详细一点&#xff0c;敬请期待小雅兰之后的博客&#xff…

分享五款功能简单粗暴的小软件

今天分享几款功能简单的小软件&#xff0c;小伙伴们们可以来看一下有没有你需要的功能软件。 1.书签管理工具——Toby for Chrome Toby是一个特别有用的浏览器书签管理工具。使用它&#xff0c;您可以创建自己的不同类别的书签。比如在工作生活等方面&#xff0c;学习常用的查…

操作系统(进程管理)

一、进程的定义及特征进程的定义由程序、数据、进程控制块三部分组成为了使程序可以并发执行&#xff0c;且可以对并发执行的程序加以描述和控制。不同角度的定义&#xff1a;进程是程序的一次执行&#xff1b;进程是一个程序及其数据在处理机上顺序执行时所发生的活动&#xf…

js实现元素样式切换的基本功能

需求&#xff1a;用户第一次点击某些元素&#xff0c;改变元素的某些样式&#xff0c;比如背景颜色&#xff0c;字体颜色。用户第二次点击某些元素&#xff0c;恢复之前的样式。.....思路&#xff1a;准备一定量的div盒子&#xff0c;并取相同的类名<div class"box&quo…

2022年襄阳中级工程师职称水平能力测试成绩出来了吗?

2022年下半年襄阳水平能力测试考试在2月初举行的&#xff0c;目前襄阳水测成绩已出&#xff0c;合格标准已出&#xff0c;襄阳水测今年合格标准是50分及格&#xff0c;以前是30多分及格&#xff0c;今年合格标准突然上涨蛮多&#xff0c;不过大家考的还是不错&#xff0c;分享一…

STC单片机 VS/HX1838红外接收和发送实验

STC单片机 VS/HX1838红外接收和发送实验 📌相关篇《STC单片机获取红外解码从串口输出》🔨所使用的红外接收头VS1838 📋VS1838引脚定义🌿5MM发射头,940nm红外发射二极管 红外遥控发射头。(外观看起来和普通的发光二极管没有什么差异,购买时需要注意确认)。 🔰采用的…

XXL-JOB分布式任务调度框架(二)-路由策略

文章目录1.引言2.任务详解2.1.执行器2.2.基础配置3.路由策略(第一个)-案例4.路由策略(最后一个)-案例5.轮询策略-案例7.分片广播任务1.引言 本篇文章承接上文《XXL-JOB分布式任务调度框架(一)-基础入门》&#xff0c;上一次和大家简单介绍了下 xxl-job 的由来以及使用方法&…

【Node.js】全局可用变量、函数和对象

文章目录前言_dirname和_filename变量全局函数setTimeout(cb,ms)clearTimeout(t)setInterval(cb,ms)clearInterval(t)setImmediate(cb)clearImmediate()console对象console.info([data][,...])console.error([data][,...])console.warn([data][,...])console.dir(obj[,options]…

【Linux 多线程互斥】如何保证锁的原子性(互斥的原理)

临界资源:可以被多个执行流&#xff08;线程或者叫轻量级进程&#xff09;同是访问的&#xff08;多个执行流共享的&#xff0c;比如&#xff1a;全局、堆等等&#xff09;&#xff1b;临界区&#xff1a;访问这些临界资源的代码&#xff1b;原子性&#xff1a;没有中间态&…