栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Java自学笔记—其他类

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java自学笔记—其他类

Java自学笔记—其他类

其他类
  • Java自学笔记—其他类
    • Arrays
    • System
    • 大数
      • BigInteger
      • BigDecimal
    • 日期类
      • Date
      • Calendar
      • Instant
      • LocalDateTime
    • 总结

Arrays
public class ArraysMethod {
    public static void main(String[] args) {
        Integer[] integers = {1, 10, 7, 8, 2, 11};
        
//        for (int i = 0; i < integers.length; i++) {
//            System.out.println(integers[i]);
//        }
        // 输出数组
        System.out.println(Arrays.toString(integers));
        
        //排序, 可以通过传入一个Comparator接口实现定制排序
        //Arrays.sort(integers);
        Arrays.sort(integers, new Comparator() {
            @Override
            public int compare(Integer o1, Integer o2) {
                Integer i1 = (Integer) o1;
                Integer i2 = (Integer) o2;
                return i1 - i2;
            }
        });
        System.out.println("排序后 = " + Arrays.toString(integers));
        
        // 二分查找,要有序数组(升序),如果不存在,则返回 -(low +1),low为该值在序列中排序对应的索引
        int i = Arrays.binarySearch(integers,7);
        System.out.println(i);
        //copyOf(arr, a) 数组元素复制,从arr中复制a个元素,若a > arr.length就在某尾加null
        // 小于0抛异常NegativeArraySizeException
        Integer[] newintergers = Arrays.copyOf(integers, integers.length);
        
        //fill(str, a ) 数组填充用a替换所有元素
        Integer[] num = {1, 2, 3};
        Arrays.fill(num, 99);
        System.out.println(Arrays.toString(num));
        // equals判断是否相等
        Integer[]  num2 = {1, 2, 3};
        System.out.println(num.equals(num2));
        
        //asList 转换为list
        List aslist = Arrays.asList(1, 2, 3);
        System.out.println("aslist= " + aslist);
        //运行类型、方法返回类型 Arrays的静态内部类ArrayList
        System.out.println(aslist.getClass());
    }
}

sort()方法可以通过传入一个匿名内部类实现定制排序

        //Arrays.sort(integers);
        Arrays.sort(integers, new Comparator() {
            @Override
            public int compare(Integer o1, Integer o2) {
                Integer i1 = (Integer) o1;
                Integer i2 = (Integer) o2;
                return i1 - i2;
            }
        });
System
public class System_ {
    public static void main(String[] args) {
    
        System.out.println("ok1");
        int[] src = {1, 2, 3};
        int[] dest = new int[3];
        
        //arraycopy(源数组 src, 源数组初始索引0, 目标数组dest, 目标数组存放初始1, 目标数组拷贝长度2);
        System.arraycopy(src, 0, dest, 1, 2);
        System.out.println(Arrays.toString(dest));
        
        // 返回时间
        System.out.println(System.currentTimeMillis());
        System.exit(0);
        
        System.out.println("ok2");
    }
}
大数 BigInteger
public class BigInteger_ {
    public static void main(String[] args) {
        // long l = 99999999999999999999; // too large
        BigInteger biginteger = new BigInteger("99999999999999999999999");
        BigInteger biginteger2 = new BigInteger("7");
        System.out.println(biginteger);
        
        // 加减乘除需要使用对应的方法
        System.out.println(biginteger.add(biginteger2));
        System.out.println(biginteger.subtract(biginteger2));
        System.out.println(biginteger.multiply(biginteger2));
        System.out.println(biginteger.divide(biginteger2));
    }
}
BigDecimal
public class BigDecimal_ {
    public static void main(String[] args) {
        double d = 1.11111122222222222222222222;//精度不够
        BigDecimal bigDecimal = new BigDecimal("1.11111122222222222222222222");
        BigDecimal bigDecimal2 = new BigDecimal("1.2222222222333333333");
        System.out.println(d);

        // 加减乘除
        System.out.println(bigDecimal.add(bigDecimal2));
        System.out.println(bigDecimal.subtract(bigDecimal2));
        System.out.println(bigDecimal.multiply(bigDecimal2));
        
        //可能除不尽,会抛异常
        //System.out.println(bigDecimal.divide(bigDecimal2));
        //在调用时指定精度即可,BigDecimal.ROUND_CEILING会保留分子精度
        System.out.println(bigDecimal.divide(bigDecimal2, BigDecimal.ROUND_CEILING));
    }
}
日期类 Date
public class Date_ {
    public static void main(String[] args) throws Exception {
        // Date 获取当前时间,输出为国外格式,因此常常需要转化
        Date date = new Date();
        System.out.println(date);
        
        //格式化
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss E");
        String d = sdf.format(date);
        System.out.println(d);

        Date date2 = new Date(8956856);
        System.out.println(date2);

        // 把一个格式化的字符串,转成Date
        Date parse = sdf.parse("2021年10月31日 10:47:31 星期日");
        System.out.println(parse);
    }
}
Calendar
public class Calendar_ {
    public static void main(String[] args) {
         // Calendar 是一个抽象类 构造器私有,getInstance获取
        Calendar c = Calendar.getInstance();
        System.out.println(c);
        
        // 没有提供格式,要自己组合
        System.out.println("年 = " + c.get(Calendar.YEAR));
        // 月份从0开始,因此要加1
        System.out.println("月 = " + (c.get(Calendar.MONTH) + 1) );
        // 默认12小时
        System.out.println("12小时制 = " + c.get(Calendar.HOUR));
        // 24小时
        System.out.println("24小时制 = " + c.get(Calendar.HOUR_OF_DAY));

        
    }
}
Instant
 * @author Lspero
 * @version 1.0
 */
public class Instant_ {
    public static void main(String[] args) {
        // 时间戳 Instant
        Instant now = Instant.now();
        System.out.println(now);
        // 转成Date
        Date date = Date.from(now);
        // 转成Instant
        Instant instant = date.toInstant();
    }
}
LocalDateTime
import java.time.Instant;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;


public class LocalDateTime_ {
    public static void main(String[] args) {
        // JDK8加入
        //LocalDate
        //LocalTime
        //LocalDateTime
        LocalDateTime ldt = LocalDateTime.now();
        System.out.println(ldt);
        
        System.out.println("年 = " + ldt.getYear());
        System.out.println("月 = " + ldt.getMonth());
        System.out.println("月 = " + ldt.getMonthValue());
        System.out.println("日 = " + ldt.getDayOfMonth());
        System.out.println("时 = " + ldt.getHour());
        System.out.println("分 = " + ldt.getMinute());
        System.out.println("秒 = " + ldt.getSecond());

        // 定制输出
        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy年MM月dd日 hh:mm:ss E");
        String format = dtf.format(ldt);
        System.out.println(format);

        LocalDate date = LocalDate.now();
        LocalTime time = LocalTime.now();

        // 提供plus 和 minus 方法 可以加减
        LocalDateTime localDateTime = ldt.plusDays(890);
        System.out.println("890天后是 " + dtf.format(localDateTime));

        LocalDateTime localDateTime02 = ldt.minusMinutes(89465);
        System.out.println("89465分钟前是 " + dtf.format(localDateTime02));


    }
}

总结

Java 提供很多类,并不用将每个方法记住,可以通过API或者类图的方式查询

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/434621.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号