今天是新的一周开始,通过上一周的学习,掌握了一些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方法来实现,自己的理解。
明天接着学习线程。
有了线程就可以做更多事了,哈哈。