JavaSE进阶
文章平均质量分 56
Java进阶
从零开始的java小白
这个作者很懒,什么都没留下…
展开
-
正则表达式
1.正则表达式 概念:其实就一个匹配原则,用来替换之前复杂的if判断结构 在Java中,我们经常需要验证一些字符串,是否符合既定规则 ps:我们要验证QQ号或者手机号,以及邮箱是否正确,我们就需要使用if来判断 这个时候为了优化代码,就需要使用正则表达式,来验证各种字符串的规则,它内部定义了一些规则,来验证我们输入的字符串是否符合规则public static void main(String[] args) { /* * 需求...原创 2021-09-07 20:59:27 · 262 阅读 · 0 评论 -
XML解析_Dom4j
1.解析方式和解析包 解析方式: 常见有三种解析方式 1.DOM:要求解析器把整个XML文件装在到内存,并解析成一个Document对象 优点:元素与元素之间保留结构关系,我们可以很方便的对其进行增删改查 缺点:XML文档过大的话,可能出现内存溢出 2.SAX:是一种速度更快,更有效的方式,它是逐行扫描,一边扫描一边解析,并且以事件驱动方式进行具体...原创 2021-09-07 20:48:31 · 272 阅读 · 0 评论 -
XML介绍与约束
1.XML介绍 MXL和HTML很相似,HTML是前端页面标签语言 XML指的是扩展标记语言【Extensible Markup Language】 XML用来传输数据的,不是用来显示数据的,之后学习的HTML是显示数据的 XML标签没有被预定义。<标签内部>需要我们自定义<Person></Person> XML是W3C的标准推荐,3C的工作是对web进行标准化,web就是指的前端 W3C在1988年2月发布的1.0版本,2004年2月...原创 2021-09-07 20:29:43 · 482 阅读 · 0 评论 -
Java之Base64
1.Base64概述: java.util.Base64 是JDK8提出的一个新特性,可以用来进行按照一定规则编码和解码2.使用: 编码: 1.获取编码器 2.对数据进行编码 解码: 1.获取解码器 2.对数据进行解码3.Base64工具类提供给了一套静态方法获取三种Base64编解码器 基本:输出被映射到一组字符A-Za-z0-9+/,编码不添加任何行标,输出的...原创 2021-09-05 18:24:32 · 10612 阅读 · 0 评论 -
Java之方法引用
1.方法引用: 概述:使用格式是一对 冒号 :: 方法的引用就是用来在一定的情况下,替换Lambda表达式 2.方法引用使用场景: 1.如果一个Lambda表达式大括号中的代码和【另一个方法中的代码体一摸一样】 那么就可以使用方法引用把该方法引用过来,从而替换Lambda表达式 2.如果Lambda表达式的大括号中的代码是调用另一个...原创 2021-09-05 18:20:39 · 323 阅读 · 0 评论 -
Java之代理模式
1.静态代理目标: 能够使用动态代理 生成一个代理对象为什么需要代理: 生活中有很多代理的例子,比如,你要出国旅游,你又很麻烦于办签证,预定机票和酒店,租车 那么,我们可以选择旅行社帮我们去一条龙操作,这个时候旅行社就是我们的代理,而我们是被代理代理模式: 被代理者没有能力或者不愿意完成某件事情,就需要委托他人帮自己完成这件事,这个人就是代理者 所以,代理模式中包含了三个角色:被代理者【自己】、代理者【委托人】、抽象角色【协议】@案例: 张...原创 2021-09-05 16:44:20 · 104 阅读 · 0 评论 -
Java之元注解
1.@Target:常用的元注解一 表示该注解作用在什么位置上面 默认注解可以在任何位置@Target只有一个属性vlaue() 可以省略属性名,直接写属性值 属性值是一个枚举类型ElementType METHOD:方法 TYPE:类或者接口 FIELD:成员变量 CONSTRUCTOR:构造方法2.@Retention:常用元注解二 定义该注解保留到哪个代码阶段 只有一个属性value() 也是一个RetentionPolicy的枚举类型 SO...原创 2021-09-05 16:38:05 · 132 阅读 · 0 评论 -
Java注解
1.注解的概述: 是一种代码级别的说明。和类与接口属于平级关系 注解(Annotation):相当于一种标记,在程序中加入注解就等于为程序打上某种标记 以后,Java编译器,开发工具和其他程序可以通过反射来了解类以及各种元素上有没有标记,看你程序标记什么,就去做什么 我们目前为止了解过的注解: 1.@Oberride:子类重写父类方法的时候 编译的时候 2.@FunctionalInterface:函数式接口...原创 2021-09-04 20:01:18 · 92 阅读 · 0 评论 -
反射之构造方法,成员方法与成员变量
1.反射之操作成员方法: Method类概述 每一个成员方法都是一个Method对象 反射之操作成员方法的目的 操作Method对象来调用成员方法 使用: 1.如何通过反射获得类中的成员方法:Class类的方法 - public Method getMethod(String name, Class<?>... parameterTypes)...原创 2021-09-04 19:51:10 · 234 阅读 · 0 评论 -
类加载与Class类
1.类加载器: 概述:是负责将磁盘上的某个class文件读取到内存并生成Class对象 如何获取类加载器: 类的字节码对象.getClassLoader()2.Java中有三种类加载器,它们分别用于加载不同种类的class - 启动类加载器:用于加载系统类库 <java_home>\bin目录下的class,比如 .jar - 扩展类加载器:用于加载扩展类库 <java_home>\lib\ext目录下的c...原创 2021-09-03 21:36:38 · 248 阅读 · 0 评论 -
Java之Junit的使用
1.JUnit单元测试 概述:JUnit是Java语言编写的第三方单元测试框架(工具类) 作用:用来“单元测试”,针对某个普通方法,可以像main方法一样独立运行,它专门用于测试某个方法 使用步骤: 1.下载JUnit的jar包 2.拷贝JUnit的jar包到模块下的lib文件夹中,并添加到classpath中 3.编写测试方法 4.在测试方法上写一个 注解:@Test 执行测试...原创 2021-09-03 21:28:54 · 4385 阅读 · 0 评论 -
java之网络编程
1.java.net.InetAddress类 概述:一个该类的对象就代表一个IP地址对象 成员方法: - public static InetAddress getLocalHost():获取本机IP地址对象 - public static InetAddress getByName(String host):根据ip地址字符出啊或主机名称获得对应的ip地址对象 - String getHostNam...原创 2021-09-03 21:24:47 · 84 阅读 · 0 评论 -
Java之缓冲流
1.缓冲流: 字节流于字符流:属于IO流的入门,那么即将学习的是更强大的流 缓冲流:高效流,是在基本流对象的基础上创建而来的,就像普通人穿上铠甲一样,相当于对基础流的一种增强 就是对四个基本的FileXXX流的增强,所以缓冲流也分为四个流 按照类型来区分: 字节缓冲流:BufferedInputStream、BufferedOutputStream 字符缓冲流:BufferedReader、Buffer...原创 2021-09-01 21:20:50 · 213 阅读 · 0 评论 -
Properties类的使用
1.Properties类 概述:java.util.Properties类 继承于 Hashtable 特点: 1.Properties当成Map集合使用,键和值的类型为Object类型 2.Properties当成属性集是使用,键和值的类型为String类型 构造方法: - public Properties():创建一个空的属性列表 成员方法: - public synch...原创 2021-08-31 23:28:48 · 301 阅读 · 1 评论 -
java之流的处理
1.JDK7之前流的处理之前对于流的使用中,会涉及到异常抛出,这个是不允许的,因为一旦报错,程序就直接终止所有我们需要在内部将流的异常信息进行处理那么在JDK之前我们的处理方法是这样的:try...catch...finallypublic class Tests { public static String path = "day13_Properies类&缓冲流&转换流&序列化流&装饰者模式&commons-io工具包\\resources原创 2021-08-31 23:22:13 · 345 阅读 · 0 评论 -
IO流之字符输出与输入流
1.字符输入流【Reader】 java.io。Reader类:抽象类,表示用于读取字符流的所有类的超类,可以读取字符信息到内中 - public abstract void close():关闭此流并释放与此流相关联的任何系统资源 - public int read():从输入流读取一个字符,读取到末尾返回 -1 - public int read(char cbuf[]):从输入流中读取一些字符,并将他们存储到字符数...原创 2021-08-30 21:00:03 · 197 阅读 · 0 评论 -
IO流之字节输入与输出流
1.IO 概述:I:Input输入 从其他储存设备【读】数据到内存中 输入过程O:Output输入 从内存中【写】数据到其他存储设备 输出过程2.IO 分类: 1)根据数据的类型分为:【字节流】和【字符流】 【字节流】:以字节为基本单位,读写数据的流 字节输入流:以字节为基本单位,读数据 字节输出流:以字节为基本单位,写出数据 【字符流】:...原创 2021-08-30 20:48:06 · 601 阅读 · 0 评论 -
Java之递归
1.递归的概述: 生活中来说:例如父类工作 -- 挣钱 -- 供养孩子 -- 孩子长大 -- 孩子工作 -- 挣钱 -- 供养孩子 -- 孩子长大 -- 孩子工作 程序中来说: 是指当前方法内调用自己的这种现象2.注意事项: 1.递归一定要有出口,否则会报 栈内存溢出 StackOverflowError 2.递归出口晚了,还是会报 栈内存溢出public class Tests { public static void ma...原创 2021-08-29 21:52:24 · 89 阅读 · 0 评论 -
java之File类
1.File类概述:java.io.File类是文件和目录路径名称的抽象表示,主要用于文件和目录的创建、查找和删除等操作2.File类的构造方法: - public File(String pathname):通过将给定的路径名 字符串转换为抽象路径名 来创建新的File实例, ps:"D:\aaa" - public File(String parent,String child):从父路径 字符串 和 子路径 字符串 创建新的File实例 - public ...原创 2021-08-29 21:46:18 · 115 阅读 · 0 评论 -
Stream流常用方法
1.Stream流的常用方法: 终结方法:返回值类型不再是Stream接口本身类型的方法,例如:forEach方法和count方法 非终结方法/延迟方法:返回值类型仍然是Stream接口自身类型的方法,除了终结方法都是延迟方法。例如:filter,limit,skip,map,concat 方法名 方法的作用 方法的种类 是否支持链式调用 count...原创 2021-08-29 21:38:30 · 1939 阅读 · 10 评论 -
Stream流的引入
1.Lambda表达式:基于Lambda所带来的函数式编程,有引入了一个全新的Stream概念,用于解决集合类库既有的弊端2.需求:有一个List集合 1.将list集合中姓张的元素过滤到一个新的集合中 2.然后将过滤出来的姓张的元素,在过滤处长度为3的元素,存储到一个新的集合中public static void main(String[] args...原创 2021-08-27 22:04:50 · 374 阅读 · 1 评论 -
Lambda表达式
1.面向对象编程思想:强调的是【对象】。必须通过对象的形式来做一些事情,一般情况下会比较复杂,多线程执行任务,需要创建对象,对象需要实现接口Runnable2.函数编程思想: 函数需要的有输入量,输出量,使用输入量计算得到输出量,“拿什么东西做什么事”就是为了尽量忽略对象的复杂用法---强调做什么,而不是以什么形式做,同样线程执行任务,使用函数编程思想,可以直接通过传递一段代码给线程对象执行,不需要创建任务对象。函数...原创 2021-08-27 21:58:55 · 117 阅读 · 0 评论 -
Java之异常(下)
1.Throwable获取异常信息的方法:- public String getMessage():获取异常的描述信息,(提示用户的时候,提示具体错误原因)- public String toString():获取异常的类型和异常描述信息(一般不会使用)- public void printStackTrace():打印异常的跟踪栈信息并输出到控制台System.out.println("开始");try { System.out.println(1/0);} catch (Exc原创 2021-08-24 21:58:09 · 96 阅读 · 0 评论 -
Java之异常(上)
1.异常的概述:1.1、异常:指的是程序在执行过程中,出现的非正常的情况,最终导致JVM的非正常停止1.2、注意:1.在Java等面向对象的编程语言中,异常本身是一个类,产生异常就是创建异常对象并抛出了一个异常对象2.java处理异常的方式是 中断处理(直接终止程序运行,把异常信息打印到控制台)1.3、异常的继承体系:异常的根类是 java.lang.Throwable:所有错误或异常的父类...原创 2021-08-24 21:43:12 · 161 阅读 · 0 评论 -
Java之二分查找详解
1.普通查找:首先要遍历数组,获取每个元素,判断当前遍历的元素是否和要查找的元素相同,相同的话就返回该元素的索引,没找到,手动返回 -12.二分查找:每一次都去获取数组的中间索引对应的元素,然后和要查找的元素进行比对,如果相同返回索引,如果不同,就比较中间元素和要查找的元素的值如果中间元素的值 【大于】 要查找的元素,说明要查找的元素在左侧,那么就从左侧按照上述思想继续查询(右侧数据忽略)如果中间...转载 2021-08-24 21:22:47 · 113 阅读 · 0 评论 -
Java之冒泡排序与选择排序
1.冒泡排序:一种排序规则,对要进行排序的数据中【相邻的数据进行两两比较,将较大的数据放在后面】,依次对所有的数据进行操作,直至所有数据按要求完成排序代码演示 public static void main(String[] args) { int[] arr = {32,213,45,765,43}; // 外层循环控制轮数 for (int i = 0; i < arr.length-1; i++) { ...原创 2021-08-23 19:56:28 · 852 阅读 · 0 评论 -
Java之列表集合嵌套
1.list嵌套list: 说明List集合中的元素是List集合// 创建一个List集合,限制元素类型为StringList<String> list1 = new ArrayList<>();// 往集合中添加元素list1.add("张三");list1.add("李四");list1.add("王五");// 创建一个List集合,限制元素类型为StringList<String> list4 = new ArrayList...原创 2021-08-23 19:48:45 · 2235 阅读 · 0 评论 -
Java之Map集合
1.双列集合:Map<K,V>集合的特点:K用来限制键的类型,V用来限制值的类型1.Map集合存储元素是以键值对的形式存储,每一个键值对都有键和值2.Map集合的键是唯一,值可以重复,如果键重复了,那么值就会被覆盖3.根据键来取值Map集合子类:- HashMap<K,V> 存储数据采用的哈希表结构,元素的存取顺序不能保证一致由于要保证键的唯一,不重复,需要重写键的hash...原创 2021-08-22 22:41:01 · 341 阅读 · 0 评论 -
Java之Set接口
1.Set接口:Set集合,但凡时实现了Set接口的类都叫做Set集合2.特点:元素无索引,元素不可重复(元素唯一)- HashSet集合:实现类 元素存取无序- LinkedHashSet集合:实现类 元素存取有序- TreeSet集合:实现类 对元素进行排序3.注意: 1.Set集合没有特殊的方法,都是使用Collection接口的方法 2.Set集合没有索引,所...原创 2021-08-22 22:31:27 · 298 阅读 · 0 评论 -
Java之Collections常用功能和可变参数
1、Collections概述:java.utils.Collections 是一个集合工具类,用来对集合进行操作2、Collections常用功能:public static void shuffle(List<?> list) 打乱集合的顺序// 创建List集合,限制集合中元素的类型为Integer类型List<Integer> list = new ArrayList<>();// 往集合中添加元素list...原创 2021-08-22 22:17:00 · 520 阅读 · 0 评论 -
Java之综合案例《校园管理系统》
1.创建Person父类public abstract class Person { // 成员变量 private int id;// 编号 private String name;// 姓名 private String sex;// 性别 private String birthday;// 生日 private int age;// 年龄 // 构造方法 public Person() {} public Perso原创 2021-08-21 20:15:06 · 814 阅读 · 0 评论 -
Java之List接口的新增方法和LinkedList集合特有的方法
1.List:List接口时Collection接口的子接口,不但继承了Collection接口中的全部方法,而且还增加了一些根据元素来操作集合的特有方法2.List接口新增的常用方法- public void add(int index,E element) 将指定的元素,添加到该集合中的指定位置上- public E get(int index) 返回集合中指定位置的元素- public E remove(int index...原创 2021-08-21 20:08:46 · 784 阅读 · 0 评论 -
Java之泛型通配符
1.泛型通配符: - 通配符的基本使用 - 通配符的高级使用 --> 受限泛型2.通配符的基本使用:泛型的通配符:不知道使用什么类型来接收的时候,此时可以使用【?】? 表示未知通配符注意:不能往该集合中存储数据,只能获取数据public class Tests { public static void main(String[] args) { // 关系: String类继承Obj...原创 2021-08-21 20:01:45 · 463 阅读 · 0 评论 -
Java之泛型
1.泛型的作用 集合不使用泛型,存的时候什么类型都可以,但是要取的时候就会懵,取出来啥也不是,或者不知道取得是什么类型的元素// 创建ArrayList集合对象,不使用泛型ArrayList arrayList = new ArrayList();// 往集合里面添加元素arrayList.add("张三");arrayList.add("李四");arrayList.add(100);arrayList.add(3.14);System.out.println(arr...原创 2021-08-21 19:51:03 · 85 阅读 · 0 评论 -
Java之Iterator接口与迭代器的常见问题和增强for循环
在程序开发中,经常需要遍历单列集合中的所有元素,针对这种需求,JDK专门提供了一个接口 java.util.Iterator1.迭代:即Collection集合元素的通用获取方法在取元素之前先要判断集合中有没有元素,如果有,就把这个元素取出来,继续在判断,如果还有元素就再取出来一直把集合中的所有元素全部取出。 这种取出方式专业术语称之为 【迭代】2.获取迭代器对象:使用Collection集...原创 2021-08-21 19:35:20 · 258 阅读 · 0 评论 -
Java之Collection常用方法
Collection是所有单列集合的父接口,因此Collection中定义的单列集合(List和Set)通用父接口中的一些方法,这些方法可用于操作所有的单列集合。单列集合Collectoon<E>常用方法: 1. - public boolean add(E e) 把给定的对象添加到当前集合中// 创建Collection集合对象,限制集合中元素的类型为StringCollection<String> c1 = new ArrayList<>...原创 2021-08-20 22:17:52 · 674 阅读 · 0 评论 -
Java之单列集合常用类的继承体系
1.集合概述:集合是Java中提供的一种容器,可以用来存储多个【引用数据类型】的数据2.集合和数组 既然都是容器,它们之间的区别 - 数组的长度是固定,集合的长度是可变的 - 集合存储的都是引用数据类型,如果想存储基本数据类型的数据需要存储对应的包装类类型3.单列集合单列集合常用类的继承体系:Collection集合:是所有单列集合的顶层...原创 2021-08-20 22:07:31 · 245 阅读 · 0 评论 -
Java之Arrays类与包装类
1、Arrays类概述:java.util.Arrays类,该类包含用于操作数组的各种方法(排序和搜索),包含了很多静态方法2、常用方法:static void sort(int[] a) 对指定的 int 型数组按数字升序进行排序。static String toString(int[] a) 返回指定数组内容的字符串表示形式。int[] arr = {213,43,6,67,64,523,65,64,23,567,53,457,8,53...原创 2021-08-17 19:56:49 · 117 阅读 · 0 评论 -
Java之BigInteger类和BigDecimal类
1.BigInteger类概述:java.math.BigInteger类 表示一个超大的整数2.构造方法:public BigInteger(String val) 将 BigInteger 的十进制字符串表示形式转换为 BigInteger3.成员方法:3.1、BigInteger add(BigInteger val) 返回其值为 (this + val) 的 BigInteger。// 创建一个BigInteger对象BigInteger ...原创 2021-08-17 19:52:18 · 143 阅读 · 0 评论 -
Java之System类
1.System类概述:java.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统操作2.System类的方法:- public static void exit(int status) 终止当前运行的java虚拟机,非零表示异常终止System.out.println("程序开始");System.out.println("程序执行");//System.exit(0); //程序正常退出(默认的)System....原创 2021-08-17 19:40:40 · 66 阅读 · 0 评论