Java常见系统类

Math类

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

static double E :比任何其他值都更接近 e (即自然对数的底数)的 double 值。

static double PI : 比任何其他值都更接近 pi (即圆的周长与直径之比)的 double 值。

序号方法与描述
1xxxValue()将 Number 对象转换为xxx数据类型的值并返回。
2compareTo() 将number对象与参数比较。
3equals() 判断number对象是否与参数相等。
4valueOf()返回一个 Number 对象指定的内置数据类型
5toString()以字符串形式返回值。
6parseInt() 将字符串解析为int类型。
7abs() 返回参数的绝对值。
8ceil() 返回大于等于( >= )给定参数的的最小整数,类型为双精度浮点型。
9floor() 返回小于等于(<=)给定参数的最大整数 。
10rint() 返回与参数最接近的整数。返回类型为double。
11round() 它表示四舍五入,算法为 Math.floor(x+0.5),即将原来的数字加上 0.5 后再向下取整,所以,Math.round(11.5) 的结果为12,Math.round(-11.5) 的结果为-11。
12min() 返回两个参数中的最小值。
13max() 返回两个参数中的最大值。
14exp() 返回自然数底数e的参数次方。
15log() 返回参数的自然数底数的对数值。
16pow() 返回第一个参数的第二个参数次方。
17sqrt() 求参数的算术平方根。
18sin() 求指定double类型参数的正弦值。
19cos() 求指定double类型参数的余弦值。
20tan() 求指定double类型参数的正切值。
21asin() 求指定double类型参数的反正弦值。
22acos() 求指定double类型参数的反余弦值。
23atan() 求指定double类型参数的反正切值。
24atan2() 将笛卡尔坐标转换为极坐标,并返回极坐标的角度值。
25toDegrees() 将参数转化为角度。
26toRadians() 将角度转换为弧度。
27random() 返回一个随机数。
Scanner类

一个可以使用正则表达式来解析基本类型和字符串的简单文本扫描器。

Scanner 使用分隔符模式将其输入分解为标记,默认情况下该分隔符模式与空白匹配。

然后可以 使用不同的 next 方法将得到的标记转换为不同类型的值。

序号方法与描述
1String next() :查找并返回来自此扫描器的下一个完整标记。
2boolean nextBoolean() :扫描解释为一个布尔值的输入标记并返回该值。
3byte nextByte() :将输入信息的下一个标记扫描为一个 byte 。
4double nextDouble() :将输入信息的下一个标记扫描为一个 double 。
5float nextFloat() :将输入信息的下一个标记扫描为一个 float 。
6int nextInt() :将输入信息的下一个标记扫描为一个 int 。
7String nextLine() :此扫描器执行当前行,并返回跳过的输入信息。
8long nextLong() :将输入信息的下一个标记扫描为一个 long 。
9short nextShort() :将输入信息的下一个标记扫描为一个 short 。
Random类

此类的实例用于生成伪随机数流。

序号方法与描述
1boolean nextBoolean() :返回下一个伪随机数,它是取自此随机数生成器序列的均匀分布的 boolean 值。
2double nextDouble() :返回下一个伪随机数,它是取自此随机数生成器序列的在 0.0 和 1.0 之间均匀分布的 double 值。
3int nextInt() :返回下一个伪随机数,它是此随机数生成器的序列中均匀分布的 int 值。
4int nextInt(int n) :返回一个伪随机数,它是取自此随机数生成器序列的、在 0(包括)和指定 值(不包括)之间均匀分布的 int 值。
String类

String 类代表字符串。Java 程序中的所有字符串字面值(如 “abc” )都作为此类的实例实现。 字符串是常量;它们的值在创建之后不能更改,因为 String 对象是不可变的,所以可以共享。

