1. 程式人生 > >工具類System,Runtime,Math,Date,Calendar

工具類System,Runtime,Math,Date,Calendar

font 格式化 troy 構造 led prop 數據 nta read

API--- java.lang.System: 屬性和行為都是靜態的。

long currentTimeMillis(); // 返回當前時間毫秒值

exit(); // 退出虛擬機

Properties getProperties() ; // 獲取當前系統的屬性信息

Properties prop = System.getProperties(); //獲取系統的屬性信息,並將這些信息存儲到Properties集合中。

System.setProperty("myname","畢老師"); //給系統屬性信息集添加具體的屬性信息

//臨時設置方式:運行jvm時,可以通過jvm的參數進行系統屬性的臨時設置,可以在

java命令的後面加入 D<name>=<value> 用法:java Dmyname=小明 類名。

String name = System.getProperty("os.name");//獲取指定屬性的信息

//想要知道該系統是否是該軟件所支持的系統中的一個。

Set<String> hs = new HashSet<String>();

hs.add("Windows XP");

hs.add("Windows 7");

if(hs.contains(name))

System.out.println("可以支持");

else

System.out.println("不支持

");

--------------------------------------------------------------------------------------------------------------------

API--- java.lang.Runtime: 類中沒有構造方法,不能創建對象。

但是有非靜態方法。說明該類中應該定義好了對象,並可以通過一個static方法獲取這個對象。用這個對象來調用非靜態方法。這個方法就是 static Runtime getRuntime();

這個Runtime其實使用單例設計模式進行設計。

class RuntimeDemo {

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

Runtime r = Runtime.getRuntime();

Process p = r.exec("notepad.exe SystemDemo.java"); //運行指定的程序

Thread.sleep(4000);

p.destroy(); //殺掉進程

}

}

--------------------------------------------------------------------------------------------------------------------

API--- java.util.Math: 用於數學運算的工具類,屬性和行為都是靜態的。該類是final不允許繼承。

static double ceil(double a) ; //返回大於指定數值的最小整數

static double floor(double a) ; //返回小於指定數值的最大整數

static long round(double a) ; //四舍五入成整數

static double pow(double a, double b) ; //ab次冪

static double random(); //返回0~1的偽隨機數

public static void main(String[] args) {

Random r = new Random();

for(int x=0; x<10; x++) {

//double d = Math.floor(Math.random()*10+1);

//int d = (int)(Math.random()*10+1);

int d = r.nextInt(10)+1;

System.out.println(d);

}

}

--------------------------------------------------------------------------------------------------------------------

API--- java.util.Date日期類,月份從0-11

/*

日期對象和毫秒值之間的轉換。

1,日期對象轉成毫秒值。Date類中的getTime方法。

2,如何將獲取到的毫秒值轉成具體的日期呢?

Date類中的setTime方法。也可以通過構造函數。

*/

//日期對象轉成毫秒值

Date d = new Date();

long time1 = d.getTime();

long time2 = System.currentTimeMillis(); / /毫秒值。

//毫秒值轉成具體的日期

long time = 1322709921312l;

Date d = new Date();

d.setTime(time);

/*

將日期字符串轉換成日期對象:使用的就是DateFormat方法中的 Date parse(String source)

*/

public static void method() throws Exception {

String str_time = "2011/10/25";

DateFormat df = new SimpleDateFormat("yyyy/MM/dd"); //SimpleDateFormat作為可以指定用戶自定義的格式來完成格式化。

Date d = df.parse(str_time);

}

/*

如果不需要使用特定的格式化風格,完全可以使用DateFormat類中的靜態工廠方法獲取具體的已經封裝好風格的對象。getDateInstance();getDateTimeInstance();

*/

Date d = new Date();

DateFormat df = DateFormat.getDateInstance(DateFormat.LONG);

df = DateFormat.getDateTimeInstance(DateFormat.LONG,DateFormat.LONG);

String str_time = df.format(d);

//將日期對象轉換成字符串的方式:DateFormat類中的format方法。

//創建日期格式對象。

DateFormat df = new SimpleDateFormat(); //該對象的建立內部會封裝一個默認的日期格式。11-12-1 下午1:48

//如果想要自定義日期格式的話。可使用SimpleDateFormat的構造函數。將具體的格式作為參數傳入到構造函數中。如何表示日期中年的部分呢?可以必須要參與格式對象文檔。

df = new SimpleDateFormat("yyyyMMddHH:mm:ss");

//調用DateFormat中的format方法。對已有的日期對象進行格式化。

String str_time = df.format(d);

--------------------------------------------------------------------------------------------------------------------

API--- java.util. Calendar日歷類

public static void method(){

Calendar c = Calendar.getInstance();

System.out.println(c.get(Calendar.YEAR)+""+(c.get(Calendar.MONTH)+1)+""

+getNum(c.get(Calendar.DAY_OF_MONTH))+""

+"星期"+getWeek(c.get(Calendar.DAY_OF_WEEK)));

}

public static String getNum(int num){

return num>9 ? num+"" : "0"+num;

}

public static String getWeek(int index){

/*

查表法:建立數據的對應關系.

最好:數據個數是確定的,而且有對應關系。如果對應關系的一方,是數字,而且可以作為角標,那麽可以通過數組來作為表。

*/

String[] weeks = {"","","","","","","",""};

return weeks[index];

}

工具類System,Runtime,Math,Date,Calendar