java 中常用的類


 

java 中常用的類

 

Math

  Math 類,包含用於執行基本數學運算的方法

  常用API

    取整
    • static double  absdouble  a)  獲取double 的絕對值
    • static double  ceildouble  a     向上取整(天花板)
    • static double  floordouble  a   向下取整 (地板)
    • static long   rounddouble a  四舍五入
1 double a = 3.1415926;
2         double ceil = Math.ceil(a);
3         double floor = Math.floor(a);
4         long round = Math.round(a);
5         // 打印結果 : 4.0---3.0---3
6         System.out.println(ceil +"---"+ floor +"---"+ round);
Math 類中的取整
    最值
    • static  T  maxT t, T t)   返回參數類型值中比較大的值
    • static  T  minT t, T t)   返回參數類型值中比較小的值
 1         double a = 3.156;
 2         double b = 123;
 3         
 4         double max = Math.max(a, b);
 5         // 打印結果 :123.0
 6         System.out.println(max);
 7         
 8         double min = Math.min(a, b);
 9         // 打印結果 :3.156
10         System.out.println(min);
Math 類中的最值方法
    0-1 隨機數
    • static double  random()   返回從0-1的隨機數
1         double random = Math.random();
2         // 打印結果 :0.40999788738259957
3         System.out.println(random);
Math 類中的隨機方法

 

