# studyJava **Repository Path**: dujiang1992/studyJava ## Basic Information - **Project Name**: studyJava - **Description**: No description available - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-06-07 - **Last Updated**: 2021-06-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # studyJava 记录每天java的学习 # 目录: ## [day01](https://github.com/dj49846917/studyJava/blob/master/day01/README.md) | |---- 1.常用dos命令 | |---- 2.环境安装 |---- 2.1 JDK的下载和安装 |---- 2.2 helloworld案例的编写及运行 |---- 2.3 helloworld案例常见问题 |---- 2.4 Notepad软件的安装与使用 | |---- 3.注释 | |---- 4.关键字 | |---- 5.常量 |---- 5.2 常量分类 | |---- 6.变量 | |---- 7.计算机存储单元 | |---- 8.数据类型 |---- 8.2 数据类型分类 |---- 8.3 基本数据类型(4种8类) | |---- 9.类型转换 |---- 9.2 类型转换分类 |---- 9.3 隐式转换 |---- 9.4 强制转换 ## [day02(eclipse的安装与运行)](https://github.com/dj49846917/studyJava/blob/master/day02/README.md) | |---- 1.安装 | |---- 2.eclipse的基本使用 | |---- 3.eclipse工作空间基本配置 | |---- 4.eclipse辅助键和快捷键 | |---- 5.eclipse中项目的删除和导入 | |---- 6.运算符 |---- 6.3 运算符分类 |---- 6.3.1 算术运算符 |---- 6.3.2 赋值运算符 |---- 6.3.3 关系运算符 |---- 6.3.4 三元运算符 ## [day03](https://github.com/dj49846917/studyJava/blob/master/day03/README.md) | |---- 1.流程控制语句(if,switch,for,while,do ... while) ## [day04](https://github.com/dj49846917/studyJava/blob/master/day04/README.md) | |---- 1. 随机数(Random) | |---- 2.数组 |---- 2.4 两个常见小问题 | |---- 3.JAVA中的内存分配 ## [day05](https://github.com/dj49846917/studyJava/blob/master/day05/README.md) | |---- 1.方法 ## [day06](https://github.com/dj49846917/studyJava/blob/master/day06/README.md) | |---- 1.断点调试 ## [day07(面向对象)](https://github.com/dj49846917/studyJava/blob/master/day07/README.md) | |---- 1.面向对象 |---- 1.2 特点 | |---- 2.类 |---- 2.7 成员变量与局部变量的区别 |---- 2.8 私有变量:private | |---- 3.this | |---- 4.构造方法 |---- 4.4 构造方法注意事项 ## [day08](https://github.com/dj49846917/studyJava/blob/master/day08/README.md) | |---- 1.java手册的使用 | |---- 2.Scanner: 键盘录入 | |---- 3.String类 | |---- 4.构造方法创建的字符串对象和直接赋值方式创建的区别 | |---- 5.String的判断功能 |---- 5.1 boolean equals(Object obj): 比较字符串的内容是否相同 |---- 5.2 boolean equalsIgnoreCase(String: str): 比较字符串的内容是否相同,忽略大小写 |---- 5.3 boolean startsWith(String str): 判断字符串对象是否为指定str开头 |---- 5.4 boolean endsWith(String str): 判断字符串对象是否为指定的str结尾 |---- 5.6 练习 | |---- 6.string的获取功能 |---- 6.1 int length(): 获取字符串的长度,其实也就是字符个数 |---- 6.2 char charAt(int index): 获取指定索引处的字符 |---- 6.3 int indexOf(String str): 获取str在字符串对象中第一次出现的索引 |---- 6.4 String substring(int start): 从start开始截取字符串 |---- 6.5 String substring(int start, int end): 从start开始,到end结束截取字符串。包括start,不包括end |---- 6.7 练习 | |---- 7.string的转换功能 |---- 7.1 char[] toCharArray(): 把字符串转换为字符数组 |---- 7.2 String toLowerCase(): 把字符串转换为小写字符串 |---- 7.3 String toUpperCase(): 把字符串转换为大写字符串 |---- 7.5 练习 |---- 7.9 练习 | |---- 8.StringBuilder类 |---- 8.1 public StringBuilder append(任意类型): 添加数据,并返回自身对象 |---- 8.2 public StringBuilder reverse() |---- 8.7 StringBuilder与String的相互转化 |---- 8.7.4 练习 ## [day09](https://github.com/dj49846917/studyJava/blob/master/day09/README.md) | |---- 1.对象数组 |---- 1.1 创建一个学生数组,存储三个学生对象并遍历 | |---- 2. 集合类 |---- 2.2 集合类的特点 |---- 2.5 public boolean add(E e):添加元素 public void add(int index,E element):在指定的索引处添加一个元素 |---- 2.7 public E get(int index): 返回指定索引处的元素 |---- 2.8 public int size(): 返回集合中的元素的个数 |---- 2.9 public boolean remove(Object o): 删除指定元素,返回删除是否成功 public E remove(int index): 删除指定索引的元素,返回被删除的元素 |---- 2.10 public E set(int index,E element): 修改指定索引处的元素,返回修改的元素 |---- 2.12 ArrayList的遍历 |---- 2.13 练习 | |---- 3.综合练习 ## [day10](https://github.com/dj49846917/studyJava/blob/master/day10/README.md) | |---- 1. IO流概述和分类 | |---- 2. 往文件中写数据 |---- 2.1 构造方法 |---- 2.1.1 FileWriter(String filename): 传递一个文件名称 |---- 2.2 成员方法 |--- 2.2.1 void write(String str): 写数据(字符串) |--- 2.2.2 void flush(): 刷新数据 |--- 2.2.3 void close(): 释放资源 |---- 2.5 FileWriter写数据的方法 |---- 2.5.1 void write(String str): 写一个字符串数据 |---- 2.5.2 void write(String str,int index,int len): 写一个字符串中的一部分数据 |---- 2.5.3 void write(int ch): 写一个数据,这里写int类型的好处是既可以写char类型的数据,也可以写char对应的int类型的值 |---- 2.5.4 void write(char[] chs): 写一个字符数组数据 |---- 2.5.5 void write(char[] chs,int index,int len): 写一个字符数组的一部分数据 | |---- 3.数据的换行和追加 |---- 3.2 FileWriter(String fileName, boolean append) | |---- 4.输出流的注意问题 | |---- 5. 输入流读取数据 |---- 5.1 构造方法 |---- 5.1.1 FileReader(String filename): 传递文件名称 |---- 5.2 成员方法 |---- 5.2.1 int read() |---- 5.2.2 int read(char[] abuf) |---- 5.5 练习 | |---- 6.BufferedWriter和BufferedReader字符缓冲流 |---- 6.4 练习 | |---- 7.字符缓冲流的特殊功能 |---- 7.1 void newLine(): 写一个换行符,这个换行符由系统决定 |---- 7.2 String readLine(): 一次读取一行数据,但是不读取换行符 | |---- 8. IO流的练习 ## [day11](https://github.com/dj49846917/studyJava/blob/master/day11/README.md) | |---- 1. static静态 |--- 1.2 特点 | |---- 2. static的注意事项: | |---- 3. static(静态)的优缺点 | |---- 4. Math的部分方法 |---- 4.1 static double ceil(double a) 天花板(去小数点进一) |---- 4.2 static double floor(double a) 地板 (去小数点) |---- 4.3 static double random(double a) 随机数 0-1之间 |---- 4.4 static double round(double a) 四舍五入 |---- 4.5 static double max(double a,double b) 比较两个值,输出最大值 | |---- 5. static练习 | |---- 6. 代码块 {} | |---- 7.继承 | |---- 8.继承的特点 | |---- 9.继承中成员变量的特点: | |---- 10.继承中成员方法的特点 | |---- 11.方法重写的注意事项 | |---- 12.继承中构造方法的执行顺序 | |---- 13.this和super的区别 ## [day12](https://github.com/dj49846917/studyJava/blob/master/day12/README.md) | |---- 1.抽象类abstract | |---- 2.抽象类的特点 | |---- 3.抽象类的成员特点 | |---- 4.抽象类的细节 | |---- 5.练习 ## [day13](https://github.com/dj49846917/studyJava/blob/master/day13/README.md) | |---- 1.接口的概述 | |---- 2.接口的成员特点 | |---- 3.接口与类的关系 | |---- 4.接口的优点 | |---- 5.接口和抽象类的区别 | |---- 6.练习 | |---- 7.匿名对象 | |---- 8. final常量 | |---- 9.多态 | |---- 10.多态的特点 | |---- 11.多态中的向上转型和向下转型 | |---- 12.多态的优缺点 ## [day14](https://github.com/dj49846917/studyJava/blob/master/day14/README.md) | |---- 1.包的特点 | |---- 2.不同包之间的相互访问 | |---- 3. 权限修饰符 | |---- 4.修饰类:(y:yes) ## [day15](https://github.com/dj49846917/studyJava/blob/master/day15/README.md) | |---- 1.内部类 | |---- 2.成员内部类的修饰符 | |---- 3.内部内部类 | |---- 4.匿名内部类: ## [day16(常用API)](https://github.com/dj49846917/studyJava/blob/master/day16/README.md) | |---- 1. Object.toString | |---- 2. Object.equals | |---- 3.System类 |---- 3.1 static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length):复制数组 |---- 3.2 static long currentTimeMillis(): 系统时间(相对于1970-1-1 00:00:00) |---- 3.3 static void exit(int status):终止虚拟机 |---- 3.4 static void gc():垃圾回收机制(系统自动调用) | |---- 4.Date类 | |---- 5.Date类的常用用法 | |---- 6.SimpleDateFormat(日期的转换) | |---- 7.Calendar类 |---- 7.2 构造方法 |---- 7.2.1 static Calendar.getInstance() |---- 7.3 int get(int field): 返回给定的日历字段的值 |---- 7.4 void add(int field, int amount): 在指定的字段上加上指定的值 |---- 7.5 void set(int field, int value): 把指定的字段修改成指定的 | |---- 8.Integer类 |---- 8.2 将String转换为int |---- 8.3 将int 转换为String | |---- 9.JDK1.5特性: 自动装箱和拆箱(没什么用) | |---- 10.正则表达式 ## [day17(泛型和数据结构)](https://github.com/dj49846917/studyJava/blob/master/day17/README.md) | |---- 1.Collection类 | |---- 2.Collection类的常用API |---- 2.1 boolean add(E e): 是否添加成功 |---- 2.2 void clear(): 清空集合 |---- 2.3 boolean contains(Object c): 判断集合中是否包含某个元素 |---- 2.4 boolean isEmpty(): 判断是否为空 |---- 2.5 boolean remove(Object c): 删除元素 |---- 2.6 int size(): 返回集合中的个数 |---- 2.7 Object[] toArray(): 返回对象数组 |---- 2.9 练习 | |---- 3.Iterator类(迭代器) | |---- 4.泛型 | |---- 5.foreach | |---- 6.数据结构:(数组) int[] arr = {1,2,3,4,5} | |---- 7.数据结构:(链表) | |---- 8.数据结构:(栈) | |---- 9.数据结构: (队列) | |---- 10.List类 |---- 10.1 List的特点 |---- 10.2 特有功能 |---- 10.2.1 void add(int index, E element): 增加 |---- 10.2.2 E get(int index): 根据索引获取 |---- 10.2.3 E remove(int index): 删除并返回指定元素 |---- 10.2.4 E set(int index,E element): 根据索引修改指定元素 | |---- 11.练习 ## [day18(Set与map)](https://github.com/dj49846917/studyJava/blob/master/day18/README.md) | |---- 1.Set |---- 1.2 set集合的特点 | |---- 2.HashSet类 |---- 练习 使用HashSet存储自定义对象并遍历(结果发现,可以重复添加) | |---- 3.Collections类 |---- 3.2 常用方法 |---- 3.2.1 static int binarySearch(List list, Object key) : 使用二分查找法查找指定元素在指定列表的索引位置 |---- 3.2.2 static void copy(List dest, List src): 把源列表中的数据覆盖到目标列表 |---- 3.2.3 static void fill(List list, Object obj): 使用指定的对象填充指定列表的所有元素 |---- 3.2.4 static void reverse(List list): 反转 |---- 3.2.5 static void shuffe(List list): 随机置换 |---- 3.2.6 static void sort(List list): 排序(升序) |---- 3.2.7 static void swap(List list, int i, int j): 将指定列表中的两个索引进行位置互换 | |---- 4.练习 | |---- 5.Map | |---- 6.Map的常用API |---- 6.1 映射功能 |----- 6.1.1 V put(K key, V value): 就是将key映射到value,如果key存在,则覆盖value,并将原来的value返回 |---- 6.2 获取功能 |---- 6.2.1 V get(Object key): 根据指定的Key返回对应的value |---- 6.2.2 int size(): 返回对应关系的个数 |---- 6.3 判断功能 |---- 6.3.1 boolean containsKey(Object key): 判断指定的key是否存在 |---- 6.3.2 boolean containsValue(Object value): 判断指定的value是否存在 |---- 6.3.3 boolean isEmpty(): 判断map是否为空 |---- 6.4 删除功能 |---- 6.4.1 void clear(): 清空所有的对应关系 |---- 6.4.2 V remove(Object key): 根据指定的key删除对应关系,并返回key所对应的值,如果没有删除成功则返回null |---- 6.5 遍历功能 |---- 6.5.1 Set> entrySet() |---- 6.5.2 Set keySet(): 以Set的形式返回所有的key (key不允许重复,所以返回的是set) |---- 6.5.3 Collection values(): 以Collection的形式返回所有的value (values是允许重复的) | |---- 7.map的遍历 | |---- 8.练习 ## [day19(异常处理)](https://github.com/dj49846917/studyJava/blob/master/day19/README.md) | |---- 1. 异常的介绍 | |---- 2. 异常的处理方式 |---- 2.1 try...catch语句 | |---- 3.处理多个异常 | |---- 4.Throwable的常用方法 |---- 4.1 String getMessage(): 原因 |---- 4.2 String toString(): 类型和原因 |---- 4.3 void printStackTrace(): 类型、原因和位置 |---- 4.4 快捷键 | |---- 5. finally的用法 | |---- 6. 异常的分类 | |---- 7.自定义异常 |---- 7.2 自定义异常的两种方式 |---- 7.2.1 运行时 |---- 7.2.2 编译时 | |---- 8.递归 |---- 8.2 练习 ## [day20(File类)](https://github.com/dj49846917/studyJava/blob/master/day20/README.md) ## idea修改模板 file => settings => 选中Appearance & Behavior,并搜索code Template => 点击other => 找到web点开 => 找到Java code template => 找到Servlet Annotated class.java