Java编程工具类之数学相关

简介: Math 1.所属的包java.lang 2.Math构造方法是私有的 我们不能直接调用创建对象 3.由于Math中提供的属性及方法都是static 不需要创建对象 4.常用的方法 abs()返回给定数字的绝对值 (参数 int long float double) double = ceil()向上取整 double = floor()向下取整 double = rint()临近的整数 如果两边距离一样 则返回偶数 int = round() 四舍五入的整数 max(a,b) min(a,b) (参数int long flo

知识回顾

   Java中提供的类------官方API帮助文档

   Application  Programming  Interface

   应用程序编程接口,一些预先创建好的类及方法,

   目的是为了让我们更好进行程序开发

   包装类  数学相关  日期相关  字符串相关  集合相关  异常相关

   I/O相关  线程相关  网络相关  反射注解  GUI相关

   包装类

   1.包装类有八个 与八个基本类型一一对应   Integer   Character

   2.包装类存在java.lang包中  不需要import导入

   3.包装类中有六个与数字相关  都继承自Number

   给我们提供了对应类型的方法   intValue   floatValue  

   将包装类对象拆包成基本类型

   4.包装类每一个都有与自己类型匹配的构造方法

Integer(10)      Float(3.4)

   5.包装类中除了Character以外其他的七个都含有String类型的构造方法

 Integer("10")  Float("3.4");

   6.参考API帮助文档找寻常用的方法

intValue();

Integer.parseInt("123");

new Integer("123");

   7.尤其注意在笔试中出现的 问题

 ==  equals方法的区别

 Integer类的加载   有一个静态空间  Integer[]  cache

与数学相关的类

   Math

   1.所属的包java.lang

   2.Math构造方法是私有的  我们不能直接调用创建对象

   3.由于Math中提供的属性及方法都是static  不需要创建对象

   4.常用的方法

abs()返回给定数字的绝对值    (参数 int long float double)

double = ceil()向上取整

double = floor()向下取整

double = rint()临近的整数 如果两边距离一样 则返回偶数

int = round()  四舍五入的整数

max(a,b)  min(a,b)    (参数int  long  float  double)

pow(a,b)  a的b次方  (参数double 返回值double)

sqrt(double a)  获取给定参数的平方根

double = random();   随机产生一个     [0.0--1.0)

   5.Math.random()计算小数的时候精确程度可能有些损失

0-9之间的随机整数

int value = (int)(Math.random()*10);

5.0---10.9之间的小数

(Math.random()*6)+5

0.0---0.99999 * 6

(0.0---5.49999)+5

Random类

   1.在java.util包中的类   需要import导入

   2.没有任何继承关系  默认继承Object类

   3.查找构造方法--->如何创建对象

    Random r = new Random();

   4.类中提供的常用方法

   r.nextInt();   随机产生 int取值范围的整数 有正有负

   r.nextInt(int bound);   随机产生一个  [0--bound)  整数  

    注意bound必须为正数  否则会出现如下的运行时异常

    IllegalArgumentException

   r.nextFloat()  随机产生一个 [0.0---1.0)

   r.nextBoolean()   随机产生一个boolean值   true  false

UUID类

   1.所属的包  java.util    需要import导入

   2.没有任何继承关系  默认继承Object类

   3.构造方法有  没有无参数的  我们通常不会创建对象

       UUID uuid = UUID.randomUUID();

       System.out.println(uuid.toString());//数据库表格主键 primary key

       产生一个32位的随机元素 每一个位置是一个16进制的数字

BigInteger类 大整数

   long  -2的63次方 ~ 2的63次方-1

   1.所属的包java.math  需要import导入

   2.继承自Number    

   3.如何创建对象   提供的构造方法全部都是带参数的

    通常利用带String参数的构造方法创建这个类的对象

    BigInteger  bi = new BigInteger("123");  

   4.类中的常用方法

    做四则运算  

    add()   subtract()   multiply()   divide()

   5.小例子   设计一个方法 用来计算给定数字的阶乘  5   1*2*3*4*5==120

    //设计一个方法  用来计算给定数字的阶乘

    //参数   返回值

    public BigInteger factorial(int num){

     BigInteger result = new BigInteger("1");

     for(int i=1;i<=num;i++){

      result = result.multiply(new BigInteger(i+""));

     }

     return result;

    }

BigDecima类   超过了double取值范围

   1.所属的包  java.math包

   2.继承Number类

   3.通常也是可以通过 带String参数 构建对象

   4.类中的常用方法

    做四则运算  

    add()   subtract()   multiply()   divide()

    两个参数前面是保留小数点之后的位数  后面参数是设置的模式

    对象.setScale(2,BigDecimal.ROUND_DOWN);

将小数点之前和之后的位数都能处理的类---->格式化

DecimalFormat

1.所属的包 java.text

2.import导入才能使用

3.通过带String参数的构造方法创建一个格式化对象   0  #

4.调用format方法将一个小数格式化成一个字符串

 DecimalFormat df = new DecimalFormat("000.###");// 0 #

         String value = df.format(12.45);

         System.out.println(value);

目录
相关文章
|
1月前
|
Java 开发者
在 Java 中,一个类可以实现多个接口吗?
这是 Java 面向对象编程的一个重要特性,它提供了极大的灵活性和扩展性。
143 57
|
3天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
1月前
|
存储 缓存 安全
java 中操作字符串都有哪些类,它们之间有什么区别
Java中操作字符串的类主要有String、StringBuilder和StringBuffer。String是不可变的,每次操作都会生成新对象;StringBuilder和StringBuffer都是可变的,但StringBuilder是非线程安全的,而StringBuffer是线程安全的,因此性能略低。
53 8
|
1月前
|
存储 安全 Java
java.util的Collections类
Collections 类位于 java.util 包下,提供了许多有用的对象和方法,来简化java中集合的创建、处理和多线程管理。掌握此类将非常有助于提升开发效率和维护代码的简洁性,同时对于程序的稳定性和安全性有大有帮助。
73 17
|
1月前
|
安全 Java
Java多线程集合类
本文介绍了Java中线程安全的问题及解决方案。通过示例代码展示了使用`CopyOnWriteArrayList`、`CopyOnWriteArraySet`和`ConcurrentHashMap`来解决多线程环境下集合操作的线程安全问题。这些类通过不同的机制确保了线程安全,提高了并发性能。
|
1月前
|
存储 Java 程序员
Java基础的灵魂——Object类方法详解(社招面试不踩坑)
本文介绍了Java中`Object`类的几个重要方法,包括`toString`、`equals`、`hashCode`、`finalize`、`clone`、`getClass`、`notify`和`wait`。这些方法是面试中的常考点,掌握它们有助于理解Java对象的行为和实现多线程编程。作者通过具体示例和应用场景,详细解析了每个方法的作用和重写技巧,帮助读者更好地应对面试和技术开发。
133 4
|
1月前
|
Java 编译器 开发者
Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面
本文探讨了Java异常处理的最佳实践,涵盖理解异常类体系、选择合适的异常类型、提供详细异常信息、合理使用try-catch和finally语句、使用try-with-resources、记录异常信息等方面,帮助开发者提高代码质量和程序的健壮性。
76 2
|
1月前
|
存储 安全 Java
如何保证 Java 类文件的安全性?
Java类文件的安全性可以通过多种方式保障,如使用数字签名验证类文件的完整性和来源,利用安全管理器和安全策略限制类文件的权限,以及通过加密技术保护类文件在传输过程中的安全。
58 4
|
1月前
|
Java 数据格式 索引
使用 Java 字节码工具检查类文件完整性的原理是什么
Java字节码工具通过解析和分析类文件的字节码,检查其结构和内容是否符合Java虚拟机规范,确保类文件的完整性和合法性,防止恶意代码或损坏的类文件影响程序运行。
49 5
|
1月前
|
Java API Maven
如何使用 Java 字节码工具检查类文件的完整性
本文介绍如何利用Java字节码工具来检测类文件的完整性和有效性,确保类文件未被篡改或损坏,适用于开发和维护阶段的代码质量控制。
90 5