Calendar

  Calendar 是日歷類,calendar 為抽象類,由於語言的敏感性,calendar 在創建的時候並非直接創建,而是通過靜態方法創建,先處理語言的敏感性,在返回子類對象。

  Calendar 是通過getInsrance() 靜態方法來獲取子類對象。

  示例:

 1 public class StringDemo {
 2     /**
 3      * 通過calendar 類中的靜態方法,getInstance 獲取子類對象
 4      */
 5     static Calendar c = Calendar.getInstance();
 6     public static void main(String[] args) {
 7         /**
 8          * 獲取當前日歷年份
 9          * 結果 : 2018
10          */
11         System.out.println(c.get(Calendar.YEAR));
12     }
13 }
獲取calendar

  常用API   

    獲取
    • static Calendar  getInstance()           獲取日歷
    • l       long     getTimeInMillis()        獲取當前時間的毫秒值
    • l      Date    getTime()             獲取當前時間
    • l      int     get(int field)         獲取指定字段的值
      •       YEAR 年
      •       MONTH 月,從0開始算起,最大11;0代表1月,11代表12月。
      •       DATE 天
      •       HOUR 時
      •       MINUTE分
      •       SECOND秒

 

    設置值
    • abstract  void add(int field, int amount為指定的日歷字段增加或減少時間量
    •       void set(int field, int value將指定的值設置給指定的字段
    •       void setTime(Date date將指定的Date 值設置給calendar
    •       void setTimeInMillis(long millis) 將指定的毫秒值設置給calendar
 1 import java.text.SimpleDateFormat;
 2 import java.util.Calendar;
 3 import java.util.Date;
 4 
 5 public class StringDemo {
 6     /**
 7      * 通過calendar 類中的靜態方法,getInstance 獲取子類對象
 8      */
 9     static Calendar c = Calendar.getInstance();
10     public static void main(String[] args){
11         /** 
12          * 獲取當前時間的毫秒值
13          * 打印結果:1543483475246
14          */
15         System.out.println(c.getTimeInMillis());
16         
17         /**
18          * 獲取當前時間
19          * 打印結果:Thu Nov 29 17:24:35 CST 2018
20          * 打印結果:2018-11-29 : 17:24:35
21          */
22         Date time = c.getTime();
23         System.out.println(time);
24         // 調用SimpleDateFormat,將當前時間轉換為指定格式
25         SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd : HH:mm:ss");
26         System.out.println(dateFormat.format(time));
27         
28         /**
29          * 獲取當前年份
30          * 打印結果:2020
31          */
32         c.set(Calendar.YEAR, 2020);
33         System.out.println(c.get(Calendar.YEAR));
34         
35     }
36 }
calendar 的API 示例

 

SimpleDateFormat 與 Date 

  DataFormat 類是針對日期進行格式化,針對字符串進行解析的類,但它是抽象類,所以使用其子類simpleDateFormat

  Data 是表示特定的瞬間,精確到毫秒

  SimpleDateFormat的構造方法

  SimpleDateFormat 的API

  • void       applyPattern(String pattern)   將指定模式字符串應用於此日期格式
  • stringBuffer  format(Date date)       將指定的日期以指定的字符串格式輸出
  • Date      parse(String text)         將指定字符串解析成時間(date)

         y 年            M 月     d 日
            h 時 在上午或下午 (1~12)
            H 時 在一天中 (0~23)
            m 分     s 秒            S 毫秒        E 星期

        D 一年中的第幾天
             F 一月中第幾個星期幾
             w 一年中第幾個星期
             W 一月中第幾個星期
             a 上午 / 下午 標記符
             k 時 在一天中 (1~24)
             K 時 在上午或下午 (0~11)
             z 時區

    示例: 

 1 1、將當前時間毫秒值轉換成指定時間字符串
 2 // 創建時間格式字符串
 3 String str = "yyyy-MM-dd HH:mm:ss 一年中的第D天---一月中第F個星期E---一年中第w個星期";
 4 SimpleDateFormat dateFormat = new SimpleDateFormat(str);
 5         /**
 6          * 使用System.currentTimeMillis()獲取當前時間的毫秒值
 7          * 將時間毫秒值轉換成指定格式的時間日期
 8          * 打印結果:2018-11-26 09:49:30 一年中的第330天---一月中第4個星期星期一---一年中第48個星期
 9          */
10 System.out.println(dateFormat.format(System.currentTimeMillis()));
11 
12 
13 
14 2、將指定時間字符串轉換成時間
15         // 創建時間字符串
16         String str1 = "2018年11月26日";
17         SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy年MM月dd日");
18         // 將時間字符串以指定格式,轉換成時間
19         Date date = simpleDateFormat.parse(str1);
20         // 打印結果:Mon Nov 26 00:00:00 CST 2018
21         System.out.println(date);
22 
23         
時間與字符串相互轉換

  Date  API

  • long   getTime()  獲取當時時間的毫秒值,和System.currentTimeMillis() 類似

 

System

  System API

  • void  arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 從指定源數組中復制一個數組,復制從指定位置開始,到目標數組的指定位置結束
  • long  currentTimeMillis()    返回當前時間的毫秒值
  • void  exit(int status)   終止當前正在運行的java 虛擬機
  • void  gc()               運行垃圾回收器

  示例:

1         //  創建兩個數組,一個有內容,一個長度為10的數組
2         int[] arr = {1,2,3,4,5,6,7,8,9};
3         int[] arr1 =new int[10];
4         // 調用System 中的arraycopy 方法,復制arr數組到arr1中
5         System.arraycopy(arr, 0, arr1, 0, arr.length);
6         // 打印結果:[1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
7         System.out.println(Arrays.toString(arr1));
system 中的arraycopy方法

 

Random

  Random 類 是生成隨機數(偽隨機數)的類。在進行隨機時,隨機算法的起源數字稱之為種子數,在種子數的基礎上進行一定的變換,從而產生需要的隨機數字。

  相同種子數的Random 對象,相同次數生成的隨機數數字是完全相同的。也就是說,兩個種子數完全相同的Random對象,第一次生成的隨機數字完全相同,第二次生成的隨機數字也完全相同。

  Random 的構造方法

    Random() 創建一個新的隨機數生成器。

    Random(long seed)  使用單個 long 種子創建一個新的隨機數生成器。

 1         // 創建random 類,種子數相同
 2         Random random = new Random(10);
 3         Random random1 = new Random(10);
 4         // 生成隨機數
 5         int i = random.nextInt();
 6         int i1 = random1.nextInt();
 7         // 打印結果 : -1157793070----1157793070
 8         System.out.println(i+"---"+i1);
 9 
10         // 創建random 類,生成隨機數,無種子數
11         Random random = new Random();
12         Random random1 = new Random();
13         // 生成隨機數
14         int i = random.nextInt();
15         int i1 = random1.nextInt();
16         // 打印結果 : -1526132103----233068814
17         System.out.println(i+"---"+i1);
Random 種子數對比

  Random 類的API

  • int next(int bits)  生成下一個偽隨機數。
  • int nextInt()    返回下一個偽隨機數,它是此隨機數生成器的序列中均勻分布的 int 值。
  • int nextInt(int n)   返回一個偽隨機數,范圍從0-(n-1)之間
  • boolean nextBoolean()   返回下一個偽隨機數,它是取自此隨機數生成器序列的均勻分布的 boolean 值。
  •  long nextLong()   返回下一個偽隨機數,它是取自此隨機數生成器序列的均勻分布的 long 值。
  • double  nextDouble()   返回下一個偽隨機數,它是取自此隨機數生成器序列的、在 0.01.0 之間均勻分布的 double 值。
  • float  nextFloat()   返回下一個偽隨機數,它是取自此隨機數生成器序列的、在 0.01.0 之間均勻分布的 float 值。

   示例:

1         Random random = new Random();
2         // 獲取 -3到7 之間的隨機數,包含-3,不包含7
3         int nextInt = random.nextInt(10)-3;
4         // 打印結果 5
5         System.out.println(nextInt);
Random 中的nextInt方法

 

Scanner

  Scanner 是jdk1.5 之后添加的類。用於鍵盤輸入內容

  構造方法

  • Scanner(InputStream source)  構造一個新的 Scanner,它生成的值是從指定的輸入流掃描的。 System.in (從鍵盤掃描)
  • Scanner(File source) 構造一個新的 Scanner,它生成的值是從指定文件掃描的。

  Scanner API

 

  示例:

 1         // 創建Scanner 類
 2         Scanner s = new Scanner(System.in);
 3         System.out.println("請輸入數字");
 4         // 調用nextLine() 方法,鍵盤輸入
 5         String line = s.nextLine();
 6         // 調用nextLine() 方法,鍵盤輸入
 7         String line2 = s.nextLine();
 8         // 輸出結果
 9         System.out.println(line+line2);
10         
11         // 創建Scanner 類
12         Scanner s1 = new Scanner(System.in);
13         System.out.println("請輸入數字");
14         // 調用nextInt() 方法,鍵盤輸入整數
15         int line3 = s1.nextInt();
16         // 調用nextInt() 方法,鍵盤輸入整數
17         int line4 = s1.nextInt();
18         // 輸出結果
19         System.out.println(line+line2);
Scanner 調用示例

  注意:

  Scanner 中 next() 與 nextLine() 的區別

  next() : 只讀取輸入的值,到空格結束。它不能讀取由兩個空格或者符號隔開的單詞。且光標定位到本行

  nextLine() : 讀取輸入的值,包括單詞,所有空格以及符號。到回車鍵結束。且光標定位到下一行

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM