Math类

Math类中包含一些对数据进行数学运算的方法,而该类中的方法全都是静态的。像这样的类称之为工具类。

 1 public static int abs(int a)
2 对一个数据求绝对值
3 public static double ceil(double n)
4 对一个小数向上取整 4.3 --> 5.0
5 public static double floor(double n)
6 对一个小数向下取整 4.3 --> 4.0
7 public static long round(double n)
8 对一个小数进行四舍五入 4.3 --> 4 ; 4.5 --> 5
9
10 public static int max(int a,int b)
11 求两个数的最大值
12 public static int min(int a,int b)
13 求两个数的最小值
14
15 public static double random()
16 生成[0,1)范围内的随机数

System类

 1 public static void exit(int n)
2 退出Java虚拟机 //System.exit(0);
3
4 public static long currentTimeMillis()
5 获取当前时间的毫秒值,距离1970年1月1日0时0分0秒之间的毫秒值
6
7 public static void arraycopy(Object src, int srcPos,Object dest,int destPos,int length)
8 把源数组中的元素复制到目标数组中。
9 参数:
10 src - 源数组。
11 srcPos - 源数组中的起始位置。
12 dest - 目标数组。
13 destPos - 目标数据中的起始位置。
14 length - 要复制的数组元素的数量。
15
16 int[] arrayA={1,2,3,4,5};
17 int[] arrayB=new int[2];
18 //把arrayA中的3和4这两个元素,赋值到arrayB中
19 System.arraycopy(arrayA,2,arrayB,0,2);

Object类

Object是所有类的父类,任何一个子类都可以调用Object的方法。

 1 public String toString()
2 把一个对象转换字符串。 字符串格式: 包名+类名@地址值。
3 每次打印对象,底层会自动去调用toString()方法。
4 注意:自己写的类,如果不想打印地址就可以复写toString()方法
5 快捷键:alt+inert-->toString()
6
7
8 public boolean equals(Object obj)
9 用来比较两个对象是否“相等“。
10 默认比较的是地址值,底层用的是"=="
11 注意:自己写的类,如果不想比较地址值可以重写equals()方法,比较自己的内容.
12 快捷键:alt+inert-->Equals and HashCode

Objects类

Objects类是一个工具类,经常用于对一个对象进行判空的处理。JDK7以后才有的

1 public static String toString(Object s,String defalutStr)
2 把一个对象转换为字符串, 如果对象为null,返回默认字符串
3 public static boolean isNull(Object s)
4 判断一个对象是否为null 等价于 s==null
5 public static boolean nonNull(Object s)
6 判断一个对象不为null 等价于 s!=null

BigDegimal类

BigDegimal可以做一些数据的精确运算,还可做一些较大数据的运算。

构造方法

1 public BigDecimal(double val)
2 使用double类型的小数,创建BigDecimal对象
3 public BigDecimal(String val)
4 使用String类型的数据(必须是纯数字),创建BigDecimal对象

四则运算的方法

 1 public BigDecimal add(BigDecimal augend)
2 对两个数进行加法运算
3 public BigDecimal subtract(BigDecimal subtrahend)
4 对两个数进行减法运算
5 public BigDecimal multiply(BigDecimal multiplicand)
6 对两个数进行乘法运算
7 public BigDecimal divide(BigDecimal divisor)
8 对两个数进行除法运算
9
10 public BigDecimal divide(BigDecimal divisor,int num,int type)
11 对两个数进行除法运算,可以保留小数个数.
12 参数:
13 BigDecimal divisor: 除数
14 int num:保留小数个数
15 int type: 保留小数的方式
16 BigDecimal.ROUND_HALF_UP 最后一位小数四舍五入
17 BigDecimal.ROUND_UP 最后一位小数不管满不满5都进1
18 BigDecimal.ROUND_FLOOR 最后一位小数不管慢不满5都舍弃
19
20 注意:需要运算的两个数,必须先封装尾BigDecimal对象,然后通过上面的方法进行运算。

