throws和throw的区别?thorws是声明异常,throw是抛出异常
异常的捕获顺序
异常的捕获顺序应该是:从小到大 在同时出现两个异常时切记要将子类
写在上面,若两个异常时平行关系,则没有顺序
如何自定义异常
自定义异常通常继承于Exception或RuntimeException,到底继承那个应该看具体情况来定,关于异常再以后的项目中再继续讨论 继承exception或者它的子类
方法覆盖与异常
方法重写的条件:
? 子类方法不能抛出比父类方法更多的异常,但可以抛出父类方法异常的子异常
本节课需掌握的知识点: 1.异常的分类,(受控异常,非受控异常) 2.受控异常有哪些,非受控异常有哪些 3.出现异常时应该怎么解决(捕获或者声明) 4.方法重写与异常的关系(子类方法不能抛出比父类方法更多的异常,但可以抛出父类方法异常的子异常) 5.finally和final,finalize的区别
11.String
1.charAt(下标);//返回对应下标的字符 ,最大只能是字符串长度-1,否则会报字符串下标越界异常StringIndexOutOfBoundsException
2.concat();//字符串拼接,不影响原来的字符串,返回新的字符串
3.indexOf(“”);//返回的是字符串对应的下标, 当字符串不存在的时候返回-1 4.lastIndexOf(“”);//返回的是该字符出现的,最后的下标
5.length();//字符串长度 在数组中length是属性,在字符串中length是方法 6.toUpperCase();//将该字符串中的所有小写改为大写
7.toLowerCase();//将字符串中所有的大写字母改为小写字母
8.split();//从指定字符串的位置分割,得到相应的字符串数组
9.substring(1);//从指定下标截取到字符串末尾 有一个参数的时候
10.substring(2,5);//从开始的下标,截取到结束的下标的前一个字符 包前不包后 11.toCharArray();//将String类型的字符串转化为char类型的数组 12. replace('', '0'), replace(“”, “”);//将旧字符替换为新字符 13.replaceAll(\将旧的字符串替换为新的字符串
2.StringBuffer和StringBuilder
StringBuffer和StringBuilder定义的是长度可变的字符串,一般用于字符串的拼接,是可变的对象 常用的方法为append(); toString();
String StringBuffer和StringBuilder的区别
StringBuffer是线程安全的效率低, StringBuilder是线程不安全的效率高
String 字符串常量 不可变 使用字符串拼接时是不同的2个空间
StringBuffer 字符串变量 可变 线程安全 字符串拼接直接在字符串后追加 StringBuilder 字符串变量 可变 非线程安全 字符串拼接直接在字符串后追加
1.StringBuilder执行效率高于StringBuffer高于String.
2.String是一个常量,是不可变的,所以对于每一次+=赋值都会创建一个新的对象, StringBuffer和StringBuilder都是可变的,当进行字符串拼接时采用append方 法,在原来的基础上进行追加,所以性能比String要高,又因为StringBuffer 是 线程安全的而StringBuilder是线程非安全的,所以StringBuilder的效率高于 StringBuffer.
3.对于大数据量的字符串的拼接,采用StringBuffer,StringBuilder.
3.包装类
基本类型的包装类主要提供了更多的实用操作,这样更容易处理基本类型。所有的包装类都是final的,所以不能创建其子类,包装类都是不可变对象
基本类型 byte short char int long float double boolean 包装类 Byte Short Character Integer Long Float Double Boolean
除了boolean和Character外,其它的包装类都有valueOf()和parseXXX方法,并且还具有byteVaue(),shortVaue(),intValue(),longValue(),floatValue()和doubleValue()方法,这些方法是最常用的方法 //需要知道的方法有:valueOf(),equals(),toString()
1. parseXXX其中xx代表的是基本数据类型将字符串格式的数字转换成具体的数字
(parseXX将字符串通过包装类转化成对应的基本数据类型) 2. valueOf 将字符串转换成指定的包装类型
3. XXXValue 其中xx代表的是基本数据类型 将包装类转化为指定的基本数据类型
(XXValue包装类到基本数据类型的一个转换)
日期类
1.Date是java.util包中的日期类型
<1>new Date()获取当前的系统时间
<2>getTime();//将日期转化成long类型的毫秒值
2.SimpleDateFormat 格式化日期类,存在与java.text包中
yyyy年MM月dd日HH:mm:ss
<1>.format()将日期类型转换为指定的字符串格式,格式由SimpleDateFormat 创建的时候来指定
<2>.parse()//将字符串转化为日期类型,这个时候会出现受控异常,那么需要我们进行捕获处理,否则无法编译通过
随机数类
Random是java.util包中的类 Random ran = new Random();
System.out.println(ran.nextInt());//在int的取值范围内
System.out.println(ran.nextInt(101)+100);//不包括给定的值 0-100
+100
12.主要集合概述
Java集合主要有3种重要的类型:
? List:是一个有序集合,可以放重复的数据 ? Set:是一个无序集合,不允许放重复的数据 ? Map:是一个无序集合,集合中包含一个键对象,一个值对象,键对象不允许重复,
值对象可以重复(身份证号—姓名)
List接口 List接口概述
List接口下面主要有三个实现ArrayList和LinkedList,Vector他们都是有顺序的,也就是放进去是什么顺序,取出来还是什么顺序,也就是基于线性存储,可以看作是一个可变数组
? ArrayList:查询数据比较快,添加和删除数据比较慢(基于可变数组)线程不安全的 ? LinkedList:查询数据比较慢,添加和删除数据比较快(基于链表数据结构)线程
不安全的
? Vector:线程安全 几个常用的方法: add(数据)添加 get(下标)根据下标获取数据 size()获得集合的长度 set(下标,新数据)根据下标重新赋值 remove(下标) 根据下标移除数据
Set接口 HashSet
HashSet中的数据是无序的不可重复的。HashSet按照哈希算法存取数据的,具有非常好性能,它的工作原理是这样的,当向HashSet中插入数据的时候,他会调用对象的hashCode得到该对象的哈希码,然后根据哈希码计算出该对象插入到集合中的位置。 常用方法:
add(数据)添加
可用forEach遍历,也可用iterator遍历
Map接口
Map中可以放置键值对,也就是每一个元素都包含键对象和值对象,Map实现较常用的为HashMap,HashMap对键对象的存取和HashSet一样,仍然采用的是哈希算法,所以如果使用自定类作为Map的键对象,必须复写equals和hashCode方法。
键对象的值不能重复,必须是唯一的 map.values()获得所有的值对象 map.keySet()获得所有的键对象
13.Java流概述
文件通常是由一连串的字节或字符构成,组成文件的字节序列称为字节流,组成文件的字符序列称为字符流。Java中根据流的方向可以分为输入流和输出流。输入流是将文件或其它输入设备的数据加载到内存的过程;输出流恰恰相反,是将内存中的数据保存到文件或其他输出设备,详见下图: 文件或其他输内存(Java程文件或其他输输入流 输出流 入设备(键盘) 序) 入设备(控制 台)
文件是由字符或字节构成,那么将文件加载到内存或再将文件输出到文件,需要有输入和输出流的支持,那么在Java语言中又把输入和输出流分为了两个,字节输入和输出流,字符
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库java基础总结大全(5)在线全文阅读。
相关推荐: