1. 程式人生 > 其它 >java--常用類--System類&BigInteger類&BigDecimal類&日期類

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. 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));
                
                //我們在開發中儘量使用第三代日期類
            }
        }