基本数据类型包装类

每一个基本数据类型都有一个对应的包装类,并且提供了一些方法给开发人员使用。

1 基本数据类型        包装类
2 byte Byte
3 short Short
4 int Integer
5 long Long
6 float Float
7 double Double
8 boolean Boolean
9 char Character

获取Integer对象

1 Integer num1 = Integer.valueOf(100);
2 Integer num2 = Integer.valueOf("100");
3
4 //如果数据在-128~127范围内,得到的对象是同一个; 否则就是重新创建的对象.

自动装箱和自动拆箱

为了方便基本数据类型和包装类能够直接运算,所有Java提供了自动装箱和自动拆箱的机制。

1 //自动装箱: 基本类型(int) 自动转换为 包装类(Integer)
2 Integer num=100; //等价于 Integer num = Integer.valueOf(100);
3
4 //自动拆箱: 包装类(Integer) 自动转换为 基本类型(int)
5 int num2=num; //等价于 int num2 = num.intValue();

包装类的数据转换

如果一个字符串是纯数字的字符串(如: "12345"),不能做数值的数学运算,必须把字符串转换为数值,才能做数学运算。 这样的转换方法在包装类中已经提供了

字符串转其他的基本数据类型

 1 【口诀】:想要转为什么类型就找什么类型的包装类,调用parseXxx方法
2
3 //需求1:"12345"转换为12345
4 int num1=Integer.parseInt("12345");
5
6 //需求2: “3.14”转换为3.14
7 double num2=Double.parseDouble("3.14");
8
9 //需求3: "6.88"转换为6.88
10 float num3=Float.parseFloat("6.88");
11
12 ...

其他类型转换为字符串

1 1.直接和""做拼接,因为任何一个数据和字符串做拼接结果都是字符串
2 String s=100+"";
3
4 2.可以使用String类的valueOf方法
5 String s1=String.valueOf(100);
6 String s2=String.valueOf(3.14);

Arrays类

Arrays是一个工具类。Arrays类中提供了一些对数组进行操作的方法(比如:查找和排序)

1 public static int binarySearch(int[] array,int key)
2 对数组的元素进行二分查找。前提:元素必须是由顺序的
3 public static void sort(int[] array)
4 对数组进行排序。
5 public static String toString(int[] array)
6 把数组转换为字符串 格式:"[元素1,元素2,元素3]"

