API:(Application?Programming?Interface,應(yīng)用程序編程接口)是一些預先定義的函數(shù),目的是提供應(yīng)用程序與開發(fā)人員基于某軟件或硬件的以訪問一組例程的能力,而又無需訪問源碼,或理解內(nèi)部工作機制的細節(jié)。
API---?java.lang.System:?屬性和行為都是靜態(tài)的。
long?currentTimeMillis();?//?返回當前時間毫秒值
exit();??//?退出虛擬機
Properties?getProperties()?;??//?獲取當前系統(tǒng)的屬性信息
Properties?prop?=?System.getProperties();?//獲取系統(tǒng)的屬性信息,并將這些信息存儲到Properties集合中。?
System.setProperty("myname","XT");?//給系統(tǒng)屬性信息集添加具體的屬性信息
//臨時設(shè)置方式:運行jvm時,可以通過jvm的參數(shù)進行系統(tǒng)屬性的臨時設(shè)置,可以在java命令的后面加入?–D
String?name?=?System.getProperty("os.name");//獲取指定屬性的信息
public class SystemDemo {
?public static void main(String[] args) {
?
? System.out.println(System.getProperties());
?}
}
//===============================================================
API---?java.lang.Runtime:?類中沒有構(gòu)造方法,不能創(chuàng)建對象。
但是有非靜態(tài)方法。說明該類中應(yīng)該定義好了對象,并可以通過一個static方法獲取這個對象。用這個對象來調(diào)用非靜態(tài)方法。這個方法就是?static?Runtime?getRuntime();
這個Runtime其實使用單例設(shè)計模式進行設(shè)計。
public class RuntimeDemo {?
?public static void main(String[] args)throws Exception {
? //通過靜態(tài)方法getRuntime()獲取Runtime對象
? Runtime r = Runtime.getRuntime();
? //開啟一個應(yīng)用程序
? Process p = r.exec("notepad");
? Thread.sleep(2000);
? p.destroy();?//殺掉進程
?}
}
//===============================================================
API---?java.util.Math:?用于數(shù)學運算的工具類,屬性和行為都是靜態(tài)的。該類是final不允許繼承。
static?double?ceil(double?a)?;?//返回大于指定數(shù)值的最小整數(shù)
static?double?floor(double?a)?;?//返回小于指定數(shù)值的最大整數(shù)
static?long?round(double?a)?;?//四舍五入成整數(shù)
static?double?pow(double?a,?double?b)?;?//a的b次冪
static?double?random();?//返回0~1的偽隨機數(shù)
public class MathDemo {
?public static void main(String[] args) {
? method_3();
?}
?/*
? * round
? */
?private static void method_3(){
? double d = Math.round(3.5);
? System.out.println(d);
?}
?
?/*
? * pow方法
? */
?private static void method_2(){
? double d = Math.pow(3,2);
? System.out.println(d);
?}
?
?/*
? * floor方法
? */
?private static void method_1() {
? double d = Math.floor(-12.65);
? System.out.println(d);
?}
?/*
? * ceil方法
? */
?private static void method(){
? double d = Math.ceil(4.0);
? System.out.println(d);
?}
}
//===============================================================
API---?java.util.Date:日期類,月份從0-11;
/*
日期對象和毫秒值之間的轉(zhuǎn)換。
1,日期對象轉(zhuǎn)成毫秒值。Date類中的getTime方法。
2,如何將獲取到的毫秒值轉(zhuǎn)成具體的日期呢?
Date類中的setTime方法。也可以通過構(gòu)造函數(shù)。?
*/
//日期對象轉(zhuǎn)成毫秒值
Date?d?=?new?Date();
long?time1?=?d.getTime();
long?time2?=?System.currentTimeMillis();?/?/毫秒值。
//毫秒值轉(zhuǎn)成具體的日期
long?time?=?1322709921312l;
Date?d?=?new?Date();
d.setTime(time);
/*
將日期字符串轉(zhuǎn)換成日期對象:使用的就是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類中的靜態(tài)工廠方法獲取具體的已經(jīng)封裝好風格的對象。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);
//將日期對象轉(zhuǎn)換成字符串的方式:DateFormat類中的format方法。
????//創(chuàng)建日期格式對象。?
DateFormat?df?=?new?SimpleDateFormat();?//該對象的建立內(nèi)部會封裝一個默認的日期格式。11-12-1?下午1:48
//如果想要自定義日期格式的話??墒褂肧impleDateFormat的構(gòu)造函數(shù)。將具體的格式作為參數(shù)傳入到構(gòu)造函數(shù)中。如何表示日期中年的部分呢?可以必須要參與格式對象文檔。?
df?=?new?SimpleDateFormat("yyyy年MM月dd日?HH:mm:ss");
//調(diào)用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){
/*
查表法:建立數(shù)據(jù)的對應(yīng)關(guān)系.
最好:數(shù)據(jù)個數(shù)是確定的,而且有對應(yīng)關(guān)系。如果對應(yīng)關(guān)系的一方,是數(shù)字,而且可以作為角標,那么可以通過數(shù)組來作為表。
*/
String[]?weeks?=?{"","日","一","二","三","四","五","六"};
return?weeks[index];
}
//===============================================================
API---?java.math.??BigInteger BigDecimal?:大數(shù)據(jù)處理類
? ?大數(shù)據(jù)處理
? ?BigInteger 整數(shù),BigDecimal 浮點?
? ?BigInteger構(gòu)造方法
? ?BigInteger(String val)
? ?加法,add?
? ?減法,subtract
? ?乘法,multiply
? ?除法, divide
? ?BigDecimal
? ? ?處理浮點
? ? ?divide(被除以的對象,保留位數(shù),保留模式)
? ? ?向上保留,向下保留,四舍五入
? ? ?UP +1
? ? ?Down -1
? ? ?Half_Up 四舍五入
mport java.math.*;
public class BigDecimalDemo {
?public static void main(String[] args) {
? BigDecimal big1 = new BigDecimal("5.755");
? BigDecimal big2 = new BigDecimal("3.255");
? //加法
? BigDecimal big3 = big1.add(big2);
? System.out.println(big3);
?
? //減法
? big3 = big1.subtract(big2);
? System.out.println(big3);
?
? //乘法
? big3 = big1.multiply(big2);
? System.out.println(big3);
?
? //除法
? big3 = big1.divide(big2,2,BigDecimal.ROUND_HALF_UP);
? System.out.println(big3);
?}
}