標籤:double random 絕對值 java 平方根
Math數學類:裡面所有方法都是static;
常用方法:
abs 絕對值
sqrt 平方根
pow(double a, double b) a的b次冪
max(double a, double b) 比較兩個數中誰大
min(double a, double b) 比較兩個數中誰小
random() 返回0.0到1.0的隨機數,但不能取到1
long round(double a) double型的資料a轉換為long型(四捨五入)
Random偽隨機類(所有的方法都來自Math.random()這個方法)
常用構造方法:new Random();
常用方法:nextInt(int i) 0到i-1 傳回型別是int類型;
注意事項:做項目時,一般用偽隨機類,因為它裡面的方法更靈活;但如果從記憶體角度分析,則考慮選擇Math.random();
Date類:java.util.Date:擷取當前系統時間;System.out.println(new Date());此時按照系統的格式;
Format--DateFormat--SimpleDateFormat;表示日期的格式
SimpleDateFormat常用的構造方法:new SimpleDateFormat(String regx);//日期格式;
SimpleDateFormat常用的方法:
format(Date date);返回String類型;
parse(String str);返回Date類型(把給定的字串str解析成日期格式,必須跟regx一致)
常用的欄位:
650) this.width=650;" src="http://note.youdao.com/yws/public/resource/719ed66494263eb983dad4d9b8549a6b/66725B906B6E4DA8B02A7E6D1FDF0AB1/5C086B8046D54E8C8646A8809300788E" style="white-space:normal;border:none;height:auto;" alt="5C086B8046D54E8C8646A8809300788E" />
Calendar是一個抽象類別:
對象建立:Calendar c=Calendar.getInstance();擷取當前的系統時間
常用方法:
get(int a); 返回int類型,a表示欄位
650) this.width=650;" src="http://note.youdao.com/yws/public/resource/719ed66494263eb983dad4d9b8549a6b/66725B906B6E4DA8B02A7E6D1FDF0AB1/50B5A1D9C39F4ADDAEF0475162C9E4FC" style="border:none;line-height:1.5;height:auto;" alt="50B5A1D9C39F4ADDAEF0475162C9E4FC" />
650) this.width=650;" src="http://note.youdao.com/yws/public/resource/719ed66494263eb983dad4d9b8549a6b/66725B906B6E4DA8B02A7E6D1FDF0AB1/A429E8C2FE554F3AA33045270094948F" style="border:none;height:auto;" alt="A429E8C2FE554F3AA33045270094948F" />
650) this.width=650;" src="http://note.youdao.com/yws/public/resource/719ed66494263eb983dad4d9b8549a6b/66725B906B6E4DA8B02A7E6D1FDF0AB1/A1AE66F8922F457DB3BBA1F30289FF86" style="border:none;height:auto;" alt="A1AE66F8922F457DB3BBA1F30289FF86" />
650) this.width=650;" src="http://note.youdao.com/yws/public/resource/719ed66494263eb983dad4d9b8549a6b/66725B906B6E4DA8B02A7E6D1FDF0AB1/E20AC053358E4B8DA7F213A7B1AF4C7B" style="border:none;height:auto;" alt="E20AC053358E4B8DA7F213A7B1AF4C7B" />
setTime(Date date);無傳回值;
getTime(); 返回Date類型;
add(當前月中的天數,相差的天數);可以輸出前推或後移日期的目前時間
System(從C++演變而來)
常用方法:
arrayCopy(5個參數)
exit(int i);當i=0時,表示正常退出(Java虛擬機器),否則非正常退出;
currentTimeMillis();可以用它來測試程式的執行時間,注意單位是毫秒;
異常 即不正常
分類:編譯時間異常、運行時異常和錯誤之間的理解:
Error:稱為錯誤,由Java虛擬機器產生並拋出,包括動態連結失敗、虛擬機器錯誤等,程式對其不做處理。
Exception:所有異常類的父類,其子類對應了各種各樣可能出現的例外狀況事件,一般需要使用者顯示地聲明或捕獲。
Runtime Exception:一類特殊的異常,如被0除、數組下標超範圍等,其產生比較頻繁,處理麻煩,如果顯示地聲明或捕獲將會對程式可讀性和運行效率影響很大。因此有系統自動檢測並將它們交給卻省的例外處理常式(使用者可不必對其處理)。
文法:
try{
<嘗試捕獲異常資訊>
}catch(異常類 異常對象名){
<捕獲到異常資訊(printStackTrace();),也可以自訂異常資訊(System.out.println(..))>
}finally{
<一定會被執行語句塊>
}
public void f() throws 異常類名{} //類似與try{}catch(){},但不能自訂異常資訊
public void f(){
throw 異常類對象; //此時一定要拋出異常資訊
}
注意事項:
try{
}catch(異常類1){
}catch(異常類2){
}...
異常類2>異常類1, 子類在前,父類在後
異常父類:class Exception extends Throwable{};
getMessage(); 傳回值來自構造方法裡面的形參;
例:
public void f(){
try{
throw new Exception("abc");
}catch(Exception e){
System.out.println(e.getMessage()); //輸出abc
}
}
課後練習:
已知有一個數組int[] a={1,2,3,4,5,6,7,8,9};
(1)利用Random做一個這樣的驗證碼:隨機數1+隨機數2=? 比如:1+2=?
(2)算出它的值,並用Scanner輸入值,判斷輸入的值是否正確;
代碼:
public class YangZhengMa{
public static void main(String[] args){
int[] a={1,2,3,4,5,6,7,8,9};
Scanner s = new Scanner(System.in);
Random r = new Random();
for(int i = 0; i < 2; i++){
a[i] = r.nextInt(9);
}
while(true){
System.out.print(a[0] + "+" + a[1] + "=");
if(a[0] + a[1] == s.nextInt()){
System.out.println("OK");
break;
}else{
System.out.println("重輸");
}
}
}
}
本文出自 “坤” 部落格,請務必保留此出處http://linyingkun.blog.51cto.com/2393912/1575177
安卓培訓(java篇)第八天—常用類(下)和異常