Java的File类 Li.041

File 相对路径文件或目录 绝对路径文件或目录 File(String pathname) 文件路径或目录 File(String parent, String child) 父文件路径, 和子文件名 File(File parent, String child) 父文件路径file, 和子文件名 import java.io.File; public class Demo1_File { public static void main(String[] args) { // Demo1(); // Demo2(); File parentFile = new File("/usr/local/etc/nginx/"); String child = "nginx.conf"; File file = new File(parentFile, child); } private static void Demo2() { String parent = "/usr/local/etc/nginx/"; String child = "nginx.conf"; File file = new File(parent,child); System.out.println(file.exists()); } // a....

August 29, 2021 · 3 分钟 · Lizicai

Java的异常类 Li.040

Java 的异常类 异常的体系 Throwable Error Exception RuntimeException 如果程序没有处理异常, JVM 自行处理, 把异常的名称和信息, 打印在控制台上. 异常的2种处理方式 try catch finally try catch try catch finally try finally throws public class Demo1_Exception { public static void main(String[] args) { Demo1 demo1 = new Demo1(); int x; try{ x = demo1.div(10,0); } catch (ArithmeticException e){ System.out.println(e.getClass()); System.out.println("test"); }finally { System.out.println("最后执行了吗"); } } } class Demo1 { public int div (int a, int b){ return a/b; } } public class Demo2_Exception { public static void main(String[] args) { int a = 0; int b = 10; int[] arr = {1, 2, 3}; int x ; arr = null; try { // x = b / a; System....

August 27, 2021 · 4 分钟 · Lizicai

Java的Map类 Li.039

Map 将键映射到值的对象 一个映射不能包含重复的键 每个键最多只能映射到一个值 Map 与 Collection 接口的不同 Map 是双列的, Collection 是单列的 Map 是键唯一, Collection 的子体系Set是唯一的 Map 集合的数据结构值针对键有效, 跟值无关; Collection集合的数据结构是针对元素有效 Map 方法 V put(K key, V value) 添加键和值, 成功返回null, 覆盖重复key值, 则返回被覆盖的Value值 V remove(Object key) 通过key删除元素, 删除成功则返回Value值 boolean containsKey(Object key) Map 中是否包含Key值 boolean containsValue(Object value) Map 中是否包含Value值 boolean isEmpty() Map 是否为空 clear() 清空Map import java.util.Collection; import java.util.HashMap; import java.util.Map; public class Demo1_Map { public static void main(String[] args) { // Demo1(); Map<String, Integer> hashMap = new HashMap<>(); hashMap....

August 24, 2021 · 8 分钟 · Lizicai

Java的Set类 Li.038

Set 无序 不可重复 import java.util.HashSet; public class Demo1_HashSet { public static void main(String[] args) { HashSet<String> hs = new HashSet<>(); boolean b1 = hs.add("a"); boolean b2 = hs.add("a"); System.out.println(hs); System.out.println(b1+" "+b2); for(String s:hs){ System.out.println(s); } } } HashSet 的重写hashCode() 方法, hashCode值一致时, 调用equals方法 使用HashSet 存取元素时, 这个元素必须重写 hashCode 和 equals方法 import lombok.Getter; import lombok.Setter; import java.util.Objects; public class Person { public Person(){} public Person(String name, int age){ this.name = name; this.age = age; } @Getter @Setter private String name; @Getter @Setter private int age; @Override public String toString(){ return "Person" + this....

August 22, 2021 · 6 分钟 · Lizicai

Java的List类 Li.037

List 练习Person 集合去重 @Data @AllArgsConstructor @NoArgsConstructor public class Person { private String name; private int age; @Override public boolean equals(Object obj) { Person p = (Person) obj; boolean d = false; if(this.getAge() == p.getAge() && this.getName() == p.getName()){ d = true; } else{ d = false; } return d; } } import java.util.ArrayList; import java.util.Iterator; import java.util.List; public class Demo2_ArrayList { public static void main(String[] args) { List list = new ArrayList(); list....

August 20, 2021 · 5 分钟 · Lizicai

Java的Collection集合一 Li.036

Collection 和 数组区别 数组可以存储基本数据类型, 也可以存储引用数据类型 集合可以存储引用数据类型, 也能存基本数据类型, 存储时会自动装箱 数组的长度固定, 不可以自由增加 集合长度可变, 可以自由增加 List Set 集合 List 有序集合, 存取位置一致 有索引 可存储重复数据 Set 无序集合, 存取位置不一致 无索引 不可存储重复数据 List 体系 ArrayList LinkedList Vector ArrayList 底层是数组, 查询快, 增删慢 线程不安全, 效率高 LinkedList 链表实现, 查询慢, 增删快 线程不安全, 效率高 Vection 数组实现, 查询快, 增删慢 线程安全, 效率低 Set 体系 HashSet TreeSet HashSet 哈希算法 TreeSet 二叉树算法 ArrayList 的 boolean add(E e) 方法一直返回true, Set 集合存取重复元素时, 则返回false boolean remove(Object o) 一次删除一个对象 int size() 打印集合对象数 void clear() 清空集合 boolean isEmpty() 判断集合是否为空 public class Demo2_Collection { public static void main(String[] args) { Collection collection = new ArrayList(); boolean b1 = collection....

August 19, 2021 · 3 分钟 · Lizicai

Java的正则表达式 Li.035

Java 的正则表达式Regex java.util.regex.Pattern 有正则表达示例 /* [abc] a, b, or c (simple class) abc中任意一个字符 [^abc] Any character except a, b, or c (negation) 非abc的一个字符 [a-zA-Z] a through z or A through Z, inclusive (range) 匹配a-z A-Z 大小写字符 [a-d[m-p]] a through d, or m through p: [a-dm-p] (union) 匹配a-d 和 匹配 m-p 字符, 匹配则true [a-z&&[def]] d, e, or f (intersection) 匹配def 与 a-z的并集是 def [a-z&&[^bc]] a through z, except for b and c: [ad-z] (subtraction), 非bc 和 a-z取并集(匹配a d-z字符) [a-z&&[^m-p]] a through z, and not m through p: [a-lq-z](subtraction), 非m-p字符与a-z取并集, 并集是a-l和q-z */ private static void Demo7() { String regex = "[a-z&&[^m-p]]"; System....

August 16, 2021 · 8 分钟 · Lizicai

Java的StringBuffer类 Li.034

String 与 StringBuffer 区别 StringBuffer 是线程安全的可变字符序列 String 是一个不可变的字符序列 StringBuffer 的构造函数 public class Demo1_Sb { public static void main(String[] args) { StringBuffer sb = new StringBuffer(); System.out.println(sb.length()); System.out.println(sb.capacity()); StringBuffer sb2 = new StringBuffer(10); System.out.println(sb2.length()); System.out.println(sb2.capacity()); StringBuffer sb3 = new StringBuffer("hello"); System.out.println(sb3.length()); System.out.println(sb3.capacity()); } } StringBuffer 的append 和 insert 方法 StringBuffer append() 支持int String StringBuffer boolean, 返回本身, StringBuffer insert(int , String) 在指定索引添加int String char等, 返回本身, 有可能会越界 public class Demo2_Sb { public static void main(String[] args) { StringBuffer sb = new StringBuffer(); sb....

August 12, 2021 · 5 分钟 · Lizicai