java学习笔记之异常、Date类

  1. Throwable:(1)Error:应用程序不应该去捕获的异常情况;(2)Exception:应用程序可以捕获的异常。出现异常之后的语句无法执行
  2. RuntimeException:在程序正常运行期间抛出的,不需要提前做任何处理。
  3. 编译时期异常(ParseException)处理方法:(1)Add throws declaration。throws关键字:用于方法的参数列表后,方法名() throws 异常类型{ 方法体(可能抛出异常) } 。使用throws关键字,是将异常向上抛出,抛给上一级调用者处理,如果此时抛出的异常是一个编译时期异常,上一级也只有两种选择:继续向上抛/使用try/catch处理掉。(2)surround with try catch
  4. try{ 可能抛出异常的语句;}catch(异常的类型(Exception) e){如果抛出异常执行的语句}。
  5. try catch后面的语句可以执行。catch异常的参数类型必须是可能抛出的异常类自己或其父类。
  6. e.printStackTrace() 打印堆栈跟踪;e.getMessage()返回异常对象的信息;e.toString() 返回Throwable的简短描述;
  7. 多个异常捕获的情况: try{ } catch(异常类型1 e){ } catch(异常类型2 e){ }。(1)异常类型1不能是异常类型2的父类;(2)如果在try语句块中出现了异常,那么后面的语句将不再执行。
  8. try { } catch(异常类型1 | 异常类型2 e){ } 。在参数括号中的异常类型是平级情况,不能出现继承关系。
  9. SimpleDateFormat:SimpleDateFormat date=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//构造方法
  10.  
  11. Date类型转成String类型:format(Date date),输出一个按照指定模式的日期的字符串。
  12. String类型转成Date类型(编译时期异常处理)
  13. package com.mcq;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    public class DateDemo {
    	public static void main(String[] args) throws ParseException {//第一种
    		SimpleDateFormat date=new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");//构造方法
    		Date time=new Date();
    		String formatStr=date.format(time);
    		System.out.println(formatStr);
    		System.out.println(time);
    		String s="2019年2月18日16点0分0秒";
    		SimpleDateFormat simpleDateFormat=new SimpleDateFormat("yyyy年MM月dd日HH点mm分ss秒");
    		Date d=null;
    //第二种	try {  
    //			d = simpleDateFormat.parse(s);
    //		} catch (ParseException e) {
    //			// TODO Auto-generated catch block
    //			e.printStackTrace();
    //		}
    		d = simpleDateFormat.parse(s);
    		System.out.println(d);
    	}
    }
    
    /*
    2019/02/22 17:01:40
    Fri Feb 22 17:01:40 CST 2019
    Mon Feb 18 16:00:00 CST 2019
    */
  14.  try catch快捷方法:选中代码右键Surround with try catch
  15. throw关键字 用于手动抛出异常对象:throw new 异常(); 如果抛出的异常是一个RuntimeException,可处理可不处理。可以在创建异常的时候,通过有参构造方法传入异常信息。
  16. throw和throws的区别:(1)throws用在方法声明后面,跟的是异常类名;throw用在方法体内,跟的是异常对象名。(2)throws可以跟多个异常类名,用逗号隔开;throw只能抛出一个异常对象名。(3)throws表示抛出异常,由该方法的调用者处理;throw表示抛出异常,由方法体内的语句处理。(4)throws表示出现异常的一种可能性,并不一定会发生这些异常;throw则是抛出了异常,执行throw则一定抛出了某种异常。
  17. finally:try { }catch(Exception e){ }finally{这里的语句一定会被执行 }
  18. 自定义异常:(1)继承异常父类;(2)重写构造方法,传入一个字符串参数,调用super(message);
    //ScoreException.java
    package com.mcq;
    
    public class ScoreException extends RuntimeException {
    	public ScoreException(String message) {
    		super(message);
    	}
    }
    //ScoreDemo.java
    package com.mcq;
    
    import java.util.Scanner;
    
    public class ScoreDemo {
    	public static void main(String[] args) {
    		System.out.println("请输入你的成绩,如果成绩太差,就会报异常");
    		Scanner in=new Scanner(System.in);
    		int score =in.nextInt();
    		if(score<60){
    			throw new ScoreException("你的成绩已经低于一般水平了,请好好学习!");
    		}else {
    			System.out.println("score="+score);
    		}
    	}
    }
    

     

1.编写MyDate.java 2.该有如下构造方法 2.1 无参数构造方法public MyDate(),以当前的系统时间构造MyDate对象 2.2 public MyDate(int year, int month, int day), 以指定的年月日构造MyDate对象 3.该有如下属性 3.1 private int year ;//年 3.2 private int month; //月 3.3 private int day; //日 4.该有如下方法 4.1 public String after(int day); //返回当前对象代表的日期之后day天的日期,比如当前对象是2008-8-8,调用after(5)以后,应该返回2008-8-13,格式可自定义 4.2 public String before(int day); //返回当前对象代表的日期之前day天的日期,比如当前对象是2008-8-8,调用before(5)以后,应该返回2008-8-3,格式可自定义 4.3 public void setYear(int year); //设置年为指定值year 4.4 public void setMonth(int month); //设置月为指定值month 4.5 public void setDay(int day); //设置日为指定值day 4.6 public int getYear(); //返回当前对象的年 4.7 public int getMonth(); //返回当前对象的月 4.8 public int getDay(); //返回当前对象的日 4.9 public void set (int year, int month, int day); //设置年、月、日为指定的值year、month、day 4.10 public String toString();//以字符串形式返回当前对象的年月日,例如2008年08月08日,格式可自定义 4.11 public boolean equals(MyDate mydate);//当前对象与另一个对象比较,如果两个对象的年月日均相等,则返回true,反之返回false 5.编写TestMyDate.java,在main方法对MyDate的各个方法进行测试 6.按照编程规范为MyDate.java编写规范的代码 7.按照java doc API的要求,对代码编写规范的注释,然后利用javadoc.exe命令生成MyDate.java的API doc 8.撰写上机报告
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值