黑馬程序員_Java常用類2

---------------------- android培訓java培訓、期待與您交流! ----------------------

 Calendar類

常用方法:

static Calendar getInstance() 獲得日曆

public int get(int filed)   返回給定字段的日期值

public void set(int field,int value)將給定的日曆字段設置爲給定值。

 

實例1:獲取當前時間

package org.fm.test;

import java.util.Calendar;

import java.util.GregorianCalendar;

public class Demo {

   public static void main(String[] args) throws Exception {

       Calendar calendar = new GregorianCalendar();

       System.out.println("年: " + calendar.get(Calendar.YEAR));

       System.out.println("月: " + calendar.get(Calendar.MONTH)+1);

       System.out.println("日: " + calendar.get(Calendar.DAY_OF_MONTH));

       System.out.println("時: " + calendar.get(Calendar.HOUR_OF_DAY));

       System.out.println("分: " + calendar.get(Calendar.MINUTE));

       System.out.println("秒: " + calendar.get(Calendar.SECOND));

       System.out.println("毫秒: " +calendar.get(Calendar.MILLISECOND));

   }

}

語句解釋:

· Calendar類在java.util包中。是一個抽象類。 使用其子類進行實例化即可。

  · 使用get()方法獲得指定的時間部分。

  · 月份是從0開始計算的 因此在其後面加1。

 

實例2:查表法:

package org.fm.test;

import java.util.Calendar;

import java.util.GregorianCalendar;

public class Demo {

   public static void main(String[] args) throws Exception {

    String[] month = {"一月", "二月", "三月", "四月",

                       "五月", "六月", "七月", "八月",

"九月", "十月", "十一月", "十二月"};

       Calendar c = new GregorianCalendar();

       int index = c.get(Calendar.MONTH);

      String[] week = { "","星期日","星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};

        int index = c.get(Calendar.MONTH);

        int index2 = c.get(Calendar.DAY_OF_WEEK);

          System.out.println(c.get(Calendar.YEAR)+"年");

          System.out.println(month[index]);

          System.out.println(c.get(Calendar.DAY_OF_MONTH)+"日");

          System.out.println(week[index2]);   }

}

語句解釋:

· 月份是從0開始計算的 因此在其後面加1。

從0~11對應的是一到十二月,可以使用查表法查找數字對應的大寫月份。

 


 SimpleDateFormat類

類結構:

 java.lang.Object 
  java.text.Format 
      java.text.DateFormat 
           java.text.SimpleDateFormat 

 

 

範例1:將給定日期對象轉換成String類型。

package org.fm.test;

import java.text.SimpleDateFormat;

import java.util.Date;

public class Demo {

   public static void main(String[] args) throws Exception {

       SimpleDateFormat simple = new SimpleDateFormat("yyyy年MM月dd日HH時mm分ss秒SSS毫秒");

       System.out.println(simple.format(new Date()));

   }

}

語句解釋:

  · 在SimpleDateFormat類構造對象的時候 指定格式化後的日期格式。

  · 使用format()將Date對象格式化成 剛纔指定的格式。

 

日期格式代號:

No.

日期

模板標記

長度

描述

1

y

4

在操作的時候要使用 yyyy 來表示年份

2

M

2

使用MM表示月份

3

d

2

使用dd表示日期

4

H

2

0~23的範圍,使用HH表示時

5

m

2

mm表示分

6

s

2

ss表示秒

7

毫秒

S

3

SSS表示毫秒

 

 

範例2:將給定String類型日期轉換成日期對象。

package org.fm.demo;

import java.text.SimpleDateFormat;

import java.util.Date;

public class Demo {

   public static void main(String[] args) throws Exception {

       SimpleDateFormat simple = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

       Date date = simple.parse("2010-1-1 21:21:12.724");

       System.out.println(date);

   }

}

語句解釋:

  · 在SimpleDateFormat類構造對象的時候,指定要解析的日期所使用的格式。

· 使用parse()方法 可以將一個字符串轉換成一個Date類型的對象。

 

時間戳:

假設有一個時間:  2010-1-1 21:21:12.724

則它的時間戳就是:201011212112724

練習:

1、  獲取任意年的二月份有多少天

package org.fm.test;

import java.util.Calendar;

public class CalendarDemo {

   

    public static void getDays(int year){

       Calendar c = Calendar.getInstance();  //獲得Calendar類的實例

       c.set(year,2,1);                    //設置時間爲某年的 3月1日

       c.add(c.DAY_OF_MONTH,-1);           //減去時間量,3月1日的前一天就是二月的最後一天

       printCalendar(c);

    }

    public static void printCalendar(Calendar c){

        String[] month = {"一月", "二月", "三月", "四月",

               "五月", "六月", "七月", "八月",

               "九月", "十月", "十一月", "十二月"};

        String[] week = { "","星期日","星期一", "星期二", "星期三", "星期四", "星期五", "星期六"};

        int index = c.get(Calendar.MONTH);

        int index2 = c.get(Calendar.DAY_OF_WEEK);

          System.out.println(c.get(Calendar.YEAR)+"年");

          System.out.println(month[index]);

          System.out.println(c.get(Calendar.DAY_OF_MONTH)+"日");

          System.out.println(week[index2]);

    }  

    public static void main(String[] args) {

       getDays(2000);

    }

}

 

2、  獲取昨天的現在這個時刻

c.add(Calendar.DAY_OF_MONTH,-1);


Math類

  ·  Math類在java.lang包中 其內的所有方法和字段都是靜態的。

  ·  因此可以使用import static來導入。使用的時候不用在加類名.方法名或類名.變量名。

 

範例1:常用數學函數。

package org.fm.test;

import static java.lang.Math.*;

public class Demo {

    public static void main(String[] args) throws Exception {

       System.out.println("E = " + E)  ;

       System.out.println("PI = " + PI) ;

       System.out.println("max(2,3) = " + max(2,3)) ;//計算最大數

       System.out.println("min(5,4.3) = " + min(5,4.3)) ;

       System.out.println("pow(2,4) = " + pow(2,4)) ;//計算 24

       System.out.println("abs(-44)" + abs(-44)) ; // 計算絕對值

       System.out.println("round(83.652)" + round(83.652)) ;//四捨五入

        System.out.println("ceil(12.23)=" + ceil(12.23)) ;

// 返回大於指定數據的最小整數

       System.out.println("floor(21.23)=" + floor(21.23)) ;

 // 返回小於指定數據的最大整數

    }

}

 


Random類

  ·  Random類在java.util包中。

  ·  此類用於產生一個隨機數。

 

範例1:隨機數。

package org.fm.test;

import java.util.Random;

public class Demo {

    public static void main(String[] args) throws Exception {

       Random r = new Random();

       System.out.println("隨機一個int數:"+r.nextInt());

       System.out.println("隨機一個long數:"+r.nextLong());

       System.out.println("隨機一個double數:"+r.nextDouble());

       System.out.println("隨機一個float數:"+r.nextFloat());

       System.out.println("隨機一個boolean數:"+r.nextBoolean());

       for (int i = 0; i < 10; i++)

      System.out.print(r.nextInt(100) + "、");//隨機0~100(不包括)間的數。

    }

}

 

---------------------- android培訓java培訓、期待與您交流! ----------------------

詳細請查看:http://edu.csdn.net/heima

發佈了23 篇原創文章 · 獲贊 12 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章