序号方法与描述
1char charAt(int index) :返回指定索引处的 char 值。
2int indexOf(int ch) :返回指定字符在此字符串中第一次出现处的索引。
3int indexOf(int ch, int fromIndex) :返回在此字符串中第一次出现指定字符处的索引,从指定的 索引开始搜索。
4int indexOf(String str) :返回指定子字符串在此字符串中第一次出现处的索引。
5int indexOf(String str, int fromIndex) :返回指定子字符串在此字符串中第一次出现处的索引, 从指定的索引开始。
6int lastIndexOf(int ch) :返回指定字符在此字符串中最后一次出现处的索引。
7int length() :返回此字符串的长度。
8String[] split(String regex) : 根据给定正则表达式的匹配拆分此字符串。
9String substring(int beginIndex) :返回一个新的字符串,它是此字符串的一个子字符串。
10String substring(int beginIndex, int endIndex) :返回一个新字符串,它是此字符串的一个子字 符串。
11int compareTo(String anotherString) :按字典顺序比较两个字符串。
12int compareToIgnoreCase(String str) :按字典顺序比较两个字符串,不考虑大小写。
13boolean contains(CharSequence s) :当且仅当此字符串包含指定的 char 值序列时,返回 true。
14boolean endsWith(String suix) :测试此字符串是否以指定的后缀结束。
15boolean equals(Object anObject) :将此字符串与指定的对象比较。
16boolean equalsIgnoreCase(String anotherString) :将此 String 与另一个 String 比较,不 考虑大小写。
17boolean isEmpty() :当且仅当 length() 为 0 时返回 true 。
18boolean startsWith(String prefix) :测试此字符串是否以指定的前缀开始。
19boolean startsWith(String prefix, int toset) :测试此字符串从指定索引开始的子字符串是否以 指定前缀开始。
20String replace(char oldChar, char newChar) :返回一个新的字符串,它是通过用 newChar 替 换此字符串中出现的所有 oldChar 得到的。
21String replace(CharSequence target, CharSequence replacement) :使用指定的字面值替换序列 替换此字符串所有匹配字面值目标序列的子字符串。
22String toLowerCase() :使用默认语言环境的规则将此 String 中的所有字符都转换为小写。
23String toUpperCase() :使用默认语言环境的规则将此 String 中的所有字符都转换为大写。
24String trim() :返回字符串的副本,忽略前导空白和尾部空白。
Arrays类

此类包含用来操作数组(比如排序和搜索)的各种方法。此类还包含一个允许将数组作为列表来查 看的静态工厂。

序号方法与描述
1static int binarySearch(int[] a, int key) :使用二分搜索法来搜索指定的 int 型数组,以获得指定 的值。
2static int[] copyOf(int[] original, int newLength) :复制指定的数组,截取或用 0 填充(如有必 要),以使副本具有指定的长度。
3static boolean equals(int[] a, int[] a2) :如果两个指定的 int 型数组彼此相等 ,则返回 true 。
4static void sort(int[] a) :对指定的 int 型数组按数字升序进行排序。
5static String toString(int[] a) :返回指定数组内容的字符串表示形式。
Object类

Object类是Java语言中的根类,即所有类的父类。它中描述的所有方法子类都可以使用。在对象实 例化的时候,最终找的父类就是Object。

######equals方法

equals方法,用于比较两个对象是否相同,它其实就是使用对象的内存地址在比较。Object类中的 equals方法内部使用的就是==比较运算符。

在开发中要比较两个对象是否相同,经常会根据对象中的特有数据进行比较,也就是在开发经常需 要复写equals方法根据对象的特有数据进行比较。

注意:在复写Object中的equals方法时,一定要注意public boolean equals(Object obj)的参数是 Object类型,在调用对象特有数据时,一定要进行类型转换,在转换之前必须进行类型判断。

getClass()		// 获取对象的字节码文件
hashcode()		// 对象的hashcode值
equals()		// 判断两个对象是否相等,使用的地址判断
finalize()		// 垃圾回收前自动执行的该方法

Object类,提供的clone方法就是浅拷贝(对象)一个类要实现clone方法,必须要实现一个接口(Cloneable)

######toString方法

toString方法返回该对象的字符串表示,其实就是对象的类型+@+哈希值

由于toString方法返回的结果是内存地址,在开发中经常需要按照对象的特定数据得到相应的表现 形式,因此也需要复写它

基本数据类型包装类

8种基本类型:byte Byte short Short int Integer long

对应的包装类:Long float Float double Double boolean Boolean char Character

