一、System類
out:標準輸出流。默認是控制檯。
in:標準輸入流。默認是鍵盤。
2、方法
a、獲取系統的屬性信息:
Properties getProperties();
說明:
1)此方法返回的雙列集合,即鍵值對;因爲Properties是Hahstable的子類,也就是Map集合的一個子類對象,那麼通過Map方法取出該集合中的元素。
2)該集合存儲的都是字符串,沒有泛型定義
b、獲取指定屬性信息:
String getProperty(String key);
c、在系統內定義特有信息:
String setProperty(String key,String value);
d、如何在jvm啓動時,加載一些屬性信息:
通過命令:java -D<name>=<value>可以設置特有的系統屬性信息
<span style="font-family:Microsoft YaHei;font-size:14px;">import java.util.*;
class SystemDemo
{
public static void main(String[] args)
{
Properties p = System.getProperties();//獲取系統的屬性信息
System.setProperty("mykey","myvalue");//在系統內定義特有信息
for(Object obj:p.keySet())
{
String value = (String)p.get(obj);
System.out.println(obj+"----"+value);
}
System.out.println("os.name----"+System.getProperty("os.name"));//獲取指定屬性信息
}
}</span>
2、方法
a、獲取本類對象
static Runtime getRuntime();
b、在單獨的進程中執行指定字符串命令
Process exec(String command);
c、在Process中有一個殺掉子進程的方法,可將exec方法開啓的進程結束
void destroy();
<span style="font-family:Microsoft YaHei;font-size:14px;">class RuntimeDemo
{
public static void main(String[] args) throws Exception
{
Runtime r = Runtime.getRuntime();//獲取本類對象
Process p = r.exec("notepad.exe ForEachDemo.java");//用記事本打開指定文件
Thread.sleep(4000);//讓線程等待4秒
p.destroy();//殺掉自己啓動的進程
}
}</span>
Date類表示特定的瞬間,精確到毫秒。
java中的默認顯示格式爲:Mon Jun 10 22:35:21 CST 2013
2、自定義格式
具體步驟:
1)創建Date對象
2)將時間模式封裝到SimpleDateFormat對象中
3)調用format方法讓格式化模式指定Date對象
<span style="font-family:Microsoft YaHei;font-size:14px;">import java.util.*;
import java.text.*;
class DateDemo
{
public static void main(String[] args)
{
Date d = new Date();//創建Date對象
System.out.println(d);
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String time = sdf.format(d);
System.out.println(time);
}
}</span>
1)Calendar是一個抽象類,它爲特定瞬間與一組諸如YEAR、MONTH、DAY_OF_MONTH等日曆字段之間的轉換提供了一些方法。
2)Calendar可以對年月日等時間進行獲取。並提供了相應的子段值。可參閱API文檔。
2、方法:
2.1、基本獲取時間
1)獲取年份:Calendar.YEAR
2)獲取月份:Calendar.MONTH //值爲實際月份-1
3)獲取日期:Calendar.DAY_OF_MONTH
4)獲取星期:Calendar.DAY_OF_WEEK //值爲實際星期+1
5)獲取小時:Calendar.HOUR_OF_DAY
6)獲取分鐘:Calendar.MINUTE
7)獲取秒數:Calendar.SECOND
2.2、設置時間:
1)根據日曆的規則,爲給定的日曆字段添加或減去指定的時間量:
void add(int field,int amount);
2)獲取指定的日曆字段對應的時間值:
int get(int field);
3)將給定日曆字段對應的時間值設置爲給定值:
void set(int field,int value);
設置日曆字段 YEAR、MONTH和DAY_OF_MONTH的值:
void set(int year,int month,int date);
<span style="font-family:Microsoft YaHei;font-size:14px;">import java.util.*;
import java.text.*;
class CalendarDemo
{
public static void main(String[] args)
{
Calendar c = Calendar.getInstance();
printCalendar(c);
c.add(Calendar.YEAR,5);
printCalendar(c);
c.add(Calendar.MONTH,10);
printCalendar(c);
c.add(Calendar.DAY_OF_MONTH,-23);
printCalendar(c);
c.set(2010,7,10);
printCalendar(c);
}
public static void printCalendar(Calendar c)
{
String[] mons = {"一月","二月","三月","四月",
"五月","六月","七月","八月",
"九月","十月","十一月","十二月",};
String[] weeks = {"","星期日","星期一","星期二",
"星期三","星期四","星期五","星期六"};
int index = c.get(Calendar.MONTH);
int index1 = c.get(Calendar.DAY_OF_WEEK);
sop(c.get(Calendar.YEAR)+"年");
//sop((c.get(Calendar.MONTH)+1)+"月");
sop(mons[index]);
sop(c.get(Calendar.DAY_OF_MONTH)+"日");
//sop("星期"+(c.get(Calendar.DAY_OF_WEEK)-1));
sop(weeks[index1]);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}</span>
Math 類包含用於執行基本數學運算的方法,如初等指數、對數、平方根和三角函數。該類全爲靜態方法。
2、方法
double ceil(double d);//返回大於指定數據的最小整數
double floor(double d);//返回小於指定數據的最大整數
double pow(doublea,double b);//返回a的b次方
long round(doubleb);//返回b四捨五入的值
double random();//返回正號的double值,是一個大於等於0.0且小於1.0的隨機數
3、Random類
這是java.util中的一個單獨的類,該類對象用於獲取隨機數。與Math中的random方法是一樣的,不過這個類有自身的方法,可以將相應的隨機數強轉爲指定基本數據類型。
如:int nextInt(int n);//返回一個僞隨機數,它是取自此隨機數生成器序列的、在 0(包括)和指定值(不包括)之間均勻分佈的 int值。
<span style="font-family:Microsoft YaHei;font-size:14px;">import java.util.*;
class MathDemo
{
public static void main(String[] args)
{
double d = Math.ceil(12.34);//ceil返回大於指定數據的最小整數。
sop("d="+d);
double d1 = Math.floor(12.34);//floor返回小於指定數據的最大整數。
sop("d1="+d1);
long l = Math.round(12.67);//四捨五入。
sop("l="+l);
double d2 = Math.pow(2,4);
sop("d2="+d2);
sop("----------------------------------------");
//隨機數Math.random()
System.out.print("( ");
for (int x=0; x<10; x++)
{
int n =(int)( Math.random()*10+1);
System.out.print(n+" ");
}
System.out.print(")");
sop("");
//隨機數Random類
System.out.print("( ");
Random r = new Random();
for (int x=0; x<10; x++)
{
int n = r.nextInt(10)+1;
System.out.print(n+" ");
}
System.out.print(")");
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}</span>