代码链接:https://download.csdn.net/download/qq_52354698/86395007?spm=1001.2014.3001.5503
//手动拆箱
int n1 = 100;
Integer integer = new Integer(n1);
Integer integer1 = Integer.valueOf(n1);
//手动装箱
int i = integer.intValue();
//自动装箱
int n2 = 200;
Integer integer2 = n2;//底层自动调用的valueOf()
//自动拆箱
int n3 = integer2;//底层自动调用intValue()
Integer integer = 100;
String str1 = integer + "";
String str2 = integer.toString();
String str3 = String.valueOf(integer);
String str4 = "1234";
Integer integer1 = Integer.parseInt(str4);
Integer integer2 = new Integer(str4);
方式一:直接赋值String s = “qdu”;
方式二:调用构造器String s2 = new String(“qdu”);
String类是保存字符串常量的。每次更新都需要重新开辟空间,效率较低,因此java设计者还提供了StringBulider和StringBuffer来增强String的功能,并提供效率。
java.lang.StringBuffer代表可变的字符序列,可以对字符串内容进行增删
很多方法与String相同,但是StringBuffer是可变长度的
StringBuffer是一个容器
StringBuffer()
构造一个其中不带字符的字符串缓冲区,其初始容量为16个字符。
StringBuffer(int capacity)
构造一个不带字符,但具有指定初始容量的字符串缓冲区。
StringBuffer(String str)
构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容。
StringBuffer stringBuffer = new StringBuffer();
StringBuffer stringBuffer1 = new StringBuffer(100);
StringBuffer stringBuffer2 = new StringBuffer("test");
String转换为StringBuffer
String str = "hello world";
StringBuffer stringBuffer = new StringBuffer(str);
StringBuffer stringBuffer1 = new StringBuffer();
stringBuffer1 = stringBuffer1.append(str);
StringBuffer转换为String
StringBuffer stringBuffer2 = new StringBuffer("test");
String s = stringBuffer2.toString();
String s1 = new String(stringBuffer2);
Math 类包含用于执行基本数学运算的方法,如:初等指数、对手、平方根、三角函数…
random 求随机数
random 返回的是 0 <= x < 1 之间的一个随机小数
获取一个 a - b 之间的一个随机整数
int num = (int)(a + Math.random() * (b - a + 1))
Arrays 里面包含了一系列静态方法,用于管理或操作数组(比如排序和搜索)
1. toString 返回数组的字符串形式
Integer[] integers = {1, 20, 40};
System.out.println(Arrays.toString(integers));
2. sort 排序(自然排序和定址排序)
Integer[] integers = {1, -2, 7, 0, 90};
System.out.println(Arrays.toString(integers));
Arrays.sort(integers);
System.out.println(Arrays.toString(integers));
Arrays.sort(integers, new Comparator() {
@Override
public int compare(Object o1, Object o2) {
Integer i1 = (Integer) o1;
Integer i2 = (Integer) o2;
return i2 - i1;
}
});
System.out.println(Arrays.toString(integers));
3. binarySearch 通过二分搜索法进行查询,要求必须排好序
Integer[] integers = {1, -4, 17, 8};
Arrays.sort(integers);
int index = Arrays.binarySearch(integers, 8);
System.out.println(Arrays.toString(integers));
System.out.println(index);
输出的数组的下标
4. copyOf 数组元素的复制
Integer[] integers = {1, 2, 3, 7};
Integer[] integers1 = Arrays.copyOf(integers, integers.length);
System.out.println(Arrays.toString(integers));
System.out.println(Arrays.toString(integers1));
5. fill 数组元素的填充
Integer[] integers = {1, 2, 3, 4};
System.out.println(Arrays.toString(integers));
Arrays.fill(integers, 99);
System.out.println(Arrays.toString(integers));
System.out.println("ok1");
System.exit(0);
System.out.println("ok2");
对应的加减乘除需要使用对应的方法,不能直接使用运算符
BigInteger bigInteger = new BigInteger("19999999999999999999");
System.out.println(bigInteger);
BigInteger bigInteger1 = new BigInteger("100");
BigInteger add = bigInteger.add(bigInteger1);
System.out.println(add);
BigInteger subtract = bigInteger.subtract(bigInteger1);
System.out.println(subtract);
BigInteger multiply = bigInteger.multiply(bigInteger1);
System.out.println(multiply);
BigInteger divide = bigInteger.divide(bigInteger1);
System.out.println(divide);
除法的时候可能会存在精度问题,可能会抛一个异常,因此在使用除法的时候,我们经常指定精度
BigDecimal bigDecimal = new BigDecimal("1.99999999999999999999");
System.out.println(bigDecimal);
BigDecimal bigDecimal1 = new BigDecimal("1.1");
System.out.println(bigDecimal.add(bigDecimal1));
System.out.println(bigDecimal.subtract(bigDecimal1));
System.out.println(bigDecimal.multiply(bigDecimal1));
System.out.println(bigDecimal.divide(bigDecimal1, BigDecimal.ROUND_CEILING));
2. SimpleDateFormat:格式和解析日期的类
SimpleDateFormat 格式化和解析日期的具体类。它允许进行格式化(日期->文本)、解析(文本->日期)和规范化。
Date date = new Date();
System.out.println(date);
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyy年MM月dd日 hh:mm:ss E");
String format = simpleDateFormat.format(date);
System.out.println(format);
String str = "1990年01月01日 10:20:30 星期一";
Date parse = simpleDateFormat.parse(str);
System.out.println(parse);
Calendar calendar = Calendar.getInstance();
System.out.println(calendar);
System.out.println(calendar.get(Calendar.YEAR));
System.out.println(calendar.get(Calendar.MONTH));
System.out.println(calendar.get(Calendar.DAY_OF_MONTH));
System.out.println(calendar.get(Calendar.HOUR));
System.out.println(calendar.get(Calendar.SECOND));
JDK8加入
LocalDateTime localDateTime = LocalDateTime.now();
System.out.println(localDateTime);
System.out.println(localDateTime.getYear());
System.out.println(localDateTime.getMonth());
System.out.println(localDateTime.getMonthValue());
System.out.println(localDateTime.getDayOfMonth());
System.out.println(localDateTime.getHour());
System.out.println(localDateTime.getMinute());
System.out.println(localDateTime.getSecond());
DateTimeFormatter 格式日期类
类似 SimpleDateFormat
Instant 时间戳
Instant instant = Instant.now();
System.out.println(instant);
Date date = Date.from(instant);
System.out.println(date);
Instant instant1 = date.toInstant();
System.out.println(instant1);
plus 和 minus 方法可以对当前时间进行加或者减