day14-常用API,异常

Calendar

		Calendar cal = Calendar.getInstance();// 获取当前系统日历
		cal.get(Calendar.DAY_OF_WEEK);// 今天是本周第几天
		cal.get(Calendar.YEAR);// 获取年
		Date date = new Date();
		cal.setTime(date);// 对日历指定时间

Number

数字格式化,#表示任意单个数字,千分位用逗号表示,小数位用点表示。

		//创建数字格式化对象,需要加入千分位
		DecimalFormat df = new DecimalFormat(",###.##");// 保留两位小数
		System.out.println(df.format(12345.6));// 12,345.6
		df = new DecimalFormat(",###.000");// 保留三位小数,不够补0
		System.out.println(df.format(12345.6));// 12,345.600

BigInteger/BigDecimal

BigInteger表示存储更高精度的整数;BigDecimal表示存储更高精度的小数。
BigInteger传的是字符串或者是字节数;而BigDecimal可以直接传整数和小数。

package day14_csdn;

import java.math.BigDecimal;

/**
 * 阶乘高精度
 * @author SkiMei
 *
 */
public class Csdn_Factor {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println(sum(10));// 3628800

	}
	public static BigDecimal sum(int i){
		if(i<=1){
			return new BigDecimal(1);
		}
		return new BigDecimal(i).multiply(sum(i-1));
	}
}

Random

随机数生成器,从0开始。

		Random ran = new Random();
		ran.nextInt(101);// 生成0-100
		System.out.println(ran.nextInt(20-10+1)-10);
		// 生成10-20 ran.nextInt(最大值-最小值+1)-最小值

Math

提供了科学计算和基本的数字操作,都是静态方法,类名调用就可以。

		Math.abs(-1.5);// 绝对值
		Math.ceil(23.16);// 向上取整
		Math.floor(63.21);// 向下取整
		System.out.println(Math.sqrt(65));// 开平方
		Math.cbrt(69);// 开立方
		Math.random();// 随机生成一个0-1的数
		Math.rint(65.26);// 四舍五入 当xxx.5 xxx是偶数的时候不进 是奇数的是时候进一
		Math.pow(26,2);// 几次幂

异常机制

异常是错误的一种说法,导致异常可能的情况有:用户输入非法数据;文件不存在;网络中断;内存溢出。

处理形式

try…catch 解决异常,一般用在客户端;
throws 抛出异常,一般在服务端,提醒调用处;
throw 异常源,创建一个异常。

finally语句块

必须执行的语句块,跟在try或者是try…catch后面。

继承体系

Throwable是异常类的根类,它的直系子类有Exception和Error。
Error表示不因为代码导致的异常,类似栈内存溢出;
Exception有一个子类是RunTimeException,是运行时异常,其他子类是编译时异常。

try…catch

		/**
		 * 输出结果
		 * 21
		 * 65
		 * java.io.FileNotFoundException: D:\123.txt (系统找不到指定的文件。)
		 * catch可以重复写 但是必须子异常在前面 父异常在后面 可以用|来进行不存在继承关系的异常同时执行 
		 */
		try{
			System.out.println(21);
			new FileInputStream("D:/123.txt");
			String s=null;
			s.toCharArray();
		}catch(FileNotFoundException|NullPointerException e){
			e.printStackTrace();
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			System.out.println(65);
		}

在1.7八本之后,可以在try后面加上(),()中的资源会自己打开然后自己关闭,不需要在finally中进行关闭。

Throws

	public static void main(String[] args) throws FileNotFoundException {
		// TODO Auto-generated method stub
		new FileInputStream("");
	}

提醒调用处,此处可能有异常。

finally和return

当语句中出现finally和return的时候,finally优先级更高,编译时会去掉return。

	public static void main(String[] args) {
		System.out.println(m1());// 12
	}
	public static int m1(){
		int i =10;
		try{
			return i++;// 这里会执行i++ 却不会执行return
		}catch(Exception e){
			e.printStackTrace();
		}finally{
			System.out.println("-----");
			return ++i;
		}
	}

在进行覆写操作的时候,子类抛出的异常最多只能和父类相同,不能抛出父类异常的异常。

自定义异常

继承一个已有的异常类,判断是运行时异常还是编译的异常,如果是运行异常继承RunTimeException,如果是编译则继承Exception;
公共的无参构造;
有参数构造(String 错误信息)。

package day14_csdn;
/**
 * 
 * @author SkiMei
 *
 */
public class Csdn_Exc extends Exception{
	public Csdn_Exc(){};
	public Csdn_Exc(String msg){
		super(msg);
	}
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

卑微-程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值