Java_常用类API之一的更多相关文章

  1. 生活常用类API调用的代码示例合集:邮编查询、今日热门新闻查询、区号查询等

    以下示例代码适用于 www.apishop.net 网站下的API,使用本文提及的接口调用代码示例前,您需要先申请相应的API服务. 邮编查询:通过邮编查询地名:通过地名查询邮编 今日热门新闻查询:提 ...

  2. 常用类-API文档-Integer

    package IntegerTest;import java.util.Base64.Decoder; public class test01 { /** * 包装类的基本数据类型 * int =& ...

  3. java.time包常用类API学习记录

    Java8出来已那么多年了,java.time包之前一直没有使用过,最近正好有用到,在此做个记录. 上图列出了java.time包下的类,接下来我们详细看下其中每个类的用法. Clock:获取到当前时 ...

  4. Java API 常用类(一)

    Java API 常用类 super类详解 "super"关键字代表父类对象.通过使用super关键字,可以访问父类的属性或方法,也可以在子类构造方法中调用父类的构造方法,以便初始 ...

  5. Java之Object类和常用的API

    Object类和常用的API 学习过程中的笔记,涉及到Objetc中的equals方法和toString方法,日期类Date,日历类Calendar,日期格式化类SimpleDateFormat以及基 ...

  6. 8.算法竞赛中的常用JAVA API :Calendar日期类

    8.算法竞赛中的常用JAVA API :Calendar日期类 摘要 在蓝桥杯中有关于日期计算的问题,正好java中的Date类和Calendar类提供了对日期处理的一些方法.Date类大部分方法已经 ...

  7. 6.算法竞赛中的常用JAVA API :Math类(转载)

    6.算法竞赛中的常用JAVA API :Math类 求最值 最小值 Math.min(int a, int b) Math.min(float a, float b) Math.min(double ...

  8. 算法竞赛中的常用JAVA API :大数类(转载)

    5.算法竞赛中的常用JAVA API :大数类 摘要 java中的基础数据类型能存储的最大的二进制数是 2 ^ 63 - 1 对应的十进制数是9223372036854775807(long类型的最大 ...

  9. String类常用的API

    String类常用的API 字符串内容的比较: 注意: 不能使用 == 去比较两个字符串的内容.原理:比较的是字符串的地址. (如果两个字符串都是使用""进行赋值,那么他们都是放在 ...

随机推荐

  1. (原创)高DPI适配经验系列:(一)缩放比例与DPI对应关系

    一.前言 当下,2K分辨率已成为主流标配,3K.4K也已经广泛应用. 在屏幕尺寸不变的情况下,高分辨率也就意味着高DPI,对于桌面程序而言,除了先天就支持高DPI的框架外(如UWP.Electron等 ...

  2. springcloud面试题【第一期】

    全文目录 1:谈一谈你对微服务的理解? 2:微服务之间是如何独立进行通讯的? 3:springcloud和dubbo有哪些区别? 4:springboot和spring cloud得区别? 5:Eur ...

  3. Spring Boot 2.4 配置文件将加载机制大变化

    Spring Boot 2.4.0.M2 刚刚发布,它对 application.properties 和 application.yml 文件的加载方式进行重构.如果应用程序仅使用单个 applic ...

  4. java面试系列<2>——java容器

    1.概览 容器主要包括Collection和Map两种,Collection存储着对象的集合,而map存储着键值对(两个对象)的映射表 Collection 1.set TreeSet:基于红黑树实现 ...

  5. Axure常用操作备忘

    目录 前言 技巧 边框重合 复制对象文本居中 复制粘贴样式 文本自适应 给图形添加连接点 导出图片无空白 前言 下面列出Axure画图过程中曾经遇到过的问题,备忘一下,避免别人也走弯路,法布施一下~ ...

  6. Android+Java Web+MySQL实现登录注册

    1 前言&概述 这篇文章是基于此处文章的更新,更新了一些技术栈,更加贴近实际需要,以及修复了若干的错误. 这是一个前端Android+后端Java/Kotlin通过Servelt进行后台数据库 ...

  7. 玉帝传美猴王上天,大闹天宫之Java设计模式:命令模式

    目录 示例 改进代码 命令模式 定义 意图 主要解决问题 何时使用 优缺点 玉帝传美猴王上天 命令模式和策略模式的区别 示例 系统需要设计一个命令行界面,用户可输入命令来执行某项功能,系统的功能会不断 ...

  8. 火狐兼容selenium版本解决

    火狐和selenium不是很好兼容,下面提供一些我所知道的可以兼容的版本: 1. 火狐52+selenium 3.3 +geckodriver v0.15.0 2.火狐59+selenium 3.11 ...

  9. Mysql之Mycat读写分离及分库分表

    ## 什么是mycat ```basic 1.一个彻底开源的,面向企业应用开发的大数据库集群 2.支持事务.ACID.可以替代MySQL的加强版数据库 3.一个可以视为MySQL集群的企业级数据库,用 ...

  10. SpringBoot 启动慢?那是因为你不知道它

    前言 在 2021 年这个小学作文中的未来年份,没有想象中的汽车满天飞,也没有实现机器人满地跑.但牛逼的是我们都有一个共识: 知乎达到了人均 "谢邀~ 人在美国刚下飞机"的生活水平 ...