2006年9月20日星期三

2006-9-18 星期一 today



今天是新的一周开始,通过上一周的学习,掌握了一些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方法来实现,自己的理解。

明天接着学习线程。

有了线程就可以做更多事了,哈哈。

没有评论:

发表评论