JAVA學習第四十五課 — 其它對象API(一)System、Runtime、Math類
一、System類
1.
static long currentTimeMillis()
返回以毫秒為單位的當前時間。
實際上:當前時間與協調世界時 1970 年 1 月 1 日午夜之間的時間差(以毫秒為單位測量)。
long time = 1414069291407l;//long型 後面加l System.out.println(time);
2.
static void exit(int status)終止當前正在執行的 Java 虛擬機。
static void gc()執行垃圾回收器
3.重點
staticProperties
getProperties 確定當前的系統屬性。
import java.util.Properties; import java.util.Set; public class Main { //獲取當前操作系統的換行符 public static final String LINE_SEPARATOR = System.getProperty("line.separator"); public static void main(String[] args) { //獲取系統屬性信息。並存儲到Properties集合中 //properties集合存儲的都是String類型的鍵值對。包java.util.Hashtable<Object,Object> //最好使用自己的存儲和取出方法來完畢元素操作 /* Set<String> stringPropertyNames() 返回此屬性列表中的鍵集。當中該鍵及其相應值是字符串。假設在主屬性列表中未找到同名的鍵。則還包含默認屬性列表中不同的鍵。*/ Properties pro = System.getProperties(); Set<String> set = pro.stringPropertyNames(); for (String string : set) { String value = pro.getProperty(string);//取鍵得值 System.out.println(string+"-:-"+value); } //給系統設置屬性信息 System.setProperty("myname", "xxxxxx");//這些信息是全局,不論什麽程序都能夠調用 } }
二、Runtime類
在查看API文檔的時,非常清晰的看到。Runtime沒有構造函數(說明無法創建對象),而方法摘要中卻有非靜態的方法,當中有一個靜態的getRuntime()方法。說明Runtime類是利用了單例設計模式設計的。
import java.io.IOException; public class Main { public static void main(String[] args) throws IOException, InterruptedException { Runtime r = Runtime.getRuntime();//返回一個進程 //execute : 運行 xxxx.exe,調用本地一個程序,註意拋異常 //r.exec("notepad.exe");//這樣寫會先在當前路徑下找,找不到然後會去pass路徑下找 //指定路徑 //r.exec("c:\\xxx\\LoL.exe");註意轉移字符 r.exec("notepad.exe C:\\HelloWorld.java");//用XX程序解析XXX文件,註意文件要匹配 Process p = r.exec("notepad.exe"); Thread.sleep(1000);//顯示一秒,殺掉,註意拋異常 p.destroy();// 殺掉子進程 } }
三、Math類
public final class Math
註意不能被繼承
Math類涵蓋眾多數學函數。全然能夠挑戰所學。Math方法都是靜態的
PI 圓的周長與直徑之比 E即自然對數的底數 這兩個不需定義直接
import java.io.IOException; import java.util.Random; public class Main { public static void main(String[] args){ double d1 = Math.ceil(11.51);//返回大於參數的最小整數 double d2 = Math.floor(11.51);//返回小於參數的最大整數 double d3 = Math.round(11.51);//返回四舍五入 System.out.println(d1); System.out.println(d2); System.out.println(d3); System.out.println(Math.max(4, 5)); System.out.println((int)Math.pow(2, 3));//返回a的b次方 for (int i = 0; i < 10; i++) { System.out.println((int)(Math.random()*10));//0-9隨機數 //System.out.println(Math.floor(Math.random()*10)); } Random ran = new Random();//Random對象 //返回下一個偽隨機數,它是取自此隨機數生成器序列的、在 0.0 和 1.0 之間均勻分布的 double 值。for(int i = 0;i<10;i++){ //System.out.println((int)(ran.nextDouble()*6+1));//簡寫形式例如以下 int d = ran.nextInt(6)+1;//nextInt是Random中的方法 System.out.println(d); } } }
JAVA學習第四十五課 — 其它對象API(一)System、Runtime、Math類