1. 程式人生 > >JAVA學習第四十五課 — 其它對象API(一)System、Runtime、Math類

JAVA學習第四十五課 — 其它對象API(一)System、Runtime、Math類

大整數 協調 1.5 tint ava 字符串 垃圾 void lol

一、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 
extends Object

註意不能被繼承

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類