java 幾個常用重要對象

 

1.System:  java.lang.System
 類中的方法和屬性都是靜態的

 out:標準輸出,默認是控制檯.
 in:標準輸入,默認是鍵盤

描述系統一些信息.獲取系統屬性信息: Properties  getProperties()


  Properties pro = System.getProperties();

 //因爲Properties是hashtable的子類,也就是Map集合的一個子類對象.那麼可以通過map的方法取出該集合中的元素,
 //該集合中存儲的都是字符串,沒有泛型定義
 
 //Map方法取出所有元素
 /*Set<String> keySet = pro.stringPropertyNames();

 Iterator<String> it = keySet.iterator();

 while(it.hasNext()){
  String key = it.next();
  String value = (String)pro.getProperty(key);
  System.out.println(key+":::"+value);
 }*/
 

 //在系統中自定義一些特有信息

 System.setProperty("哈哈","呵呵");

 //高級for循環取出所有元素

 /*for(Object obj:pro.keySet()){
  String value = (String)pro.get(obj);
  System.out.println(obj+"---"+value);
 }*/
 

 //獲取單個元素  System.getProperty(key);
 System.out.println(System.getProperty("os.name"));
 System.out.println(System.getProperty("user.country"));
 System.out.println(System.getProperty("user.language"));
 System.out.println(System.getProperty("file.encoding"));


可以在啓動JVM時,添加系統信息: java -D key=value 類名


2.Runtime:  java.lang.Runtime
 該類中並沒有提供構造函數
 說明不可以new對象,那麼會直接想到該類中的方法都是靜態方法.可是該類中還有非靜態方法.說明該類肯定會提供了方法獲取本類對象,而且該方法是靜態的,並且返回值類型是本類類型
 該方式是 static Runtime getRuntime();
 由這個特點可以看出該類使用了單例設計模式

 

 Runtime r = Runtime.getRuntime();
 //Process p =
 r.exec("winmine.exe");//exec方法返回的是一個進程Process,這是一個抽象類,成員方法也都是抽象的,而且沒有子類,因爲創建進程,你不懂,也不需要知道怎麼實現,是系統底層實現的
 //Thread.sleep(2000);
 //p.destroy();


 Process p1 = r.exec("notepad.exe");//啓動windows自帶的記事本

 Process p2 = r.exec("notepad.exe SystemDemo.java");//啓動windows自帶的記事本,並把SystemDemo.java裏文本內容顯示在打開的記事本里

 Process p3 = r.exec("播放器軟件地址 mp3或電影文件");//這樣可以打開媒體文件


3.Date: java.util.Date
 /* 

 //日期模式字母:


 字母  日期或時間元素   表示    示例 
 G  Era 標誌符    Text    AD 
 y  年     Year    1996; 96 
 M  年中的月份   Month    July; Jul; 07 
 w  年中的週數   Number    27 
 W  月份中的週數   Number    2 
 D  年中的天數   Number    189 
 d  月份中的天數   Number    10 
 F  月份中的星期   Number    2 
 E  星期中的天數   Text    Tuesday; Tue 
 a  Am/pm 標記   Text    PM 
 H  一天中的小時數(0-23)  Number    0 
 k  一天中的小時數(1-24)  Number    24 
 K  am/pm 中的小時數(0-11) Number    0 
 h  am/pm 中的小時數(1-12) Number    12 
 m  小時中的分鐘數   Number    30 
 s  分鐘中的秒數   Number    55 
 S  毫秒數    Number    978 
 z  時區    General time zone  Pacific Standard Time; PST; GMT-08:00 
 Z  時區    RFC 822 time zone  -0800 

 */


 Date d = new Date();

 System.out.println(d);//打印的時間看不懂,希望有些格式
 //將模式封裝到SimpleDateFormat對象中
 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 
 //調用format方法讓模式格式化知道Date對象
 String date = sdf.format(d);

 System.out.println(date);


4.Math: java.lang.Math

 類中的方法和屬性都是靜態的

 double d = Math.ceil(12.34);//=13 返回大於指定數據的最小整數
 double d1 = Math.ceil(-12.34);//=-12
 double d2 = Math.floor(15.34);//=15 返回小於指定數據的最大整數
 long l = Math.round(12.34);//=12  四捨五入
 double d3 = Math.pow(2,3);//=8    2(底數)的3(指數)次冪

 //創建一個僞隨機數生成器(底層其實是一個算法,既然是算法就有可能找到規律,只要產生足夠多的數.沒有任何規律的數纔是隨機數)

 double d4 = Math.random();//返回一個大於等於0.0,且小於1.0的數,
 int d5 = (int)(Math.random()*10+1);//返回一個1到10(不包括)的int數

5.Random: java.util.Random
 Random r = new Random();
 r.nextDouble();//相當於Math.random();
 r.nextInt();//隨機生成一個int範圍的int值
 r.nextInt(10);//在 0(包括)和指定值(不包括)之間均勻分佈的 int 值

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章