Java--常用类--System类&BigInteger类&BigDecimal类&日期类

  1. System类的使用:
    1. package com.model.system;
      
      import java.util.Arrays;
      
      /**
       * @Description:测试类
       * @Author: 张紫韩
       * @Crete 2021/7/5 16:03
       * 演示System类的常用方法
       */
      public class SystemDemo01 {
          public static void main(String[] args) {
      //        1.退出程序
              System.out.println("ok1");
      //        System.exit(0);//正常退出
              System.out.println("ok2");
      //        2.复制数组得元素
              int[] ints=new int[]{1,2,3,4,5};
              int[] ints1=new int[5];
              /*
              src – the source array.//源数组
              srcPos – starting position in the source array.//从原数组的那个位置开始拷贝
              dest – the destination array.//目标数组,即把原数组拷贝到那个数组
              destPos – starting position in the destination data. //把原数组的数据拷贝到目标数据的开始索引
              length – the number of array elements to be copied.//拷贝多少个
               */
              System.arraycopy(ints, 0, ints1, 0, ints.length);
              System.out.println(Arrays.toString(ints1));
      //        3.返回当前的时间距离1970-01-01的毫秒数
              System.out.println(System.currentTimeMillis());
          }
      }
  2. BigInteger类的使用:

    1. package com.model.biginteger;
      
      import java.math.BigInteger;
      
      /**
       * @Description:测试类
       * @Author: 张紫韩
       * @Crete 2021/7/5 16:39
       * BigInteger类的使用的使用
       */
      public class BigIntegerDemo01 {
          public static void main(String[] args) {
              //当我们的遇到很大的数是,lang类型不够用
              //可以使用BigInteger的类来搞定
              BigInteger bigInteger = new BigInteger("111111111111111111111111111");
              System.out.println(bigInteger);
      //        对bigInteger进行操做
      //        1.加
              BigInteger bigInteger1 = new BigInteger("2");
              System.out.println(bigInteger.add(bigInteger1));
      //        2.减
              BigInteger bigInteger2=new BigInteger("1");
              System.out.println(bigInteger.subtract(bigInteger2));
      //        3.乘
              BigInteger bigInteger3 = new BigInteger("2");
              System.out.println(bigInteger.multiply(bigInteger3));
      //        4.除
              BigInteger bigInteger4 = new BigInteger("2");
              System.out.println(bigInteger.divide(bigInteger3));
      
          }
      
      
      }
    2.  
      package com.model.bigdecimal;
      
      import java.math.BigDecimal;
      
      /**
       * @Description:测试类
       * @Author: 张紫韩
       * @Crete 2021/7/5 17:10
       * 演示BigDecimal类的使用
       */
      public class BigDecimalDemo01 {
          public static void main(String[] args) {
              //当我们需要保存精度很高的数时,double不够用的使用我们可以使用BigDecimal类
              BigDecimal bigDecimal = new BigDecimal("1.000000000001");
              System.out.println(bigDecimal);
      //        对BigDecimal进行操做
      //        1.加
              BigDecimal bigDecimal1 = new BigDecimal("1.000000000000000000000001");
              BigDecimal add = bigDecimal.add(bigDecimal1);
              System.out.println(add);
      //        2.减
              BigDecimal bigDecimal2 = new BigDecimal("0.00000000000001");
              BigDecimal subtract = bigDecimal.subtract(bigDecimal2);
              System.out.println(subtract);
      //        3.乘
              BigDecimal bigDecimal3 = new BigDecimal("2");
              BigDecimal multiply = bigDecimal.multiply(bigDecimal3);
              System.out.println(multiply);
      //        4.除
              BigDecimal bigDecimal4 = new BigDecimal("2");
      //        BigDecimal divide = bigDecimal.divide(bigDecimal4);//可能会抛出异常
      //        当调用divide方法是,可能会抛出算数异常ArithmeticException
      //        只要我们指定精度即可解问题,就不会抛出异常了
              BigDecimal divide = bigDecimal.divide(bigDecimal4,BigDecimal.ROUND_CEILING);
              System.out.println(divide);
          }
      }
       
  3. 日期类:
      1.  

        package com.model.data;
        
        
        import java.text.ParseException;
        import java.text.SimpleDateFormat;
        import java.util.Date;
        
        /**
         * @Description:测试类
         * @Author: 张紫韩
         * @Crete 2021/7/5 20:53
         * 演示日期类使用 Data类
         */
        public class DataDemo01 {
            public static void main(String[] args) throws ParseException {
        
        
                Date date = new Date();
        //        1.获取当前的日期
                System.out.println(date);
        //        2.格式化日期
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss E");
                String format = simpleDateFormat.format(date);
                System.out.println(format);
        
        //        3.//通过指定毫秒数得到某个时间
                System.out.println(new Date(123145)); //通过指定毫秒数得到某个时间
                System.out.println(System.currentTimeMillis());//获取当前的毫秒数
        //        System.out.println(new Date(100, 07, 05));
        //        4.将字符串转换为日期格式
                SimpleDateFormat simpleDateFormat1 = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss E");
                String s="2021年07月05日 10:10:10 星期一";
                Date parse = simpleDateFormat1.parse(s);
                System.out.println(parse);
        
        
            }
        } 
      1. package com.model.date;
        
        import java.text.SimpleDateFormat;
        import java.util.Calendar;
        
        /**
         * @Description:测试类
         * @Author: 张紫韩
         * @Crete 2021/7/5 21:48
         * 演示第二代日期类 Calendar的使用
         */
        public class DateDemo02 {
            public static void main(String[] args) {
        
                //1.是一个抽象类,构造器是私有的,可以通过getInstance();获得实例对象
                Calendar calendar = Calendar.getInstance();
                System.out.println(calendar);
        //        2.获取日期
                System.out.println(calendar.getTime());
                SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss E");
                System.out.println(simpleDateFormat.format(calendar.getTime()));
        
        //        3.获取calendar的各个字段信息
                System.out.println("年"+calendar.get(Calendar.YEAR) + 1);
                System.out.println("月"+calendar.get(Calendar.MONTH) + 1);
                System.out.println("日"+calendar.get(Calendar.DAY_OF_MONTH));
                System.out.println("小时"+calendar.get(Calendar.HOUR));
                System.out.println("分钟"+calendar.get(Calendar.MINUTE));
                System.out.println("秒"+calendar.get(Calendar.SECOND));
            }
        }
      1.  

         

      2. package com.model.date;
        
        import java.time.Instant;
        import java.time.LocalDate;
        import java.time.LocalDateTime;
        import java.time.LocalTime;
        import java.time.format.DateTimeFormatter;
        import java.util.Date;
        
        /**
         * @Description:测试类
         * @Author: 张紫韩
         * @Crete 2021/7/5 22:07
         * 第三代日期类的使用
         */
        public class DateDemo03 {
            public static void main(String[] args) {
        //        第三代日期类
        //        1.使用now()返回当前的日期和时间的对象
                LocalDateTime localDateTime=LocalDateTime.now();
        
        
                System.out.println(localDateTime);
        //        2.获取各个字段信息
                System.out.println(localDateTime.getYear());
                System.out.println(localDateTime.getMonth());
                System.out.println(localDateTime.getDayOfMonth());
                System.out.println(localDateTime.getHour());
                System.out.println(localDateTime.getMinute());
                System.out.println(localDateTime.getSecond());
        
                LocalDate now = LocalDate.now();
                System.out.println(now);
                System.out.println(LocalTime.now());
        
        //        3.对第三代日期类进行格式化
                DateTimeFormatter formatter=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss E");
                String format = formatter.format(LocalDateTime.now());
                System.out.println(format);
        
        //      4.时间戳
        //          时间戳和Date相互转换
                Instant instant=Instant.now();
                System.out.println(instant);
                Date date=Date.from(instant);
                Date date1 = new Date();
                Instant instant1 = date1.toInstant();
        
        //        5.LocalDateTime类的其他方法
                LocalDateTime now1 = LocalDateTime.now();
                //十天后是什么日期
                LocalDateTime localDateTime1 = now1.plusDays(10);
                DateTimeFormatter formatter1=DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss E");
                System.out.println(formatter1.format(localDateTime1));
        //        5天前的日期
                LocalDateTime localDateTime2 = now1.minusDays(5);
        
                System.out.println(formatter1.format(localDateTime2));
                
                //我们在开发中尽量使用第三代日期类
            }
        } 
posted @ 2021-07-05 22:38  张紫韩  阅读(43)  评论(0编辑  收藏  举报