异常异常既然产生则有必要进行合理的处理,Java中对于异常的处理分为两种方式:异常抛出(throw/throws)异常捕获(try/catch/finally)Java程序中一旦出现异常,这出现异常问题的所在代码行之后的代码无法再执行。throws:用于方法的声明中,抛出有可能出现的异常throw:用于语句块中,抛出指定类型的异常对象,throw一旦执行,则一定会出现该类型异常final是一个关键字用于修饰类,属性,方法finalize是Object类中提供的一个方法,用于在jvm对对象清理时,对于当前对象执行一些最终的处理工作的finally是异常中的语句块运行时异常类型java.lang.ArithmeticException算术异常(比如被零除)java.lang.ArithmeticException空指针异常(调用方法,属性的对象为null时)java.lang.ArrayIndexOutOfBoundsException数组索引越界java.lang.ClassCastException类型转换异常java.util.InputMismatchException输入的数据类型不匹配读取的类型常见的异常类型java.lang.ClassNotFoundException类未找到异常java.io.FileNotFoundException文件未找到异常java.io.IOExceptionIO异常(输入输出异常)java.sql.SQLException访问数据库的异常java.text.ParseException解析异常常用类Objects类Object类是所有java类的顶层父类(祖宗类),但是Objects是从Java7开始新增的一个对于java对象进行空指针安全操作的工具类Objects类是一个工具类Objects对外不提供构造器,因此无法创建对象Objects类中的所有方法都是static提供的是对于对象的空指针安全操作的方法Random类 Math类中提供了一个random()的方法,用于随机一个从0.01.0之间的浮点数,当实际需求有个性化的要求时,只能通过计算获取其他类型的随机数,实际操作相对比较麻烦;因此,Java中还提供了另一个专门用于生成各种需求的随机数类型,比如,随机整数,随机浮点数,随机布尔值。nextBoolean():随机一个布尔值nextDouble():随机一个0.01.0之间的double值nextInt():随机一个int范围内的整数值nextInt(int bounds):随机一个从0~bounds-1位的整数值File类 File类是来自于java.io包中的一个用于处理本机操作系统中的文件,文件可以是目录也可以是一个标准文件;File类是用于在Java中实现跟本机文件系统进行关联的操作类。其中包含一些常见的文件操作:创建文件/目录,查看文件的状态,删除文件等。Date类java.util.Date是一个传统的java用于处理日期时间的类,由于版本更新,内部有很多构造器包括方法均已标记为过时,取而代之的是java.util.Calendar类;常用方法after(Date d)before(Date d)compareTo(Date d)getTime()//判断当前日期对象是否是参数日期对象之后的日期
System.out.println(d1.after(d2));
System.out.println(d1.before(d2));
//实现一个小程序,判断两个学生的年龄,输出较大学生的信息?
//学生:学号,姓名,生日(1999/11/11)
Date d3 = new Date();
System.out.println(d3.equals(d1));
//获取当前日期对象所表示的时间毫秒数
System.out.println(d3.getTime());
System.out.println(d1.getTime());
// System.out.println(d3.getYear());正则表达式正则表达式( Regular expression)是一组由字母和符号组成的特殊文本, 它可以用来从文本中找出满足你想要的格式的句子。正则表达式最早源自于perl语言(脚本语言);正则表达式的功能十分强大,可以用于进行文本的匹配,检索,替换;常见于一些网络爬虫。java中对于正则表达式的处理主要由一下三个类实现:java.lang.Stringjava.util.regex.Patternjava.util.regex.Macher简单案例:String a = “13567845635”;
//判断两个字符串是否完全一致
System.out.println(a.equals(“13567845634”));
//判断当前String对象是否匹配给定的正则表达式( 匹配手机号格式字符串)
System.out.println(a.matches("^1\d{10}$"));重复零次或更多次+重复一次或更多次?重复零次或一次{n}重复n次{n,}重复n次或更多次{n,m}重复n到m次案例://匹配输入长度为4的数字要求必须以1开头
System.out.println(“1234”.matches("^1\d{3}"));
//验证输入的是否是qq号 5-11位长度数字,不能以0开始
System.out.println(“12334352324”.matches("1\d{4,10}"));
// \w
System.out.println(“a”.matches("[0-9a-zA-Z]"));
//匹配不能少于5位长度的数字
System.out.println(“12387912”.matches("\d{5,}"));
//匹配不能超过6位长度的数字
System.out.println(“12346”.matches("\d{0,6}"));
//匹配字母0个或多个
System.out.println("".matches("[a-zA-Z]"));
//匹配字母1个或多个
System.out.println(“a”.matches("[a-zA-Z]+"));
//匹配字母0个或1个
System.out.println(“ac”.matches("[a-zA-Z]?"));
1-9 ↩︎