妖碧落

导航

2019年8月5日 #

finally

摘要: finally 中的代码一定会执行, 除非在finally之前 JVM退出了 一般用来释放资源,IO流关闭流 DB中关闭数据库的连接 一定会执行,即使return了,也会执行 如果catch里面有return语句,请问finally的代码还会执行吗?如果会,请问是在return前还是return后。 阅读全文

posted @ 2019-08-05 23:41 妖碧落 阅读(198) 评论(0) 推荐(0)

throw

摘要: * A:throw的概述 * 在功能方法内部出现某种情况,程序不能继续运行,需要进行跳转时,就用throw把异常对象抛出。* B:案例演示 * 分别演示编译时异常对象和运行时异常对象的抛出* C:throws和throw的区别 * a:throws * 用在方法声明后面,跟的是异常类名 * 可以跟多 阅读全文

posted @ 2019-08-05 23:39 妖碧落 阅读(219) 评论(0) 推荐(0)

异常处理

摘要: 异常的继承体系 * Throwable * Error 服务器宕机,数据库崩溃等 * Exception * RuntimeException Java中的异常被分为两大类:编译时异常和运行时异常。 * 所有的RuntimeException类及其子类的实例被称为运行时异常,其他的异常就是编译时异常 阅读全文

posted @ 2019-08-05 23:36 妖碧落 阅读(153) 评论(0) 推荐(0)

Collections 工具类常用方法

摘要: 所有方法都是静态 static 的 public static <T> void sort(List<T> list) ####sort(list) 对应list 集合排序 public static <T> int binarySearch(List<?> list,T key) 二分查找法 pu 阅读全文

posted @ 2019-08-05 23:28 妖碧落 阅读(609) 评论(0) 推荐(0)

HashMap TreeMap LinkedHashMap

摘要: HashMap 键是Student值 是String 的案例 键是Student, 如果不重写,则键肯定不一致, 所以需要重写键对象的hashcode() equals() LinkedHashMap 底层是链表,怎么存怎么取 TreeMap 键如果是自定义对象,则该对象必须有比较的功能 阅读全文

posted @ 2019-08-05 23:26 妖碧落 阅读(159) 评论(0) 推荐(0)

Map 键值对