其中需要注意int对应的是Integer,char对应的Character,其他6个都是基本类型首字母大写即可。

基本数据类型对象包装类特点:用于在基本数据和字符串之间进行转换。

将基本数值转成字符串有3种方式

1)基本类型直接与””相连接即可;1+""

2)调用String的valueOf方法;String.valueOf(1);

3)调用包装类中的toString方法;Integer.toString(1);

自动装箱拆箱 JDK1.5以后,有了一个包装类的新特性。

目的简化书写,自动装箱 Integer i = 4;//自动装箱。

Integer i = Integer.valueOf(4); i = i + 5;//原理;等号右边:将i对象转成基本数值 i.intValue() + 5;//自动拆箱。

加法运算后,再次装箱。

#####StringBuer类

StringBuer是个字符串的缓冲区,即就是它是一个容器,容器中可以装很多字符。

并且能够对 其中的字符进行各种操作。

  1. 是一个字符串缓冲区,其实就是一个容器。
  2. 长度是可变,任意类型都行。注意:是将任意数据都转成字符串进行存储。
  3. 容器对象提供很多对容器中数据的操作功能,比如:添加,删除,查找,修改。
  4. 所有的数据最终变成一个字符串。
StringBuilder类

是线程不安全的,即就是在对容器操作的时候,不用去判断同步锁的问题,那么 效率就高。

#####System类

System标准流

System.in标准输入流

System.out标准输出流

System.err标准输出流

Date类

表示日期和时间的类

		// 获取当前时间
		Date date = new Date();
		// 获取2020-6-12的时间戳
		Date date = new Date(2020, 6, 12);
		// 2000出现千年虫BUG实践
		System.out.println(date.getYear() + 1900);
		System.out.println(date.getMonth() + 1);
		System.out.println(date.getDate());
		// Date对象提供获取时间的常见方法全部都已经过时了,因此不建议大家使用了
		System.out.println(date);

		// 获取当前时间的时间戳,1970-01-01 00:00:00距离当前时间的毫秒数
		// 1970-01-01 00:00:00用这个时间是为了纪念贝尔实验室
		// 时间戳是一个long类型
		System.out.println(date.getTime());

		// Java还可以通过System类获取时间戳,可以获取当前时间戳
		System.out.println(System.currentTimeMillis());

		// 日期对象 ------> 字符串 格式化日期
		// yyyy-MM-dd HH:mm:ss时期格式,允许带G:公元
		SimpleDateFormat sdf = new SimpleDateFormat("Gyyyy-MM-dd HH:mm:ss");// h表示12小时制,H表示24小时制
		SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");// yyyy年MM月dd日 HH时mm分ss秒,时间格式

		String format = sdf.format(date);
		System.out.println(format);

		// 字符串 ----> 日期对象
		String strTime = "2020年10月8日 12:12:12";
		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
		Date date2 = sdf2.parse(strTime);
		System.out.println(date2);

#####Calendar类

中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历、阴(农)历之分

	Calendar calendar = Calendar.getInstance();

		int year = calendar.get(Calendar.YEAR);
		int month = calendar.get(Calendar.MONTH) + 1;
		int day = calendar.get(Calendar.DATE);
		int hour = calendar.get(Calendar.HOUR);
		int minute = calendar.get(Calendar.MINUTE);
		int s = calendar.get(Calendar.SECOND);
NumberFormat

数字格式化类

NumberFormat 是所有数值格式的抽象基类。此类提供格式化和解析数值的接口。NumberFormat 还提供了一些方法来确定哪些语言环境具有数值格式,以及它们的名称是什么。

NumberFormat 可用于格式化和解析任何语言环境的数值。使代码能够完全独立于小数点、千位分隔符甚至所用特定小数位数的语言环境约定,并与数值格式是否为偶小数无关。

  1. getInstance()、getNumberInstance()。返回当前默认语言环境的通用数值格式。
  2. getInstance(Locale)、getNumberInstance(Locale)。返回指定语言环境的通用数值格式。
  3. NumberFormat.setMinimumIntegerDigits(int)。设置数的整数部分所允许的最小位数。
  4. NumberFormat.setMaximumIntegerDigits(int)。设置数的整数部分所允许的最大位数。
  5. NumberFormat.setMinimumFractionDigits(int)。设置最少小数点位数,不足的位数以0补位,超出的话按实际位数输出。
  6. NumberFormat.setMaximumFractionDigits(int)。设置最多保留小数位数,不足不补0。
