黑馬程序員_Java其餘對象(System,Runtime,Date,Calendar,Marh-Random)

System

System類包含一些有用的類字段和方法(都是靜態的)。它不能被實例化。java

在System類提供的設施中,有標準輸入、標準輸出和錯誤輸出流;對外部定義的屬性和環境變量的訪問;加載文件和庫的方法;還有快速複製數組的一部分的實用方法。設計模式

字段摘要:數組

1,static PrintStream err 「標準」錯誤輸出流。dom

2,static InputStream in "標準「輸入流。//獲取鍵盤錄入。函數

3,static PrintStream out "標準」輸出流。//打印在控制檯上。測試

部分方法:設計

1,static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):從指定源數組中複製一個數組,複製從指定的位置開始,到目標數組的指定位置結束。code

2,static long currentTimeMillis() :返回以毫秒爲單位的當前時間。orm

3,static void exit(int status):終止當前正在運行的 Java 虛擬機。對象

4,static void gc():運行垃圾回收器。

5,static Properties getProperties() :肯定當前的系統屬性。//由於Properties是HashTable的子類,也就是Map集合的一個子類對象。那麼樂意經過Map的方法取出該集合中的元素。該集合存儲的都是字符串,沒有泛型定義。

如何在系統中自定義一些特有信息呢?

6,static String setProperty(String key, String value) :設置指定鍵指示的系統屬性。 

7,static String getProperty(String key):獲取指定鍵指示的系統屬性。 

 

可不能夠在JVM啓動時,動態加載一些屬性信息呢?

格式:-D<name>=<value>  :set a system property。

 

Runtime

Runtime:該類並無提供構造函數。說明不能夠new對象。會直接想到該類中的方法都是靜態的。發現該類中還有非靜態方法。說明該類確定提供了方法獲取本類對象,並且該方法是靜態的,而且返回值類型是本類類型。

由這個特色能夠看出該類使用了單例設計模式完成。

每一個 Java 應用程序都有一個 Runtime 類實例,使應用程序可以與其運行的環境相鏈接。能夠經過 getRuntime 方法獲取當前運行時。

應用程序不能建立本身的 Runtime 類實例。

部分方法:

1,static Runtime getRuntime() :返回與當前 Java 應用程序相關的運行時對象。

2,Process exec(String command):在單獨的進程中執行指定的字符串命令。//Process中的方法:abstract void destroy():殺掉子進程。

//Process p = r.exec("notepad.exe  SystemDemo.java"); 用文件相關聯的程序(筆記本)打開文件。

 

 Date

Date 表示特定的瞬間,精確到毫秒。

部分方法:

1,boolean after(Date when):測試此日期是否在指定日期以後。

2,boolean before(Date when):測試此日期是否在指定日期以前。

3,Object clone():返回此對象的副本。

4,int compareTo(Date anotherDate):比較兩個日期的順序。

5,boolean equals(Object obj):比較兩個日期的相等性。

6,int hashCode():返回此對象的哈希碼值。

7,void setTime(long time):設置此 Date 對象,以表示 1970 年 1 月 1 日 00:00:00 GMT 之後 time 毫秒的時間點。

8,String toString():把此 Date 對象轉換爲如下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一週中的某一天 (Sun, Mon, Tue, Wed, Thu, Fri, Sat)。\

System.out.println(new Date);//打印的時間看不懂,但願有些格式。在Date類中另請參見DateFormat(日期格式化,是文本類),直接已知子類SimpleDateFormat。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日")//將模式封裝到SimpleDateFormat對象中。

String time = sdf.format(d);//調用format方法讓模式格式化指定Date對象。

Calendar類Calendar 類是一個抽象類,它爲特定瞬間與一組諸如 YEARMONTHDAY_OF_MONTHHOUR日曆字段之間的轉換提供了一些方法,併爲操做日曆字段(例如得到下星期的日期)提供了一些方法。

 Calendar類中方法:

1,static Calendar getInstance():使用默認時區和語言環境得到一個日曆。//Calendar c = Calendar.getInstance();

2,int get(int field):返回給定日曆字段的值。

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

4,void set(int year, int month, int date):設置日曆字段 YEARMONTHDAY_OF_MONTH 的值。

5,abstract void add(int field, int amount):根據日曆的規則,爲給定的日曆字段添加或減去指定的時間量。

//sop(c.get(Calendar.YEAR)+"年");  //獲取年份。

//sop((c.get(Calendar.MONTH)+1)+"月"); //爲了不每次加1和月,使用查表法。

//c.set(2012,2,23);  //設置時間。

 

兩個練習:


1,獲取任意年的二月有多少天?

思路:根據指定年設置一個時間就是

  c.set(year,2,1);//某一年的3月1日。

  c.add (Calendar.DAY_OF_MONTH,-1);//3月1日,往前推一天,就是2月最後一天。

2,獲取昨天的如今這個時刻?

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

 

MATH

類MATH:Math 類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函數。

方法摘要:

1,static xxx abs(xxx a):返回xxx值的絕對值。

2,static double ceil(double a):返回最小的(最接近負無窮大)double 值,該值大於等於參數,並等於某個整數。//返回大於指定數據的最小整數。

3,static double floor(double a):返回最大的(最接近正無窮大)double 值,該值小於等於參數,並等於某個整數。//返回小於指定數據的最大整數。

4,static long round(double a):返回最接近參數的 long。//四捨五入。

5,static double pow(double a, double b):返回第一個參數的第二個參數次冪的值。//a是底數,b是指數。

6,static double random():返回帶正號的 double 值,該值大於等於 0.0 且小於 1.0

//方法二:Random類

Random r = new Random();int d = r.nextInt(10);

 

練習:給定一個小數,保留該小數的後兩位。

相關文章
相關標籤/搜索