异常类
异常即程序运行时可能出现的一些错误。如试图打开一个不存在的文件等。Java 中的异常又称为例外,是一个在程序执行期间发生的事件,它会中断正在执行程序的正常指令流
异常包括Error与Exception,Exception又包括Unchecked Exception和Checked Exception
上诉异常类型都是内置类java.lang.Throwable类的子类
常见Unchecked Exception
ClassCastException (类型转换异常)
IndexOutOfBoundsException (某种类型的索引越界异常)
NullPointerException (空指针异常)
ArrayStoreException (将与数组类型不兼容的值赋值给数组元素时抛出的异常)
IndexOutOfBoundsException (下标越界异常)ArithmeticExecption(算术类异常)
NegativeArrayException(数组负下标异常)
常见Checked Exception
ClassNotFoundException (找不到指定 class 的异常)
IOException (IO 操作异常)
HttpHostConnectException(网络请求异常)
ect
try-catch语句
格式如下
public static void main(String[] args) {
try{
/*输入可能会出错的内容*/
}
catch(Exception e){
/*捕捉到异常后要做什么,可将异常原因具体化*/
}
finally{
/*无论捕没捕捉到都输出的东西*/
/*可不写*/
}
}
例子
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int a=1,b=2;
try{
System.out.println("请输入一个数字");
a=scanner.nextInt();
b=10;
System.out.println("输入完成");
}
catch(Exception e){
System.out.println("异常:"+e.toString());
}
finally{
System.out.println("a="+a+" b="+b);
}
}
测试
遇到异常后try语句后面的语句都没有被执行(异常句本身好像也没被执行)
常用类
1. object类
所有类的父类
2. String类
表示字符串常量
String s1=new String("Hello World!");
String s2=new String(s1);
String s3=new String();
s3="Have a good day";
3.Scanner类
构造一个文本扫描器,它生成的值是从指定的值输入流扫描的
System.in 是一个标准的输入流,属于InputStream
Scanner scanner=new Scanner(System.in);
String s=new String();
int a;
s=scanner.nextLine();
a=scanner.nextInt();
4.Math类
存了一些数学方法
int a=-6;
a=abs(a);
int b=7;
int c=max(a,b);
double q=2.2;
double q1=ceil(q);
double q2=floor(q);
System.out.println("a="+a+" c="+c+" q1="+q1+" q2="+q2);
/*
输出
a=6 c=7 q1=3.0 q2=2.0
*/
5.random类
创建随机数
6.date类
返回时间
7.calendar类
日历类,用于获取或者操作日历字段(年月日)
该类是一个抽象类,不可以实例化
8.DateFormat类
抽象类,用来格式化或者解析日期
9.StringBuffer类
因为 StringBuffer 类是可变字符串类,创建 StringBuffer 类的对象后可以随意修改字符串的内容。每个 StringBuffer 类的对象都能够存储指定容量的字符串,如果字符串的长度超过了 StringBuffer 类对象的容量,则该对象的容量会自动扩大。
StringBuffer s1=new StringBuffer();
StringBuffer s2=new StringBuffer(8);
StringBuffer s3=new StringBuffer("Have a nice ");
System.out.println(s1.capacity());
System.out.println(s2.capacity());
System.out.println(s3.capacity());
String s4=new String("day!");
s3.append(s4);
StringBuffer s5=new StringBuffer("Hello World");
s5.setCharAt(1,'E');
System.out.println(s3);
System.out.println(s5);
s5.deleteCharAt(4);
System.out.println(s5);
/*
输出
16
8
28
Have a nice day!
HEllo World
HEll World
*/
参考文章:
【Java 内部类和异常类(详细版)】_内部类与异常类总结_FEI..的博客-CSDN博客
Java中常见常用的类_java常用的类_Superme_No1的博客-CSDN博客
Java StringBuffer类详解 (biancheng.net)
感谢观看