自助建站网站哪个好,小饭店普通装修,小程序商城需要icp许可证吗,建设工程行业招工信息网站异常 异常#xff1a;在Java中是指被一个方法抛出的对象。 分类#xff1a;检查异常、运行时异常、错误 运行时异常#xff08;uncheckd#xff09;#xff1a;RuntimeException和其子类 检查异常#xff08;checkd/搜检异常#xff09;#xff1a;指Exception和其子类… 异常 异常在Java中是指被一个方法抛出的对象。 分类检查异常、运行时异常、错误 运行时异常uncheckdRuntimeException和其子类 检查异常checkd/搜检异常指Exception和其子类且不是RuntimeException的子类它必须经过处理才会找到 语法 try{//被保护的代码
}catch(异常的名称 e1){//捕获块
} 注意应先捕获特殊再捕获一般异常try没有出现异常catch将不会执行 异常处理的三种选择 1捕获这个异常不让他沿着调用栈继续向下抛出 2捕获这个异常并继续向下抛出 3不捕获这个异常从而导致方法调用栈中被弹出导致对象抛出给调用栈下面的main方法。 声明异常 关键字throws 在当一个方法没有处理检查异常时使用 例如public void deposit(double amount) throws RuntimeException{} 抛出主动异常 关键字throw 运行时异常可以不用声明异常检查异常必须声明异常 final关键字 用于在try块后创建一个代码块且他总会运行不管异常是否发生 注意在方法返回之前final块将会执行 用户自定义异常 1所有的异常必须是Throwable的子类 2想编写一个会被异常自动处理过声明的规则的检查异常就需要继承Exception类 3如果编写一个运行时异常就需要继承RuntimeException类 常用类 运行平台交互的类 System类记录执行时间 复制数组确定当前系统的属性和获取获取系统环境变量等 Runtime类可以通过他的静态方法getRuntime获取对象 String类 StringBuffer类代表一个类容可变的字符串方法是线程安全的 StringBuilder类代表字符串对象性能略高 Date类 DateFormat抽象类方法返回特定地区格式的DateFormat对象 SimpleDateFormat类创建其对象时需要传入日期和时间格式作为格式化的模板 Calendar抽象类 GregorianCalendar类公历日历 随机数 格式例如生成0-10的随机数 Random rnew Random();
int n1r.nextInt();
n1Math.abs(r.nextInt()%10);
System.out.println(n1); 装箱基本类型 向 引用类型 拆箱引用类型 向 基本类型 正则表达式 \; ^(开始) $(结束) *0次或多次 (1次或多次) 0次或一次 {n}(重复n次) {n,m}最多m最少n .(出\n之外的任何单个字符) x|yx或y [xyz](所包含的任意一个字符); [^xyz](未包含的任意字符) [a-z](范围) [^a-z]不在范围内 \b(单词边界) \B非单词边界 \d(一个数字字符) \D(非数字) \f(换页) \n(换行) \r(回车) \s(空白) \S(非空白) \w(下划线和任意字符) \W(非单词字符) 正确使用 Pattern类编译正则表达式创建对象先调该静态方法compile返回一个Pattern对象 Matcher类解析Pattern获得对象调用Pattern对象的matcher方法 格式例如 String namey_123456;
Pattern pPattern 。compile(正则符);
Matcher mp.matchername;
if(matcher.matches()){
}
else{
} 反射 Jvam中所包含提供的加载器 1根类加载器加载核心Java类jiava.*开头 2扩展类加载器加载扩展的java类java.*开头中JAR的类包 3系统加载器加载自身的类 类的加载机制 1类的class文件读入内存中后创建java.lang.util.class对象一但某个被载入JVM中同一个类就不会被再次输入 2连接把类的二进制系统数据合并到JRE中 3初始化 反射 含义可以在运行期载入探知和使用编译期完全未知的类 加载class cclass.forname(全限定类名); 查看所有方法 Method[] mothedscl.getDeclaredMethods();for(Method me: motheds){System.out.println(me.getName());} 查看构造器 Constructor[] cocl.getDeclaredConstructors();for(Constructor? con: co){System.out.println(con);} 获取字段 Field[] fields clazz.getDeclaredFields();for (Field field : fields) {System.out.println(field.getType().getName() field.getName());} 创建对象 1 Constructor? constructor cl.getConstructor(String.class, Date.class);
2 SimpleDateFormat snew SimpleDateFormat(yyyy-MM-dd);
3 String st2000-10-12;
4 Date das.parse(st);
5 Object obj constructor.newInstance(张三,da); 调用方法 1 Method setAddress cl.getMethod(setAddress,String.class);
2 Object adress setAddress.invoke(obj,成都);
3 Method setSexcl.getMethod(setSex,String.class);
4 Object sexsetSex.invoke(obj, 男); ...表示可变参数 Java集合框架 collection接口控制单列数据 分为两个子接口 Set接口没有顺序且不能重复 两个重要实现类 HashSet基于哈希算法的set接口实现没有顺序不允许出现重复元素 ThreeSet: 有顺序的 List接口有顺序可以重复 两个重要实现类 ArrayList是以数组方式实现查询效率高插入删除效率低 LinkedList:是以链表方式实现适合频繁增加删除元素时使用速度快 重要方法 插入对象名.add; 返回指定对象名.get(); 替换对象名.set(); 删除对象名.remove(); 泛型 作用1保证在集合中元素类型安全 2数据类型不用强制转化 实质允许在定义接口、类时指定类型参数 例如ArrayListInteger alnew ArrayListInteger; Interator接口用于遍历集合的接口有一个iterator方法返回Interator对象 此接口方法 更多元素hasNaxt; 下一个元素nest(); 删除iterator返回的最后一个元素remove(); 格式 1 public static void main(String[] args) {2 MyComparator mynew MyComparator();3 ListSortObject lnew ArrayListSortObject(); 4 SortObject s1new SortObject(1,4);5 SortObject s2new SortObject(7,9);6 SortObject s3new SortObject(5,6);7 l.add(s1);8 l.add(s2);9 l.add(s3);
10 Collections.sort(l,my);
11 Iterator it l.iterator();
12 while(it.hasNext()){
13 Object obj it.next();
14 System.out.println(obj);
15 }
16
17 }
18
19 } Map接口控制键值对 含义对应的是一种从键Key到值Value的对应关系的集合一对一 两个实现类HashMap TreeMap 基本方法: 返回指定键相关的值get; 向映射中添加键值对: put(); 删除所有元素clear(); 删除指定remove; 辅助类Collections和Arrays Collections类用于对集合元素进行排序、查询、修改静态方法 例如排序Collections.sort(list cmp); Arrays类操作数组 例如Arrays.sort(arr); 集合当中用size获取数组长度 转载于:https://www.cnblogs.com/wwg1426802735/p/4439147.html