摘要: Map 键值对 * a:添加功能 V put(K key,V value):添加元素。 * 如果键是第一次存储,就直接存储元素,返回null * 如果键不是第一次存在,就用值把以前的值替换掉,返回以前的值 * b:删除功能 * void clear():移除所有的键值对元素 * V remove(O 阅读全文

posted @ 2019-08-05 23:15 妖碧落 阅读(3069) 评论(0) 推荐(0)

TreeSet

摘要: TreeSet 保证元素唯一 并且排序 添加对象时 对象必须有排序功能,如果没有,则报classException 能不能存进去,看的就是比较器的比较结果 两种排序方法: 1、 实现comparable接口,重写compareTo()方法 compareTo() 返回0 : 不存 返回正数 : 集合 阅读全文

posted @ 2019-08-05 22:52 妖碧落 阅读(227) 评论(0) 推荐(0)

Set练习

摘要: public class test1 { /* * 编写一个程序,获取10个1到20 的随机数,要求不能重复 */ public static void main(String[] args) { LinkedHashSet l1 = new LinkedHashSet(); Random r1 = new Random(); ... 阅读全文

posted @ 2019-08-05 22:33 妖碧落 阅读(195) 评论(0) 推荐(0)

HashSet

摘要: Set 集合 基本和List 的 HashSet set的 一个子类,由哈希表支持 它是无序的且不能重复 List中的add 返回值一直是true Set 不可以存重复 HashSet存储自定义对象,保证元素唯一性(属性): HashSet在调用add()的时候 会先调用对象的hashcode() 阅读全文

posted @ 2019-08-05 22:26 妖碧落 阅读(162) 评论(0) 推荐(0)

可变参数

摘要: 可变参数 其实是接收一个数组 如果有多个参数,可变参数一定是最后一个 Arrays 工具类 asList() 接收的是可变参数, 将集合转换成数组 ArrayList list = Arrays.asList(arr) 数组转成集合,可以使用集合的思想去操作数组 ,数组不能添加,删除,集合可以 ## 阅读全文

posted @ 2019-08-05 22:07 妖碧落 阅读(150) 评论(0) 推荐(0)

三种迭代,增强for循环

摘要: 普通for循环,可以删除,但是索引要--迭代器,可以删除,但是必须使用迭代器自身的remove方法,否则会出现并发修改异常增强for循环不能删除 阅读全文

posted @ 2019-08-05 21:59 妖碧落 阅读(407) 评论(0) 推荐(0)

泛型

摘要: * A:泛型概述 ArrayList<String> list = new ArrayList<>(); list.add("a"); list.add("b"); list.add("c"); list.add("d"); * B:泛型好处 * 提高安全性(将运行期的错误转换到编译期) * 省去强 阅读全文

posted @ 2019-08-05 21:46 妖碧落 阅读(133) 评论(0) 推荐(0)

栈和队列

摘要: 栈 : 先进后出 只有一个出口 队列 : 先进先出 阅读全文

posted @ 2019-08-05 21:44 妖碧落 阅读(105) 评论(0) 推荐(0)

LinkedList 链表及练习

摘要: LinkedList: getFirst() getLast() addFirst() addLast() removeFirst() removeLast() get(index) 查找,慢 ArrayList: 底层数据结构是数组,查询快,增删慢。 线程不安全,效率高。 LinkedList: 阅读全文

posted @ 2019-08-05 21:39 妖碧落 阅读(299) 评论(0) 推荐(0)

Vector

摘要: Vector 没有迭代 有枚举 addElement() :增加 elementAt(index) :获取 ####Vector迭代#### Enumeration en = v.elements(); // elements 获取枚举 while(en.hasMoreElements()) { / 阅读全文

posted @ 2019-08-05 21:36 妖碧落 阅读(116) 评论(0) 推荐(0)

List

摘要: List 也是个接口 很多方法和Collection是重复的 ### 注意remove() remove(具体对象) remove(index索引) remove(11) 11不会自动装箱 就是删的 11索引位置的对象 get(index) 这是List 集合特有的 Set集合就没有 ### set 阅读全文

posted @ 2019-08-05 21:33 妖碧落 阅读(117) 评论(0) 推荐(0)

迭代器Iterator

摘要: A:迭代器概述 * 集合是用来存储元素,存储的元素需要查看,那么就需要迭代(遍历) * B:案例演示 * 迭代器的使用 迭代器Iterator 迭代就是遍历 Collection 中有个 iterator() 方法 返回一个Iterator 对象 迭代器Iterator 中有三个方法 hasNext 阅读全文

posted @ 2019-08-05 21:27 妖碧落 阅读(156) 评论(0) 推荐(0)

Collection方法

摘要: Collection 是 接口 不能被实例化 都是子类完成 Collection c = new ArrayList(); boolean add() 添加,返回值是布尔类型 boolean remove(object o) 删除指定元素,返回值是布尔类型 clear() : 清空集合 Boolea 阅读全文

posted @ 2019-08-05 21:24 妖碧落 阅读(274) 评论(0) 推荐(0)

Collection体系

摘要: 集合体系 A:集合的由来 * 数组长度是固定,当添加的元素超过了数组的长度时需要对数组重新定义,太麻烦,java内部给我们提供了集合类,能存储任意对象,长度是可以改变的,随着元素的增加而增加,随着元素的减少而减少 * B:数组和集合的区别 * 区别1 : * 数组既可以存储基本数据类型,又可以存储引 阅读全文

posted @ 2019-08-05 21:13 妖碧落 阅读(171) 评论(0) 推荐(0)

Date DateFormat SimpleDateFormat

摘要: 类Date 表示特定的瞬间 空参构造 Date d = new Date() 返回当前时间 (与初始时间之前相差的毫秒值) 有参构造 Date d = new Date(0) 返回 1970年01月01日 08:00 getTime() 与 System.currentTimeMills() 一样 阅读全文

posted @ 2019-08-05 11:45 妖碧落 阅读(129) 评论(0) 推荐(0)

Calendar

摘要: Calendar 是个抽象类 与 DateFormat 类似 实现子类是 GregorianCalendar 有很多 字段 如 YEAR MONTH DAY DAY_OF_MONTH DAY_OF_YEAR 注意点: 月份从0开始 星期日是一个星期的第一天 Calendar c2 = Calenda 阅读全文

posted @ 2019-08-05 11:45 妖碧落 阅读(143) 评论(0) 推荐(0)

BigInteger & BigDecimal

摘要: BigInteger 可以让超过Integer范围内的数据进行运算 成员方法 加减乘除 * public BigInteger add(BigInteger val) * public BigInteger subtract(BigInteger val) * public BigInteger m 阅读全文

posted @ 2019-08-05 11:44 妖碧落 阅读(123) 评论(0) 推荐(0)

System类

摘要: System 类包含一些有用的类字段和方法。它不能被实例化。(构造方法用private修饰了) 成员方法 * public static void gc() //运行垃圾回收器: Object类的finalize() * public static void exit(int status) // 阅读全文

posted @ 2019-08-05 11:43 妖碧落 阅读(157) 评论(0) 推荐(0)

正则2 -- pattern和Matcher

摘要: Pattern 正则表达式的编译表示形式。 典型的调用顺序 阅读全文

posted @ 2019-08-05 11:41 妖碧落 阅读(127) 评论(0) 推荐(0)

Math类 Random类

摘要: 一堆的数学方法 Math.random() : 返回大于等于 0.0 且小于 1.0 的伪随机 double 值。 Random类 Random r = new Random(); int x = r.nextInt() ; // 生成一个随机数 int y = r.nextInt(100) ; / 阅读全文

posted @ 2019-08-05 11:41 妖碧落 阅读(244) 评论(0) 推荐(0)

Arrays 类和 包装类

摘要: public static void main(String[] args) { int[] arr = {33,22,11,44,66,55}; System.out.println(Arrays.toString(arr)); //输出 [33, 22, 11, 44, 66, 55] Arra 阅读全文

posted @ 2019-08-05 11:39 妖碧落 阅读(215) 评论(0) 推荐(0)

选择排序 冒泡排序 二分查找法(有序的数组)

摘要: 冒泡排序 每次比较,选取一个最大的,放在右边 选择排序 每次比较,选取一个最小的 ,放在左边 二分查找 阅读全文

posted @ 2019-08-05 11:38 妖碧落 阅读(237) 评论(0) 推荐(0)

stringBuffer & StringBuilder

摘要: String 的字符串缓冲区 StringBuffer : 线程安全的 StringBuilder : 线程不安全的 效率高 与String 区别: String 不可变 StringBuffer 可变 无参构造 : 构造一个缓冲区 默认16个字节的容量(capacity) 有参构造三个: Stri 阅读全文

posted @ 2019-08-05 11:37 妖碧落 阅读(148) 评论(0) 推荐(0)

String类(常用方法2)

摘要: 获取功能 “nihao”.length() :返回长度 “nihao”.charAt(2) : 返回索引为2处的 “nihao”.indexOf('i') : public class test3 { /* * 案例演示 * 需求:统计一个字符串中大写字母字符,小写字母字符,数字字符出现的次数,其他 阅读全文

posted @ 2019-08-05 11:36 妖碧落 阅读(222) 评论(0) 推荐(0)

String类

摘要: /* 阅读全文

posted @ 2019-08-05 11:34 妖碧落 阅读(126) 评论(0) 推荐(0)

object类

摘要: 有类的父类 常用方法 : 1、 hashcode() 返回该对象的哈希吗值 2、 getClass() 返回此对象的运行时类 3、 toString() 返回的是 getClass.getName() + '@' + Interger.toHexString(hashCode) 一般需要重写 4、e 阅读全文

posted @ 2019-08-05 11:31 妖碧落 阅读(125) 评论(0) 推荐(0)

scanner

摘要: Scanner 类 hasNextInt() : 判断输入的是否是int ,若是int 返回true hasNextXxx() : 每个基本数据类型都有 一个类似的这样的方法 两个常用的方法: * public int nextInt():获取一个int类型的值 * public String ne 阅读全文

posted @ 2019-08-05 11:31 妖碧落 阅读(134) 评论(0) 推荐(0)

匿名内部类

摘要: /*匿名内部类 * 内部类的简写 * 前提:存在一个类或者接口 * 格式: * new 类名or接口名(){ * 重写方法; * } * 本质: * 是一个继承了该类或者实现了该接口的子类匿名对象 在开发中应用是当做参数传递 * */ 阅读全文

posted @ 2019-08-05 11:28 妖碧落 阅读(86) 评论(0) 推荐(0)

内部类

摘要: 创建内部类对象 : 成员内部类 私有使用 本类中的方法内,创建内部类对象使用 静态内部类 : 题目: 阅读全文

posted @ 2019-08-05 11:27 妖碧落 阅读(146) 评论(0) 推荐(0)

类,多态,抽象类,接口

摘要: 代码块: 局部代码块: 构造代码块:和构造方法一起执行,并且先于构造方法执行,每new一次 就执行一次 静态代码块:和类一起加载, 并且只执行一次 子类会继承父类中的数据,所有子类初始化之前一定会先初始化父类 子类中的所有构造方法 默认会继承父类空参构造 super() 方法重写注意事项 * a:父 阅读全文

posted @ 2019-08-05 11:26 妖碧落 阅读(128) 评论(0) 推荐(0)

权限修饰符

摘要: * A:修饰符:* 权限修饰符:private,默认的,protected,public* 状态修饰符:static,final* 抽象修饰符:abstract* B:类:* 权限修饰符:默认修饰符,public* 状态修饰符:final* 抽象修饰符:abstract* 用的最多的就是:publi 阅读全文

posted @ 2019-08-05 11:26 妖碧落 阅读(122) 评论(0) 推荐(0)

数组注意事项

摘要: 定义格式 内存 分配 : 栈 :待执行方法 局部变量 。。 堆 :存贮new 出来的 数据和对象 方法区: 三个引用两个数组 数组反转 : for 循环 首尾互换 arr.length/2 次 二维数组 阅读全文

posted @ 2019-08-05 11:25 妖碧落 阅读(308) 评论(0) 推荐(0)

运算符与数据类型

摘要: Java语言基础(逻辑运算符&&和&的区别) * &&和&的区别? * a:最终结果一样。 * b:&&具有短路效果。左边是false,右边不执行。 * &是无论左边是false还是true,右边都会执行* B:同理||和|的区别?(学生自学)* C:开发中常用谁? * &&,||,! 数据类型转换 阅读全文

posted @ 2019-08-05 11:24 妖碧落 阅读(211) 评论(0) 推荐(0)