今天是新的一周開始,通過上一周的學習,掌握了一些java最基礎的應用。
上午學習了異常處理
Java中如果想在一個方法中拋出異常,必須在方法聲明后加上throws Exception或者具體異常名稱,調用該方法的方法可以對異常進行處理也可以接著向上拋出。
作了三個練習,其中漢諾塔的問題用遞歸實現理解起來比較復雜:
public class Hanoverian
{
public Hanoverian()
{}
public void calculate(int i,char a,char b,char c)
{
if(i == 1)
{
remove(a,c);
}
else
{
calculate(i-1,a,c,b);
remove(a,b);
calculate(i-1,b,a,c);
}
}
private void remove(char m,char n)
{
System.out.println(m + "->" + n);
}
public static void main(String[] args)
{
Hanoverian myhanoverian = new Hanoverian();
myhanoverian.calculate(10,'a','b','c');
}
}
留下代碼,供以后參考,呵呵!
下午初步學習了線程,這是以前接觸比較少的,有很多新知識
當Java程序啟動時,一個線程立刻運行,該線程通常叫做程序的主線程(main thread),因為它是程序開始時就執行的 。可以把main方法的內容理解為主線程的線程體。而其它子線程的線程體是Runnable接口的run方法。Thread類實現了Runnable接口,我們可以擴展Thread類或自寫一個類來實現Runnable接口來完成多程序程序。
我們不會調用run方法來啟動線程,必須用start方法
調用Thread的interrupt()方法可發送中斷請求,如果線程在休眠或等待狀態可觸發一個異常從而實現中止線程。
今天是剛剛詳細接觸線程的有關知識,還需要更深入的理解。
剛才做了個例子。如果想使用線程,必須實現Runnable接口或者繼承Thread類,重寫Run方法來實現,自己的理解。
明天接著學習線程。
有了線程就可以做更多事了,哈哈。