小白学JAVA
文章平均质量分 66
Java 是一种广泛使用的跨平台编程语言,由 Sun Microsystems(现在是 Oracle 公司)于1995年推出。它是一种面向对象的编程语言,旨在简化软件开发,提高代码的可维护性和可复用性。
hacker-routing
脚本小子 三流安全工程师
展开
-
【Java进阶】 HashSet、LinkedHashSet详解&Treeset第一种排序方式超详细讲解
无索引:没有带索引的方法,所以不能使用普通for循环遍历,也不能通过索引来获取元素。Student实现Comparable接口,重写里面的抽象方法,再指定比较规则。Treeset集合底层是基红黑树的数据结构实现排序的,增删改查性能都较好。要求:学生对象的成员变量值相同,我们就认为是同一个对象。需求:创建一个存储学生对象的集合,存储多个学生对象。可排序:按照元素的默认规则(有小到大)排序。Hashset:无序、不重复、无索引。JDK8开始:数组+链表+红黑树。不重复、无索引、可排序。不重复:可以去除重复。原创 2024-04-19 12:11:00 · 515 阅读 · 0 评论 -
【Java集合进阶】数据结构(平衡二又树旋转机制)&数据结构(红黑树、红黑规则、添加节点处理方案详解)
如果一个节点没有子节点或者父节点,则该节点相应的指针属性值为Nil,这些NiL视为叶节点,每个叶节点(Nil)是黑色的。如果某一个节点是红色,那么它的子节点必须是黑色(不能出现两个红色节点相连的情况)对每一个节点,从该节点到其所有后代叶节点的简单路径上,均包含相同数目的黑色节点;当根节点左子树的左子树有节点插入,导致二叉树不平衡。当根节点右子树的左子树有节点插入,导致二叉树不平衡。——红黑树在添加节点的时候,添加的节点默认是红色的。从添加的节点开始,不断的往父节点找不平衡的节点。先局部左旋,再整体右旋。原创 2024-04-16 09:51:24 · 314 阅读 · 0 评论 -
【Java集合进阶】数据结构(二又树,二又查找树,平衡二又树)
任意节点左右子树高度差不超过1。原创 2024-04-14 20:26:56 · 310 阅读 · 0 评论 -
【Java集合进阶】泛型的通配符和综合练习
1.什么是泛型?并进行检查JDK5引入的特性,可以在编译阶段约束操作的数据类型2.泛型的好处?统一数据类型把运行时期的问题提前到了编译期间,避免了强制类型转换可能出现的异常,因为在编译阶段类型就能确定下来3.泛型的细节?泛型中不能写基本数据类型可以传入该类型和他的子类类型指定泛型的具体类型后,传递数据时,如果不写泛型,类型默认是Object4.哪里定义泛型?泛型类:在类名后面定义泛型,创建该类对象的时候,确定类型泛型方法:在修饰符后面定义方法,调用该方法的时候,确定类型。原创 2024-04-08 11:57:11 · 444 阅读 · 0 评论 -
【Java集合进阶】LinkedList和迭代器的源码分析&泛型类、泛型方法、泛型接口
把运行时期的问题提前到了编译期间,避免了强制类型转换可能出现的异常,因为在编译阶段类型就能确定下来。如果一次添加多个元素,1.5倍还放不下,则新创建数组的长度以实际为准。是jdk5中引入的特性,可以在编译阶段约束的数据类型,并进行检查。指定泛型的具体类型后,传递数据时,可以传入该类类型或者其子类类型。类中定义一个静态的方法addAll,用来添加多个集合的元素。利用空参创建的集合,在底层创建一个默认长度为0的数组。添加第一个元素时,底层会创建一个新的长度为10的数组。不使用泛型,无法使用前面的特有行为。原创 2024-04-07 15:37:30 · 461 阅读 · 0 评论 -
【Java集合进阶】list常见的方法和五种遍历方式&数据结构
后进先出,先进后出。队列:先进先出,后进后出。数组:内存连续区域,查询快,增删慢。链表:元素是游离的,查询慢,首尾操作极快。原创 2024-04-04 11:29:03 · 554 阅读 · 0 评论 -
【Java 集合进阶】单练集合顶层接口collction&迭代器
1.Collection是单列集合的顶层接口,所有方法被List和Set系列集合共享2.常见成员方法3.三种通用的遍历方式:迭代器:在遍历的过程中需要删除元素,请使用迭代器。增强for、Lambda;仅仅想遍历,那么使用增强for或Lambda表达式。原创 2024-04-02 19:55:17 · 317 阅读 · 0 评论 -
【JDK常用的API】包装类
1.什么是包装类?基本数据类型对应的对象2.JDK5以后对包装类新增了什么特性?自动装箱、自动拆箱3.我们以后如何获取包装类对象?不需要new,不需要调用方法,直接赋值即可Integer 成员方法。原创 2024-03-30 16:59:55 · 296 阅读 · 0 评论 -
【Java常用的API】JDK8相关时间类
【代码】【Java常用的API】JDK8相关时间类。原创 2024-03-29 14:28:24 · 341 阅读 · 0 评论 -
【Java常用的API】JDK7以前时间相关类
* 需求1:打印时间原点开始一年之后的时间需求2:定义任意两个Date对象,比较一下哪个时间在前,哪个时间在后*///需求2:定义任意两个Date对象,比较一下哪个时间在前,哪个时间在后//创建两个时间对象//获取两个对象的值,然后进行比较//比较System.out.println("第一个时间在后面,第二个时间在前面");System.out.println("第一个时间在前面,第二个时间在后面");}else {原创 2024-03-27 10:50:27 · 737 阅读 · 0 评论 -
【Java常用API】捕获分组和非捕获分组
1、正则表达式中分组有两种:捕获分组、非捕获分组2、捕获分组(默认)可以获取每组中的内容反复使用3、组号的特点从1开始,连续不间断以左括号为基准,最左边的是第一组4、非捕获分组分组之后不需要再用本组数据,,仅仅把数据括起来,不占组号(?:)(?=)(?!)都是非捕获分组。原创 2024-03-22 18:17:14 · 354 阅读 · 0 评论 -
【Java常用API】带目的的爬虫
Java自从95年问世以来,经历了很多版本,目前企业中用的最多的是Java8和Java11,因为这两个是长期支持版本,下一个长期支持版本是Java17,相信在未来不久Java17也会逐渐登上历史舞台。需求2:爬取版本号为8,11,17的Java文本。经历了很多版本,目前企业中用的最多的是Java8和Java11,因为这两个是长期支持版本,下一个长期支。需求1:爬取版本号为8,11,17的Java文本,但是只要Java,不显示版本号。需求3:爬取除了版本号为8,11,17的Java文本。原创 2024-03-21 14:14:48 · 524 阅读 · 0 评论 -
【Java常用API】简单爬虫练习题
热线电话:400-618-9090 ,400-618-4000,4006184000,4006189090。Java自从95年问世以来,经历了很多版本,目前企业中用的最多的是lava8和Iava11,因为这两个是。手机号:18512516758,18512508907或者联系邮箱:[email protected],座机电话:01036517895,010-98951256邮箱:[email protected],把下面文本中的座机电话,邮箱,手机号,热线都爬取出来。有如下文本,请按照要求爬取数据。原创 2024-03-20 20:32:57 · 1287 阅读 · 0 评论 -
【Java常用API】正则表达式练习
简单要求:18位,前17位任意数字,最后一位可以是数字可以是大写或小写的x。请编写正则表达式验证用户输入的电话号码是否满足要求。请编写正则表达式验证用户输入的手机号码是否满足要求。请编写正则表达式验证用户输入的邮箱号是否满足要求。要求:大小写字母,数字,下划线一共4-16位。请编写正则表达式验证身份证号码是否满足要求。请编写正则表达式验证用户名是否满足要求。复杂要求:按照身份证号码的格式严格要求。原创 2024-03-19 15:03:09 · 379 阅读 · 0 评论 -
【Java常用API】正则表达式的基础使用
正则表达式可以校验字符串是否满足一定的规则,并用来校验数据格式的合法性。6位及20位之内,0不能在开头,必须全部是数字。:假如现在要求校验一个qq号码是否正确。先使用目前所学知识完成校验需求。然后体验一下正则表达式检验。原创 2024-03-11 17:55:29 · 556 阅读 · 0 评论 -
【Java项目介绍和界面搭建】拼图小游戏完结——源代码分析以及资料上传
特点:如果在菜单中,还需要嵌套二级的菜单,那么可以用JMenu完成。5,细节1:选择完毕之后,游戏界面中需要加载所有的小图片并且打乱顺序。重新游戏,重新登录,关闭游戏,美女,动物,运动:JMenuItem。2,当我们点击了美女之后,就会从13组美女图片中随机选择一组。4,当我们点击了运动之后,就会从10组运动图片中随机选择一组。3,当我们点击了动物之后,就会从8组动物图片中随机选择一组。1,给美女,动物,运动添加单击事件(动作监听)6,细节2:按A的时候显示的是选择之后的图片。功能,关于我们:JMenu。原创 2024-03-10 15:03:44 · 399 阅读 · 0 评论 -
【Java项目介绍和界面搭建】拼图小游戏——作弊码、查看完整图片
测试类:test ,在这个测试类中,我们直接把三个Java用户图形化界面生成了,但是这样三个功能界面全部都写在同一个main函数里面,对于我们以后的代码修改很不方便。我们可以把test这个类删掉了,我们可以直接俄利用App这个程序的启动入口,我们需要启动哪个界面,我们直接创建谁就可以了。修改游戏界面:GameJFrame。创建游戏界面:GameJFrame。登录界面:loginJFrame。游戏界面:GameJFrame。游戏界面:GameJFrame。游戏界面:GameJFrame。原创 2024-03-06 15:47:44 · 997 阅读 · 0 评论 -
【Java项目介绍和界面搭建】拼图小游戏——美化界面
测试类:test ,在这个测试类中,我们直接把三个Java用户图形化界面生成了,但是这样三个功能界面全部都写在同一个main函数里面,对于我们以后的代码修改很不方便。我们可以把test这个类删掉了,我们可以直接俄利用App这个程序的启动入口,我们需要启动哪个界面,我们直接创建谁就可以了。要求:打乱一维数组中的数据,并按照4个一组的方式添加到二维数组中。修改游戏界面:GameJFrame。游戏界面:GameJFrame。游戏界面:GameJFrame。创建myjFrame 界面。创建界面myjFrame3。原创 2024-03-04 09:18:16 · 950 阅读 · 0 评论 -
【Java项目介绍和界面搭建】拼图小游戏——键盘、鼠标事件
测试类:test ,在这个测试类中,我们直接把三个Java用户图形化界面生成了,但是这样三个功能界面全部都写在同一个main函数里面,对于我们以后的代码修改很不方便。我们可以把test这个类删掉了,我们可以直接俄利用App这个程序的启动入口,我们需要启动哪个界面,我们直接创建谁就可以了。注册界面:RegisterJFrame。登录界面:loginJFrame。游戏界面:GameJFrame。游戏界面:GameJFrame。创建myjFrame2 界面。创建myjFrame 界面。程序的启动入口:App。原创 2024-03-03 16:03:01 · 1057 阅读 · 0 评论 -
【Java项目介绍和界面搭建】拼图小游戏——打乱图片顺序
测试类:test ,在这个测试类中,我们直接把三个Java用户图形化界面生成了,但是这样三个功能界面全部都写在同一个main函数里面,对于我们以后的代码修改很不方便。我们可以把test这个类删掉了,我们可以直接俄利用App这个程序的启动入口,我们需要启动哪个界面,我们直接创建谁就可以了。要求:打乱一维数组中的数据,并按照4个一组的方式添加到二维数组中。登录界面:loginJFrame。游戏界面:GameJFrame。游戏界面:GameJFrame。在GameJFrame编写。程序的启动入口:App。原创 2024-03-02 11:16:08 · 501 阅读 · 0 评论 -
【Java项目介绍和界面搭建】拼图小游戏——添加图片
测试类:test ,在这个测试类中,我们直接把三个Java用户图形化界面生成了,但是这样三个功能界面全部都写在同一个main函数里面,对于我们以后的代码修改很不方便。我们可以把test这个类删掉了,我们可以直接俄利用App这个程序的启动入口,我们需要启动哪个界面,我们直接创建谁就可以了。所以我们这里进行修改下,分别写成单独的类中。注册界面:RegisterJFrame。登录界面:loginJFrame。游戏界面:GameJFrame。游戏界面:GameJFrame。程序的启动入口:App。原创 2024-03-01 18:13:37 · 614 阅读 · 0 评论 -
【精选】Java项目介绍和界面搭建——拼图小游戏 中
测试类:test ,在这个测试类中,我们直接把三个Java用户图形化界面生成了,但是这样三个功能界面全部都写在同一个main函数里面,对于我们以后的代码修改很不方便。我们可以把test这个类删掉了,我们可以直接俄利用App这个程序的启动入口,我们需要启动哪个界面,我们直接创建谁就可以了。所以我们这里进行修改下,分别写成单独的类中。注册界面:RegisterJFrame。登录界面:loginJFrame。游戏界面:GameJFrame。游戏界面:GameJFrame。在游戏界面中添加菜单。原创 2024-02-29 16:03:10 · 629 阅读 · 0 评论 -
【精选】Java项目介绍和界面搭建——拼图小游戏 上
拼图小游戏。原创 2024-02-28 20:02:22 · 592 阅读 · 0 评论 -
【精选】Java面向对象进阶——匿名内部类
在 Java 中,匿名内部类是一种特殊的局部内部类,可以在定义的同时实例化该类,并使用它进行对象的创建和方法的调用。匿名内部类通常用于简化代码结构,尤其在需要实现接口或继承抽象类的情况下非常便捷。原创 2024-02-27 16:13:40 · 409 阅读 · 0 评论 -
【精选】Java面向对象进阶——静态内部类和局部内部类
静态内部类和局部内部类原创 2024-02-26 13:26:54 · 247 阅读 · 0 评论 -
【精选】Java面向对象进阶——成员内部类
在Java中,成员内部类是定义在另一个类内部的类。成员内部类有访问外部类的成员变量和方法的权限,可以使用外部类的所有成员,包括私有成员。成员内部类可以访问外部类的私有成员,这是成员内部类与静态内部类的一个主要区别。原创 2024-02-23 14:17:58 · 311 阅读 · 0 评论 -
【精选】Java面向对象进阶——内部类
内部类的访问特点:内部类可以直接访问外部类的成员,包括私有外部类要访问内部类的成员,必须要创建对象原创 2024-02-22 14:57:04 · 240 阅读 · 0 评论 -
【精选】Java面向对象进阶——多学三招:接口中新增方法,接口应用和适配器设计模式
多学三招:接口中新增方法,接口应用和适配器设计模式原创 2024-02-21 13:27:11 · 319 阅读 · 0 评论 -
【精选】Java面向对象进阶——接口和抽象类的案例
编写带有接口和抽象类的标准Javabean类原创 2024-02-19 10:39:45 · 273 阅读 · 0 评论 -
【精选】Java面向对象进阶——接口细节:成员特点和接口的各种关系
在Java中,接口是一种抽象类型,它定义了一组抽象方法,没有方法体。接口的成员特点包括:接口成员都是public访问修饰符:接口中定义的方法和常量默认都是public,因此接口的成员可以被其他类访问。接口没有实例变量:接口中只能定义常量,而不能包含实例变量。接口中的方法都是抽象方法:接口定义的方法都是抽象方法,没有方法体。实现接口的类需要提供具体实现。原创 2024-02-17 12:07:37 · 552 阅读 · 0 评论 -
【精选】Java面向对象进阶——接口
Java接口是一种特殊类型的类,它只声明了方法签名而没有实现。接口可以被其他类实现,实现类必须提供接口中声明的所有方法的具体实现。接口可以定义一组方法,用于定义一个类应该具备的功能。在Java中,接口使用关键字"interface"来声明。一个类可以通过实现一个或多个接口来实现接口中定义的方法。一个类可以实现多个接口,从而实现多继承的效果。接口的主要用途是实现类的多态性。通过使用接口,可以定义一个通用的类型,使得不同实现类可以以一致的方式被使用。这样可以更灵活地组织代码,提高代码的可读性和可维护性。原创 2024-02-16 12:03:19 · 336 阅读 · 0 评论 -
【精选】java面向对象进阶—— 抽象类和抽象方法
Java 中的抽象类是用来定义不能被实例化的类, 只能被其他类继承的类。抽象类的声明使用关键字 abstract。抽象类可以包含抽象方法和非抽象方法。抽象方法是在抽象类中声明的方法,它只有方法的定义,而没有具体的实现。抽象方法的声明使用关键字 abstract,并且必须在抽象类中。子类继承抽象类后,如果没有实现该抽象方法,那么子类也必须声明为抽象类。原创 2024-02-15 13:26:30 · 475 阅读 · 0 评论 -
【精选】java进阶 权限修饰符和代码块
Java中的权限修饰符用于控制类、方法和变量的访问权限。Java提供了四种权限修饰符:public、protected、private和default(也称为包级访问权限)。原创 2024-02-14 23:09:51 · 295 阅读 · 0 评论 -
【精选】java进阶——包和final
在Java中,final 是一个关键字,用于表示一个最终的、不可变的实体。它可以用于类、方法和变量。原创 2024-02-12 14:08:48 · 499 阅读 · 0 评论 -
【精选】java多态进阶——多态练习测试
Java中的多态是面向对象编程的一个核心概念。它允许不同类型的对象对同一方法做出不同的响应。多态通过继承和方法重写实现。在Java中,一个子类可以继承父类的方法并对其进行重写。当使用父类的引用指向子类的对象时,可以根据实际对象的类型调用相应的重写方法。原创 2024-02-11 23:02:55 · 544 阅读 · 0 评论 -
【精选】java初识多态 多态的优势和弊端
Java中的多态是面向对象编程的重要概念之一,它允许一个对象在不同的上下文中表现出不同的行为。多态通过继承和方法重写来实现。多态的核心思想是,父类的引用可以指向子类的对象。也就是说,如果一个类是另一个类的子类,那么可以使用父类类型的引用来引用子类的对象。具体来说,一旦子类定义了与父类具有相同名称和参数的方法,子类的对象就可以在父类类型的引用下调用自己的方法。这就是方法重写。多态的好处之一是可以实现代码的扩展和灵活性。通过基于父类类型的引用,可以动态地确定在运行时要调用的方法。这种动态绑定是静态原创 2024-02-10 13:34:29 · 751 阅读 · 0 评论 -
【精选】java初识多态 多态调用成员的特点
成员变量:在子类的对象中,会把父类的成员变量也继承下的。父:name 子:name成员方法:如果子类对方法进行了重写,那么在虚方法表中是会把父类的方法进行覆盖的。原创 2024-02-09 16:12:18 · 142 阅读 · 0 评论 -
【精选】java初识多态 子类继承父类
Java多态是面向对象编程中重要的概念之一。它通过子类继承父类并在子类中覆盖父类的方法,实现在程序运行时选择合适的方法来调用的能力。多态分为静态多态和动态多态。静态多态是通过重载(方法名相同,参数列表不同)来实现的,编译器根据方法的参数类型决定调用哪个方法。动态多态是通过重写(子类覆盖父类的方法)来实现的。在运行时,程序会根据对象的实际类型来选择调用哪个方法。这需要满足两个条件:子类的方法名、参数列表与父类完全一致,并且通过关键字"override"明确告知编译器这是一个覆盖方法。原创 2024-02-08 20:29:01 · 666 阅读 · 0 评论 -
【精选】java继承进阶——构造方法的访问特点 this、super使用
在Java中,继承是一种面向对象编程的重要概念。通过继承,一个类可以继承另一个类的属性和方法,从而可以复用已有的代码并扩展功能。在Java中,使用关键字extends来实现继承。子类(也被称为派生类)继承父类(也被称为基类或超类)的特性,包括字段和方法。子类可以使用继承得到的属性和方法,也可以通过重写方法来改变或增加其行为。原创 2024-02-07 14:07:38 · 672 阅读 · 0 评论 -
【精选】java继承进阶——继承的特点 this、super
Java继承是面向对象编程的一个重要特性。它允许一个类(子类)继承另一个类(父类)的属性和方法。在Java中,我们使用关键字extends来实现继承。子类会继承父类的非私有字段、方法和内部类。子类可以扩展父类的功能,也可以重写父类的方法。原创 2024-02-06 18:20:55 · 632 阅读 · 0 评论