
JavaSE专题
文章平均质量分 81
源码小哥
这个作者很懒,什么都没留下…
展开
-
JavaSE(三十五)-枚举ENUM
word文档的对齐方式有几种:左对齐、居中对齐、右对齐;开车的方向有几种:前、后、左、右;枚举就是有限实现个数的类型,你可能会说,byte类型也只有256个,没错,但我们真实定义为枚举的类型,一般最多也就十多个实例,再多就不会定义为枚举了。/*** @Description l枚举*/说明:注意,每个枚举选项之间是用逗号隔开的。如果枚举类没有构造器、方法等,在最后一个枚举选择后面可以不打分号。但是如果枚举类还有其他成员,那么就要在最后一个枚举项后面添加分号了。原创 2023-08-23 12:40:43 · 95 阅读 · 0 评论 -
JavaSE(三十一)-IO流--PrintWriter类
java.io.PrintWriter是java中很常见的一个类,该类可用来创建一个文件并向文本文件写入数据。可以理解为java中的文件输出,java中的文件输入则是java.io.File。1.常用的构造方法1)构造方法参数为String类型的对象,值应为文件全路径。若文件不存在,则会先创建文件。 public PrintWriter(String fileName) throws FileNotFoundException { this(new BufferedWriter(new Ou原创 2023-08-23 12:34:38 · 506 阅读 · 0 评论 -
JavaSE(十八)-迭代器Iterator
这些功能定义都一样,只不过实现的具体方式不同(因为每一个容器的数据结构不一样)所以对共性的取出功能进行了抽取,从而出现了Iterator接口。它的内部原理其实是个Iterator迭代器,所以在遍历的过程中,不能对集合中的元素进行增删操作。为了方便的处理集合中的元素,Java中出现了一个对象,该对象提供了一些方法专门处理集合中的元素.例如删除和获取集合中的元素.该对象就叫做迭代器(注意在对集合进行迭代过程中,不允许出现迭代器以外的对元素的操作,因为这样会产生安全隐患,java会抛出异常并发修改异常(原创 2023-08-23 08:56:07 · 80 阅读 · 0 评论 -
JavaSE(二十二)-泛型
JDK5中的泛型允许程序员在编写集合代码时,就限制集合的处理类型,从而把原来程序运行时可能发生问题,转变为编译时的问题,以此提高程序的可读性和稳定如果有泛型,那么在编译的时候就可以把异常显示出来!注意:泛型是提供给javac编译器使用的,它用于限定集合的输入类型,让编译器在源代码级别上,即挡住向集合中插入非法数据。但编译器编译完带有泛型的java程序后,生成的class文件中将不再带有泛形信息,以此使程序运行效率不受到影响,这个过程称之为“擦除”。原创 2023-08-23 08:55:28 · 75 阅读 · 0 评论 -
JavaSE(二十一)-集合中工具类Collections
Java 中提供了一个专门用来操作集合的工具类——,它位于java.util包中。工具类中提供了大量的静态方法用于对集合中元素进行排序、查找和修改等操作。(也就是说,这些静态方法并不是由集合中的具体对象来调用,而是通过工具类直接进行调用!!!附:在 java.util 包中,还有一个专门针对数组操作的工具类——Arrays。Arrays工具类提供了大量针对数组操作的静态方法。那么,在这里,只对 Collections工具类进行介绍和举例!!!原创 2023-08-23 08:55:18 · 91 阅读 · 0 评论 -
JavaSE(二十)-Map接口
Map是一个接口,我们不能直接创建对象,可以通过多态的形式创建对象,Map中有两个参数,一个是K表示键,一个是V表示值,且一个键有且对应一个值,Map中不能包含重复的键,若是有重复的键添加,则会以最后一次的键为准,而其他的键会被覆盖。集合都在java.util包下,所以需要导包。具体实现常用的一般有两种,一是HashMap,另一个是TreeMap。原创 2023-08-22 09:01:20 · 198 阅读 · 0 评论 -
JavaSE(十九)-Set接口
Set集合可以去除重复元素Set集合的存入顺序和取出顺序不一致Set集合没有索引,不能使用普通for循环遍历查阅Set集合的API介绍,通过元素的equals方法,来判断是否为重复元素,它是个不包含重复元素的集合。Set集合取出元素的方式可以采用:迭代器、增强for。Set集合有多个子类,这里我们介绍其中的HashSetTreeSet这两个集合。该集合中没有特有的方法,直接继承自Collection。---| Itreable 接口 实现该接口可以使用增强for循环。原创 2023-08-22 09:01:10 · 127 阅读 · 0 评论 -
JavaSE(十七)-List接口
List接口是Collection的子接口,实现List接口的容器类中的元素是有顺序的,而且可以重复。List容器中的元素都对应一个整数型的序号记录其在容器中的位置,可以根据此序号存取元素。主要实现类有 ArrayList 和 LinkedList。原创 2023-08-22 09:00:51 · 127 阅读 · 0 评论 -
JavaSE(十六)-集合Collection
List(链表|线性表)Set(集)Collection中描述的是集合共有的功能(CRUD)List可存放重复元素,元素存取是有序的Set不可以存放重复元素,元素存取是无序的java . util . Collection -- - | Collection 描述所有接口的共性 -- -- | List 接口 可以有重复元素的集合 -- -- | Set 接口 不可以有重复元素的集合。原创 2023-08-22 09:00:34 · 82 阅读 · 0 评论 -
JavaSE(十五)-异常
概念:自己定义一种异常的规则。当jdk内置异常类型不足以满足系统需求时,我们需要自定义异常类型。this.id=id;return id;使用自定义异常和使用jdk内置异常是一回事。if(num原创 2023-08-22 08:59:54 · 66 阅读 · 0 评论 -
JavaSE(十四)-正则表达式
在程序开发中,字符串处理非常频繁,那么就可以使用使用正则表达式这个工具对字符串进行相关的操作。正则表达式可以对字符串进行格式匹配、提取、分割、替换等操作。正则表达式本身也是一个字符串,只不过这个字符串有特殊的含义,作用是规范其他的的字符串,表示的是字符串的格式的字符串。正则表达式是一个字符串模板,可以表示一批字符串,所以创建正则表达式就是创建一个特殊的字符串。正则表达式最常用的场合就是在网页中进行网页表单的数据验证!!!Web开发中表单验证中大量使用正则表达式验证!原创 2023-08-22 08:59:03 · 77 阅读 · 0 评论 -
JavaSE(十三)-String类
类代表不可变的字符序列。“abc”、”ddd”等字符串为String类的一个对象。String表示的是字符串,String在Java中是一个类,不属于8个基本数据类型之一。String是一个final修饰的类,那么String类是最终类,不能被继承!原创 2023-08-22 08:58:53 · 89 阅读 · 0 评论 -
JavaSE(十二)-Object类
JavaSDK提供的一些类,如String,Date等,重写了Object类的equals方法,调用这些类的equals方法,x.equals(y),当x和y所引用的对象是同一类对象且属性内容相等时(并不一定是相同对象),返回true否则返回false。注意:在复写Object中的equals方法时,一定要注意public boolean equals(Object obj)的参数是Object类型,在调用对象的属性时,一定要进行类型转换,在转换之前必须进行类型判断。类中的equals方法内部使用的就是。原创 2023-08-22 08:58:33 · 63 阅读 · 0 评论 -
JavaSE(十一)-常用类
java中是Date类来表示时间,Java中Date类使用比较频繁,在java.Util包下类 Date 表示特定的瞬间,精确到毫秒。继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,但是其中有未过时的构造函数可以把毫秒值转成日期对象。//创建日期对象,把当前的毫秒值转成日期对象//打印结果:Fri Dec 11 00:00:00 CST 2020可是将毫秒值转成日期后,输出的格式不利于我们阅读,继续查阅API,Date中有getYeargetMouth。原创 2023-08-21 12:26:15 · 159 阅读 · 0 评论 -
JavaSE(十)-包装类
Boolean类型的包装类,如果传入的参数不是一个true或者false,不会报错,默认值是false。Java中的自定义的类有很多,学习过程中要经常查API帮助手册!基本数据类型和包装类可以混合使用,因为可以自动拆箱和装箱!java中的所有的类都应该放在一个package中!JavaJDK中内置了有很多包,每个包下面有很多类!abc不能转化为Integer类型,会报错!Java中包装类的体系结构。原创 2023-08-21 12:26:06 · 73 阅读 · 0 评论 -
JavaSE面向对象(九)-内部类
书写在外部类中,与外部类的属性或方法平级的没有名字的内部类;或者是:书写在外部类的方法体中,与方法中局部变量平级的没有名字的内部类。2、包含了匿名内部类的外部类,编译后,生成的字节码文件的个数 = class的个数 + 匿名内部类的个数。3、如何在成员内部类方法中访问同名的变量(外部类的属性、内部类的属性,内部类方法中的局部变量)3、静态内部类中的普通方法和静态方法只能访问外部类中的静态属性和静态方法,不能访问。5、包含了成员内部类的源码,编译时会生成的字节码文件的个数与class的个数相同。原创 2023-08-21 12:25:46 · 109 阅读 · 0 评论 -
JavaSE面向对象(八)-多态
多态是什么?多态是同一个行为具有不同的表现形式或形态的能力同一方法可以根据触发对象的不同而采用不同的行为方式一个人在同一时间可以有不同的特征。是一个男人,同时也是一个父亲,一个丈夫,一个员工。所以同一个人在不同的情况下有不同的行为。这被称为多态性。多态性被认为是面向对象编程的重要特性之一。多态性允许我们以不同的方式执行单个操作。换句话说,多态性允许您定义一个接口并有多个实现,意思是多种形式;多态就是事物的多种形态,一个对象在不同条件下所表现的不同形式。原创 2023-08-21 12:25:35 · 66 阅读 · 0 评论 -
JavaSE面向对象(七)-接口
与定义类的class不同,接口定义时需要使用interface关键字。定义接口所在的仍为.java文件,虽然声明时使用的为interface关键字的编译后仍然会产生.class文件。这点可以让我们将接口看做是一种只包含了功能声明的特殊类。public interface 接口名 {抽象方法1;抽象方法2;抽象方法3;接口中的方法均为公共访问的抽象方法接口中无法定义普通的成员变量相同点:- 接口和抽象类都不能被实例化,都不能创建对象!- 接口和抽象类中都可以放抽象的方法!原创 2023-08-21 12:25:26 · 67 阅读 · 0 评论 -
JavaSE面向对象(六)-抽象类
会有这样一种特殊情况,就是方法功能声明相同,但方法功能主体不同。那么这时也可以抽取,但只抽取方法声明,不抽取方法主体。子类需要继承抽象父类并完成最终的方法实现细节(即重写方法,完成方法体)。而此时,方法重写不再是加强父类方法功能,而是父类没有具体实现,子类完成了具体实现,我们将这种方法重写也叫做实现方法。父类中的方法在子类中重写之后,在实际使用中,一般都会去调用子类的方法。那么父类中的方法没有太大的实际意义,那么我们就可以把这个方法声明了。抽象类无法直接创建对象,只能被子类继承后,创建子类对象。原创 2023-08-21 12:24:35 · 123 阅读 · 0 评论 -
JavaSE面向对象(五)-继承(二)
举例:比如手机,当描述一个手机时,它具有发短信,打电话,显示来电号码功能,后期由于手机需要在来电显示功能中增加显示姓名和头像,这时可以重新定义一个类描述智能手机,并继承原有描述手机的类。目的在于子类对象中包含了其对应的父类对象空间,便可以包含其父类对象的成员,如果父类成员非。当子类需要父类的功能,而功能主体子类有自己特有内容时,可以重写父类中的方法,这样,即沿袭了父类的功能,又定义了子类特有的内容。当子父类中出现了同名成员变量时,在子类中若要访问父类中的成员变量,必须使用关键字。原创 2023-08-21 12:24:22 · 66 阅读 · 0 评论 -
JavaSE面向对象(五)-继承(一)
从这两段代码可以看出来,代码存在重复了,导致后果就是代码量大且臃肿,而且维护性不高(维护性主要是后期需要修改的时候,就需要修改很多的代码,容易出错),所以要从根本上解决这两段代码的问题,就需要继承,将两段代码中相同的部分提取出来组成 一个父类。Java语言是非常典型的面向对象的语言,在Java语言中继承就是子类继承父类的属性和方法,使得子类对象(实例)具有父类的属性和方法,或子类从父类继承方法,使得子类具有父类相同的方法。了解了继承给我们带来的好处,提高了代码的复用性。继承是面向对象软件技术中的一个概念。原创 2023-08-21 12:18:55 · 61 阅读 · 0 评论 -
JavaSE面向对象(四)-final关键字
Java面向对象编程,修饰类修饰方法修饰变量修饰参数。原创 2023-08-21 12:18:48 · 58 阅读 · 0 评论 -
JavaSE面向对象(三)-封装
生活中的封装比如ATM收款机,会使用一个机器来保证钱的正常流动,给你一个特定的方法来存钱取钱,不会说让你随意的取钱存钱。private表示私有的,private修饰的属性只能在当前类中访问。如果形参和属性重名,那么为了不造成歧义,可以使用this关键字来指定。方法, 给每个属性赋值!步骤2:针对每个属性,生成一个共有的。方法,供外界获取值!原创 2023-08-21 12:18:38 · 55 阅读 · 0 评论 -
JavaSE面向对象(二)-方法
每一个类中都有一个默认的、隐藏的、无参数的构造方法,如果手动的添加了一个带参数的构造方法,那么默认的无参数的构造方法将会消失,如果还想继续使用这个默认无参数的构造方法,必须手动的写出来。方法重载好处:在调用的时候需要用哪个方法,就调用哪一个。每一个类中都有一个默认的、隐藏的、无参数的构造方法。原创 2023-08-20 16:51:52 · 64 阅读 · 0 评论 -
JavaSE面向对象(一)-面向对象编程入门
系统中还有很多的类…使用现有类创建对象类名 对象引用变量名 = new 类名 ();除了使用现有API提供的类库,我们也可以自定义类。之前我们说过类是具有相同属性和相同操作的对象集合,属性就是成员变量,操作就是方法。所以,类的定义主要有两方面组成- 成员变量(属性)- 方法(行为)语法class 类名 {成员变量(属性)定义;方法定义;约定俗称的命名规则类名的首字母大写变量名和方法名的首字母小写采用驼峰命名标识。原创 2023-08-20 16:50:43 · 108 阅读 · 0 评论 -
JavaSE数组(八)-数组工具类Arrays
二分查找也称折半查找(Binary Search),它是一种效率较高的查找方法。但是,折半查找要求线性表必须采用顺序存储结构,而且表中元素按关键字有序排列。:比较两个数组中的内容是否相同。: 将数组进行升序排列。原创 2023-08-20 16:44:37 · 87 阅读 · 0 评论 -
JavaSE数组(七)-二维数组
维数组其实就是数组的数组。二维数组中的每个元素又是一个数组。二维数组的定义:二维数组的声明和赋值:二维数组的注意事项:创建二维数组的时候,一定要定义第一维的长度。写法一注意不能定义长度写法二。原创 2023-08-20 16:43:20 · 57 阅读 · 0 评论 -
JavaSE数组(六)-一维数组
概念:一组连续的存储空间,存储多个相同数据类型的值。数组英文:array数组是多个相同类型数据的组合,实现对这些数据的统一管理数组中的元素可以是任何数据类型,包括基本类型和引用类型数组属引用类型,数组中的每个元素相当于该对象的成员变量特点: - 类型相同。- 长度固定。原创 2023-08-20 16:18:18 · 61 阅读 · 0 评论 -
JavaSE-流程控制语句(五)-循环嵌套
Java循环嵌套。设外层循环次数为m次,内层为n次,则内层循环体实际上需要执行m*n次。原创 2023-08-20 16:15:54 · 73 阅读 · 0 评论 -
JavaSE-流程控制语句(四)-循环结构
for循环while循环do…while循环。原创 2023-08-20 16:13:42 · 59 阅读 · 0 评论 -
JavaSE-流程控制语句(三)-分支结构
switch(表达式)中表达式的值必须是下述几种类型之一:byte,short,char,int,枚举,String;switch尽量不要省略break语句,会造成一个“穿透”现象。break作用就是退出switch语句,可以省略,但是会出问题!注:JDK1.5提供了foreach循环,方便的遍历集合、数组元素。有while、do…案例1:根据用于指定月份,打印该月份所属的季节。如果去掉break,那么会造成“穿透”现象!根据循环条件,重复性的执行某段代码。根据条件,选择性地执行某段代码。原创 2023-08-20 16:12:35 · 70 阅读 · 0 评论 -
JAVASE-Java概述与环境搭建(二)
Java 包是一种用于组织类和接口的机制,类似于文件夹,可以将Java程序中的类组织在一起。通过使用Java 包,我们可以对类和接口进行逻辑上的分组。在Java中,每个源文件都属于一个包,源文件的第一行必须是package语句,用于指定该文件所属的包。这将使得该源文件属于com.example包。我们也可以在同一个Java文件中定义多个类,但是只能有一个public类。如果我们不指定包名,Java会将它们放在默认包中。数据类型 变量名 = 初始化值;变量是通过使用变量名来访问这块区域的。原创 2023-08-20 16:11:09 · 92 阅读 · 0 评论 -
JAVASE-Java概述与环境搭建(一)
编程就是让计算机为解决某个问题而使用某种程序设计语言编写程序代码,并最终得到结果的过程。为了使计算机能够理解人的意图,人类就必须要将需解决的问题的思路、方法、和手段通过计算机能够理解的形式告诉计算机,使得计算机能够根据人的指令一步一步去工作,完成某种特定的任务。这种人和计算机之间交流的过程就是编程。写代码的人就是软件工程师,简程程序员,自嘲的说法码农。语言:是人与人之间用于沟通的一种方式。例如:中国人与中国人用中文沟通。而中国人要和韩国人交流,就要学习韩语。计算机语言:人与计算机交流的方式。原创 2023-07-17 00:18:08 · 194 阅读 · 0 评论 -
MySQL Installer 8.0.25安装版的下载与安装
1.下载地址: https://dev.mysql.com/downloads/windows/installer/8.0.html选择对应版本及电脑操作系统:2.点击下载后不要注册登录直接选择下载3.找到下载到的mysql安装软件点击安装4.点击运行5.之后出现如下界面勾选I accpet the license terms,点击Next6.根据需求选择你要的类型,点击NextDeveloper Default 默认开发安装类型,安装MySQL服务器以及开发MySQL应用所需的工具。原创 2021-06-15 23:16:12 · 2970 阅读 · 2 评论 -
Windows环境中JDK环境变量配置
一、环境准备Windows10jdk 1.8二、下载JDK到Java的官网下载JDK安装包,地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,选择一个适合自己的JDK版本下载并安装即可,具体流程不详述。三、环境变量配置1、右键桌面上“我的电脑”>>“属性”,在弹出的页面上点击“高级系统设置”2、在弹出的“系统属性”窗口中“高级”标签页下点击“环境变量”按钮。 3、在弹出的“环境变量”窗原创 2021-06-15 19:37:47 · 1138 阅读 · 4 评论 -
JavaSE(三十四)-注解(Annotation)
1.注解的引入Annotation 中文译过来就是注解、标释的意思,在 Java 中注解是一个很重要的知识点,但经常还是有点让新手不容易理解。我个人认为,比较糟糕的技术文档主要特征之一就是:用专业名词来介绍专业名词。比如:Java 注解用于为 Java 代码提供元数据。作为元数据,注解不直接影响你的代码执行,但也有一些类型的注解实际上可以用于这一目的。Java 注解是从 Java5 开始添加到 Java的。这是大多数网站上对于Java注解,解释确实正确,但是说实在话,我第一次学习的时候,头脑一原创 2020-06-26 23:48:39 · 350 阅读 · 0 评论 -
泛型-类型通配符
类型通配符:额…说白了就是一个?。当确定集合是某种数据类型的时候,你可以写List<String>,而当不确定集合是哪一种类型的时候,就可以写成List<?>。在Java集合框架中,对于参数值是未知类型(即使用“?”通配符)的容器类,由于编译器无法预知其具体类型,所以只能读取,不能增删,但NULL是例外。如下面的代码就会编译出错public class Test6 { public static void main(String[] args) {原创 2020-06-09 00:21:03 · 333 阅读 · 0 评论 -
java内部比较器和外部比较器
外部比较器,实现comparator,重写compare,以下例子实现包含对象的集合的排序。排序时调用的函数是collections.sort(list,比较器)。import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.List;/** * @date : 2019/5/24 *///外部比较器class MyCompare implement原创 2020-06-04 12:59:52 · 458 阅读 · 0 评论 -
JavaSE(三十)-IO流-对象流
1.概述Java 提供了一种对象序列化的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中持久保存了一个对象的信息。反之,该字节序列还可以从文件中读取回来,重构对象,对它进行反序列化。对象的数据、对象的类型和对象中存储的数据信息,都可以用来在内存中创建对象。看图理解序列化:2.ObjectOutputStream类java.io.ObjectOutputStream 类,将Java对象的原始数据类型写出到文件,原创 2020-05-24 23:36:13 · 254 阅读 · 0 评论 -
JavaSE(二十九)-IO流-转换流
1.编码引出的问题在IDEA中,使用FileReader 读取项目中的文本文件。由于IDEA的设置,都是默认的UTF-8编码,所以没有任何问题。但是,当读取Windows系统中创建的文本文件时,由于Windows系统的默认是GBK编码,就会出现乱码。public class ReaderDemo { public static void main(String[] args) throws IOException { FileReader fileReader = new Fil原创 2020-05-24 23:15:49 · 358 阅读 · 0 评论