java基础语法学习(复习)day7

今日学习总结

1、SimpleDateFormat
2、Calendar工具类
3、异常
4、Throwable的成员方法
5、编译时异常和运行时异常的区别(异常处理之try…catch…)
6、异常处理之throws
7、自定义异常

1、SimpleDateFormat工具类

*A.格式化,从Date到String
	*a. Date d =new Date( );
		SimpleDateFormat sdf =  new SimpleDateFormat(“yyyy年MM月dd日 HH:mm:ss”);
		String s = sdf.format(d);
*B.从String到Date
	*a.	String s = "2048-08-09 11:11:11";
		//ParseException
		SimpleDateFormat sdf2 = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);
		//格式要和字符串对应,否则会报错
		Date dd2 = sdf2.parse(ss);

2、Calendar工具类

*A.Calendar为某一时刻和一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
	*a.//获取对象 public int get(int field);返回给定日历字段的值
		Calendar c = Calendar.getInstance();//多态的形式.当前时间
		int year = c.get(Calendar.YEAR);
		int month= c.get(Calendar.YEARMONTH)+1; //月份从0开始,注意月份加一
		int date = c.get(Calendar.DATE);
*B.常用方法
	*a.public int get(int field);如A
	*b.public abstract void add(int field,int amount);根据日历规则,将指定的时间量添加或
		减去给定的日历字段
		c.add(Calendar.YEAR,-3); //减三年
		c.add(Calendar.DATE,-5);//五天前
	*c.public void set(int year,int month,int date);设置当前日历的年月日
		c.set(2048,11,11);设置为2048年12月11日

3、异常

*A.异常体系
	*a.Throwable
		*1.Error  //严重问题,不需要处理
		*2.Exception //称为异常类,表示程序本身可以处理的问题
			*.RuntimeException  //在编译期是不检查的,出现问题后,需要我们回来修改代码
			*.非RuntimeException //编译器就必须处理,否则程序不能通过编译
*B.JVM的默认处理方案
	*a.如果程序出现异常,我们没有做任何处理,最终JVM会做默认的处理
		*1.把异常的名称。异常的原因及异常出现的位置等信息输出在控制台
		*2.程序停止执行
*C.异常处理之 try...catch...
	*a.格式
		try {
			可能出现异常的代码;
		} catch(异常类名 变量名){
			异常的处理代码;
		}
	*b.执行流程
		*.程序从try里面的代码开始执行
		  出现异常,会自动生成一个异常类对象,该异常对象将被提交给Java运行时系统
		  当Java运行时系统接收到异常对象时,回到catch中找匹配的异常类,找到后进行异常处理
		  执行完毕之后,程序还可以继续往下执行
	*c.实例
	  try{
		  int[ ] arr = {1,2,3};
	  	  System.out.println(arr[3]); //new ArrayIndexOutOfBoundsException( ); 
	  } catch(ArrayIndexOutOfBoundsException e){
		  System.out.println(“你访问的数组的索引不存在”);	
		  e.printStackTrcae( );
	  }

4、Throwable的成员方法

在这里插入图片描述

*A. 方法
	*a.getMessage()//即返回异常的原因
	*b. toString() //包含异常类和异常原因 即包含了mseeage
	*c.printStackTrace() //输出最全的错误信息 一般都用这个

5、编译时异常和运行时异常的区别

Java中的异常被分为两大类:编译时异常和运行时异常,也被称为受检异常和非受检异常
所有的RuntimeException类及其子类被称为运行时异常,其它异常都是编译时异常

*A.编译时异常(受检异常):必须处理,否则程序就会发生错误,无法通过编译
	*a.如ParseException //日期格式转换时
		*.使用try...catch...处理

*B.运行时异常(非受检异常):无需显示处理,也可以和编译时一样处理
	*a.如ArryIndexOutOfBoundsException //数组越界异常
		*.修改代码或者使用try...catch...处理

6、异常处理之throws

虽然我们通过try…catch…可以对异常进行处理,但并不是所有情况我们都有权限进行异常处理
针对这种情况,Java提供了throws的处理方案

*A.格式
	*. throws 异常类名; //ps:这个格式是跟在方法括号后面
*B.处理选择
	*a.编译时异常必须进行处理:throws和try...catch...两种方案,如果用throws,将来谁调用谁处理
	*b.运行时异常可以不处理:出现问题后回来修改代码
*C.注意事项
	*a.使用throws异常处理以后程序不会继续往下执行,而try...catch...可以

7、自定义异常

*A.格式
	*.public class 异常类名 extends Exception {
				无参构造;
				带参构造;
	}
*B.throws和thorw的区别
	*a.throws
		*.跟在方法声明后面,跟的是异常类名
		*.表示抛出异常,由该方法的调用者来处理
		*.表示出现异常的一种可能性,并不一定会发生这些异常
	*b.throw
		*.用在方法体内,跟的是异常对象名
		*.表示抛出异常,由方法体内的语句处理
		*.执行throw一定抛出了某种异常

范例:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值