1、Scanner 类java
一个能够解析基本类型和字符串的简单文本扫描器。程序员
package cn.wxuns;import java.util.Scanner;public class MyScanner { public static void main( String[] args){ Scanner myScanner = new Scanner(System.in); System.out.println("请输入一个数字"); int sc = myScanner.nextInt(); System.out.println(sc); }}
2、Random 类数组
生成伪随机数app
package cn.wxuns;import java.util.Random;public class MyRandom { public static void main(String[] args){ int random = new Random().nextInt(100); System.out.println(random); }}
3、ArrayList 类dom
定义:ArrayList<String>,ArrayList<Student>方法:add,set,get,remove,clone,size 等package cn.wxuns;import java.util.ArrayList;public class MyArray { public static void main(String[] args){ ArrayList<String> arr = new ArrayList<>(); arr.add("lisi"); System.out.println(arr.get(0)); }}
ArrayList 对象不能存储基本类型,只能存储引用类型的数据。相似 不能写,可是存储基本数据类型对应的包装类型是能够的。因此,想要存储基本类型数据, <> 中的数据类型,必须转换后才能编写,转换写法以下:
4、String 类ide
类 String 中包括用于检查各个字符串的方法,好比用于比较字符串,搜索字符串,提取子字符串以及建立具备翻译为大写或小写的全部字符的字符串的副本。函数
1. 字符串不变:字符串的值在建立后不能被更改。工具
String s1 = "abc";s1 += "d";System.out.println(s1); // "abcd"// 内存中有"abc","abcd"两个对象,s1从指向"abc",改变指向,指向了"abcd"。
2. 由于 String 对象是不可变的,因此它们能够被共享性能
String s1 = "abc";String s2 = "abc";// 内存中只有一个"abc"对象被建立,同时被s1和s2共享。
3."abc" 等效于 char [] data={ 'a' , 'b' , 'c' } 。ui
例如:String str = "abc";至关于:char data[] = {'a', 'b', 'c'};String str = new String(data);// String底层是靠字符数组实现的。
5、构造方法
常见 String 类方法:
6、Arrays 类
java.util.Arrays 此类包含用来操做数组的各类方法,好比排序和搜索等。其全部方法均为静态方法,调用起来很是简单。
1.Arrays.asList(T… data)
注意:该方法返回的是 Arrays 内部静态类 ArrayList,而不是咱们日常使用的 ArrayList,,该静态类 ArrayList 没有覆盖父类的 add, remove 等方法,因此若是直接调用,会报 UnsupportedOperationException 异常
List<Integer> list = Arrays.asList(1, 2, 3);Integer[] data = {1, 2, 3};List<Integer> list = Arrays.asList(data);
int[] data = {1, 2, 3};List<int[]> list = Arrays.asList(data);
2.Arrays.fill()
Integer[] data = {1, 2, 3, 4};Arrays.fill(data, 9);System.out.println(Arrays.toString(data)); // [9, 9, 9, 9]
Integer[] data = {1, 2, 3, 4};Arrays.fill(data, 0, 2, 9);System.out.println(Arrays.toString(data)); // [9, 9, 3, 4]
3.Arrays.sort()
int[] data = {1, 2, 3,1,3,4};Arrays.sort(data);System.out.println(data);
String[] data = {"1", "4", "3", "2"};System.out.println(Arrays.toString(data)); // [1, 4, 3, 2]// 对下标[0, 3)的元素进行排序,即对1,4,3进行排序,2保持不变Arrays.sort(data, 0, 3);System.out.println(Arrays.toString(data)); // [1, 3, 4, 2]
String[] data = {"1", "4", "3", "2"};System.out.println(Arrays.toString(data)); // [1, 4, 3, 2]// 对下标[0, 3]的元素进行降序排序,即对1,4,3进行降序排序,2保持不变Arrays.sort(data, 0, 3, (str1, str2) -> { if (str1.compareTo(str2) > 0) { return -1; } else { return 1; }});System.out.println(Arrays.toString(data)); // [4, 3, 1, 2]
4.Arrays.parallelSort()
对数组元素进行排序(并行排序),当数据规模较大时,会有更好的性能
Arrays.parallelSort(data);
5.Arrays.binarySearch () 二分法 查找
注意:在调用该方法以前,必须先调用 sort () 方法进行排序,若是数组没有排序, 那么结果是不肯定的,此外若是数组中包含多个指定元素,则没法保证将找到哪一个元素
6.Arrays.copyOf()
拷贝数组,其内部调用了 System.arraycopy () 方法,从下标 0 开始,若是超过原数组长度,会用 null 进行填充
Integer[] data1 = {1, 2, 3, 4};Integer[] data2 = Arrays.copyOf(data1, 2);System.out.println(Arrays.toString(data2)); // [1, 2]Integer[] data2 = Arrays.copyOf(data1, 5);System.out.println(Arrays.toString(data2)); // [1, 2, 3, 4, null]
7.Arrays.copyOfRange(T[] original, int from, int to)
拷贝数组,指定起始位置和结束位置,若是超过原数组长度,会用 null 进行填充,同 6
8.Arrays.equals(Object[] array1, Object[] array2)
判断两个数组是否相等,实际上比较的是两个数组的哈希值,即 Arrays.hashCode (data1) == Arrays.hashCode (data2)
9.Arrays.deepEquals(Object[] array1, Object[] array2)
判断两个多维数组是否相等,实际上比较的是两个数组的哈希值,即 Arrays.hashCode (data1) == Arrays.hashCode (data2)
10.Arrays.hashCode(Object[] array)
返回数组的哈希值
11.Arrays.deepHashCode(Object[] array)
返回多维数组的哈希值
12.Arrays.toString(Object[] array)
返回数组元素的字符串形式
Integer[] data = {1, 2, 3};System.out.println(Arrays.toString(data)); // [1, 2, 3]
13.Arrays.deepToString(Object[] array)
返回多维数组元素的字符串形式
14.Arrays.setAll(T[] array, IntFunction
Integer[] data = {1, 2, 3, 4};// i为索引值Arrays.setAll(data, i -> data[i] * 2);System.out.println(Arrays.toString(data)); // [2, 4, 6, 8]
15.Arrays.parallelSetAll(T[] array, IntFunction
Integer[] data = {2, 3, 4, 5};// 第一个元素2不变,将其与第二个元素3一块儿做为参数x, y传入,获得乘积6,做为数组新的第二个元素// 再将6和第三个元素4一块儿做为参数x, y传入,获得乘积24,做为数组新的第三个元素,以此类推Arrays.parallelPrefix(data, (x, y) -> x * y);System.out.println(Arrays.toString(data)); // [2, 6, 24, 120]
16.Arrays.spliterator(T[] array)
返回数组的分片迭代器,用于并行遍历数组
17.Arrays.stream(T[] array)
返回数组的流 Stream,而后咱们就可使用 Stream 相关的许多方法了
7、Math 类
java.lang.Math 类包含用于执行基本数学运算的方法,如初等指数、对数、平方根和三角函数。相似这样的工具类,其全部方法均为静态方法,而且不会建立对象,调用起来很是简单。
8、Object 类
对象,全部的类都继承 Object 类,可重写部分方法
9、日期时间类
Date 类
表示特定的瞬间,精确到毫秒。
after,before,clone,getTime,hashCode,toString
DateFormat 类
是日期 / 时间格式化子类的抽象类,咱们经过这个类能够帮咱们完成日期和文本之间的转换,也就是能够在 Date 对象与 String 对象之间进行来回转换。
因为 DateFormat 为抽象类,不能直接使用,因此须要经常使用的子类 java.text.SimpleDateFormat
建立 SimpleDateFormat
import java.text.DateFormat;import java.text.SimpleDateFormat;public class MySimpleDateFormat { public static void main(String[] args) { // 对应的日期格式如:2018-01-16 15:06:38 DateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); }}
经常使用方法:
Calendar 类
Calendar 为抽象类,因为语言敏感性,Calendar 类在建立对象时并不是直接建立,而是经过静态方法建立 getInstance(),返回子类对象
经常使用方法:
Calendar 类中提供不少成员常量,表明给定的日历字段:
10、System 类
11、StringBuilder 类
因为 String 类的对象内容不可改变,因此每当进行字符串拼接时,老是会在内存中建立一个新的对象。
在 API 中对 String 类有这样的描述:字符串是常量,它们的值在建立后不能被更改。为了解决这一问题,可使用 java.lang.StringBuilder 类。
构造函数:
方法:
12、包装类
Java 提供了两个类型系统,基本类型与引用类型,使用基本类型在于效率,然而不少状况,会建立对象使用,由于对象能够作更多的功能,若是想要咱们的基本类型像对象同样操做,就可使用基本类型对应的包装类,以下:
基本数值 ----> 包装对象
Integer i = new Integer(4);//使用构造函数函数Integer iii = Integer.valueOf(4);//使用包装类中的valueOf方法
原做者:Java
原文连接: java程序员经常使用的11个API,赶忙收藏
原出处:公众号
侵删