DecimalFormat
货币格式化
  1. getCurrencyInstance()。静态方法,建立一个NumberFormat类的对象并返回引用,该引用指定货币格式为系统预设的货币格式。

  2. getCurrencyInstance(Locale) 。静态方法,建立一个NumberFormat类的对象,并返回引用,该引用的货币格式由Locale指定。

    百分比格式化
  3. getPercentInstance()。静态方法,创建一个NumberFormat类的对象并返回其引用。该对象指定百分比格式为系统预设格式。

  4. getPercentInstance(Locale)。静态方法,创建一个NumberFormat类的对象并返回引用。该对象的百分比格式由Locale来指定。

#####BigDecimal

Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数。在实际应用中,需要对更大或者更小的数进行运算和处理。

// 计算机中的浮点数,并不像整数那样存储,是通过一种算法得到
		// 如果使用浮点数计算时,可能得到的是一个相似值
		System.out.println(0.1 + 0.2);

		// 在高精度行业
		// 根据不同的行业需求,选择对应的构造函数进行计算
		BigDecimal bigDecimal1 = new BigDecimal(0.1);
		BigDecimal bigDecimal2 = new BigDecimal(0.2);

		BigDecimal add = bigDecimal1.add(bigDecimal2);//加法
		System.out.println(add);

		System.out.println(bigDecimal1.subtract(bigDecimal2));//除法
		System.out.println(bigDecimal1.divide(bigDecimal2));//减法
		System.out.println(bigDecimal1.multiply(bigDecimal2));//乘法
Rantime

Runtime类描述了虚拟机一些信息。该类采用了单例设计模式,可以通过静态方法 getRuntime()获取Runtime类实例。

	Runtime runtime = Runtime.getRuntime();

		// 返回当前运行时的JVM中运行的java进程
		System.out.println(runtime.availableProcessors());

		// JVM内存情况
		System.out.println(runtime.freeMemory());// 空闲内存,字节为单位
		System.out.println(runtime.maxMemory());// 最大内存,字节为单位
		System.out.println(runtime.totalMemory());// 使用内存,字节为单位

		// System 调用的退出系统、gc等方法,实质是Runtime中的方法

		// exec(和cmd类似的终端)实际上是cmd中的命令
		runtime.exec("calc");// 打开计算机
ArrayList类

ArrayList类是一个特殊的数组–动态数组。来自于System.Collections命名空间;通过添加和删除元素,就可以动态改变数组的长度。

优点:

  1. 支持自动改变大小
  2. 可以灵活的插入元素
  3. 可以灵活的删除元素

局限:

比一般的数组的速度慢一些;

######用法

初始化

1、不初始化容量

ArrayList arr1 = new ArrayList(); //不初始化刚开始的数组容量,当数组容量满时数组会自动一当前数组容量的2倍扩容

2、初始化容量

ArrayList arr2 = new ArrayList(3);//初始容量为3

3、用一个集合或数组初始化

ArrayList arr3 = new ArrayList(a);        //a为集合或数组

添加元素

方法:1)add(object value) ;将指定元素object value追加到集合的末尾

ArrayList arr = new ArrayList(); //初始化数组  

arr.add("a");    //往数组里添加元素

方法:2)add(int index, Object obj);

删除元素

方法:remove();

功能:从集合中删除指定位置处的元素,返回该元素

arr.remove("a");    //在数组里删除元素(根据对象删除)
arr.remove(0);    //根据下标删除ArrayList的元素

获取数组

方法:size() ;

arr.size();    *//获取arr数组的大小*

替换元素

方法:set() ;

arr.set(1, "0");          // 设置第2个元素为0

方法:clear() ;

功能:清空集合中所有元素

arr.clear();     //清空arr里的所有元素

查找元素

方法:get(****int index****); //index – 该元素返回的索引值

功能:返回集合中指定位置上的元素

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值