
Java基础
Java基础
JIE结弦
这个作者很懒,什么都没留下…
展开
-
IO流常用API
字节流及其使用FileOutputStream//传入需要写入的文件路径,//续写开关是个布尔值,不写默认清空,使用true表示不清空文件FileOutputStream fos = new FileOutputStream("文件",续写开关);fos.write(需要写的数据);fis.close();//释放资源FileInputStreamFileInputStream fis = new FileInputStream("文件");fw.read(数据);fw.cl原创 2022-03-20 01:21:19 · 324 阅读 · 0 评论 -
IO流概念
什么是IO流概述 IO:输入/输出(Input/Output) 流:是一种抽象概念,就是数据传输的过程 IO流就是用来传输数据的,理解为上传和下载就行了 分类 按照数据的流向 输入流,输出流 按照数据类型来分 字节流: 以字节形式传输,万能流,速度慢但安全 字符流: 以字符传输,中文可能有乱码的问题 使用选择 纯文本文件,优先使用字符流原创 2022-03-20 00:34:49 · 455 阅读 · 0 评论 -
File类
File类概述和构造方法 概述 可以表示文件和目录的路径 文件和目录是可以通过File封装成对象 对于File封装的是路径名,所以它可以是存在的,也可以是不存在的 构造方法 方法名 说明 File(String pathname) 传入路径名的字符串,创建对象 File(String parent, String child) 传入两个字符串拼接 File(File parent, String原创 2021-12-12 01:58:36 · 165 阅读 · 0 评论 -
Stream流
Stream流 Stream流思想 将代码以流水线的形式展示 Stream流的好处 阅读性好,直接阅读代码的字面意思即可完美展示无关逻辑方式的语义 Stream流把真正的函数式编程风格引入到Java中 代码简洁,配合Lambda表达式可以省略大部分代码 Stream流的生成 获取Stream流对象 创建一条流水线,并把数据放到流水线上准备进行操作 中间方法,执行操作 一次操作完毕之后,还可以继续进行其他操作 终结方法原创 2021-12-12 01:13:19 · 256 阅读 · 0 评论 -
可变参数简介
可变参数 可变参数概述 可变参数作为方法形参使用,参数个数可以传任意数量 方法的参数类型已经确定,个数不确定,我们可以使用可变参数 可变参数实际表示数组 如果一个方法有多个形参,其中一个是可变参数,那么可变参数要放在最后 可变参数定义格式 修饰符 返回值类型 方法名(数据类型… 变量名) { } 修饰符 返回值类型 方法名(数据类型变量名1,数据类型… 变量名1) { } 例: public static void.原创 2021-12-11 23:54:22 · 546 阅读 · 0 评论 -
Map集合及其实现类
Map集合 Map集合 interface Map<K,V> K:键的类型;V:值的类型 Map集合的特点 双列集合,一个键对应一个值 键不可以重复,值可以重复 常用方法 方法名 说明 V put(K key,V value) 添加元素 V remove(Object key) 根据键删除键值对元素 void clear() 移除所有的键值对元素 boolea.原创 2021-11-30 23:27:53 · 213 阅读 · 0 评论 -
Set集合及其实现类
Set集合Set集合主要特点可以对数据去重 存取顺序不一致 没有索引,不能使用普通for循环遍历Set集合实现类TreeSet HashSetTreeSet集合TreeSet集合概述和特点 不可以存储重复元素 没有索引 可以将元素按照规则进行排序 TreeSet():根据其元素的自然排序进行排序 TreeSet(Comparator comparator) :根据指定的比较器排序 Comparable自然排序原创 2021-11-30 23:03:19 · 982 阅读 · 0 评论 -
二叉树与红黑树
二叉树二叉树 二叉树中,任意一个节点的度要小于等于2 节点: 在树结构中,每一个元素称之为节点 度: 每一个节点的子节点数量称之为度 二叉查找树 特点 每一个节点上最多有两个子节点 左子树上节点值小于根节点的值 右子树上节点值大于根节点的值 添加节点 小的存左边,大的存右边,一样的不存 平衡二叉树 特点 二叉树左右两个子树的高度差不超过1 任意节点的左右两个子树都是一颗原创 2021-11-30 22:34:47 · 250 阅读 · 0 评论 -
List与LinkedList
List基础 概述 存在索引,是一种有序集合,存取顺序 用户可以控制每个元素的插入位置,通过索引访问元素 与Set集合不同,列表通常允许重复的元素 特点 存取有序,存取有序,有索引 特有方法 方法名 描述 void add(int index,E element) 在此集合中的指定位置插入指定的元素 E remove(int index) 删除指定索引处的元素,返回被删除的元素原创 2021-11-30 22:06:29 · 980 阅读 · 0 评论 -
数据结构与泛型基础
数据结构 栈结构:先进后出 队列结构:先进先出 数组结构:查询快、增删慢 队列结构:查询慢、增删快 泛型概述 泛型是JDK5中引入的特性,它提供了编译时类型安全检测机制 泛型的好处 把运行时期的问题提前到了编译期间 避免了强制类型转换 泛型的定义格式 <类型>: 指定一种类型的格式.尖括号里面可以任意书写,一般只写一个字母.例如: <E> <T>原创 2021-11-29 15:15:14 · 524 阅读 · 0 评论 -
Collection集合
Collection集合概述: 是单例集合的顶层接口,它表示一组对象,这些对象也称为Collection的元素 JDK 不提供此接口的任何直接实现.它提供更具体的子接口(如Set和List)实现 Collection集合对象 创建对象 多态的方式 具体的实现类ArrayList,LinkedList 常用方法 方法名 说明 boolean add(E e) 添加元素 boolean原创 2021-11-22 17:30:34 · 236 阅读 · 0 评论 -
集合基本体系
数组和集合的区别: 都是存储多个数据容器 不同点 数组的长度固定,集合的长度可变 数组可以存基本数据类型和引用数据类型 集合只能存引用数据类型,如果要存基本数据类型,需要存对应的包装类 集合类体系分为(Collection)单列集合与(Map)双列集合 单列集合(Collection) List(接口类型):可重复,有两个实现类 ArrayList(实现类):数组结..原创 2021-11-22 16:42:27 · 501 阅读 · 0 评论 -
异常体系详解
异常的概述:异常就是程序出现了不正常的情况,用来描述代码中出现的问题的,语法错误不是异常体系。异常的体系结构: Throwable 包含Error和Exception Error:严重错误,程序无法解决的问题 Exception:异常类,分为编译时异常和运行时异常两部分 编译时异常 除了RuntimeException类及其子类之外的所有异常 必须显示处理,否则程序就会发生错误,无法通过编译 运行时异常 Runti原创 2021-11-22 15:48:44 · 776 阅读 · 0 评论 -
时间间隔类之Period类和Duration类
Period: 方法说明 方法名 说明 public static Period between(开始时间,结束时间) 计算两个“时间"对象之前间隔 public int getYears() 获得这段时间的年数 public int getMonths() 两个月数之前的间隔 public int getDays() 两个天数之前的间隔 public long toTotalMonths() 获取此期间的总月数原创 2021-11-18 17:30:12 · 912 阅读 · 0 评论 -
JDK8日期类 - LocalDate & LocalTime & LocalDateTime
JDK8日期类 LocalDate 表示日期(年月日) LocalTime 表示时间(时分秒) LocalDateTime 表示时间+ 日期 (年月日时分秒) LocalDateTime创建方法: 静态方法 方法名 说明 public static LocalDateTime now() 创建当前系统时间的对象 public static LocalDateTime of (年, 月 , 日, 时, 分, 秒) 使用指定参数原创 2021-11-18 16:46:06 · 1563 阅读 · 0 评论 -
时间日期类之Date类与SimpleDateFormat类
Date类: 计算机中时间原点 1970年1月1日 00:00:00,中国时区+8 概述 Date 代表了一个特定的时间,精确到毫秒 Date类构造方法 方法名 说明 public Date() 当前时间封装成Date对象 public Date(long date) 带参创建Date对象,时间原点+毫秒,考虑时差 创建对象: //当前时间Date d1 = new Date();//当前时间+指定毫秒值L.原创 2021-11-18 15:16:50 · 208 阅读 · 0 评论 -
数组的高级操作 - 查找与排序
二分查找: 概述 查找指定元素在数组中的位置时,以前的方式是通过遍历,逐个获取每个元素,看是否是要查找的元素,这种方式当数组元素较多时,查找的效率很低 二分查找也叫折半查找,每次可以去掉一半的查找范围,从而提高查找的效率 实现步骤 定义两个变量,表示要查找的范围。默认min = 0 ,max = 最大索引 循环查找,但是min <= max 计算中间索引mid的值,最大索引加最小索引除以2 判断mid位置...原创 2021-11-18 12:00:21 · 494 阅读 · 0 评论 -
包装类基础知识
基本类型包装类: 包装类的作用 将基本数据类型封装成对象,这样可以在对象中定义方法操作该数据 常用的操作之一:用于基本数据类型与字符串之间的转换 基本类型对应的包装类(首字母大写) 基本数据类型 包装类 byte Byte short Short int Integer long Long float Float double Double char Character原创 2021-11-18 10:50:47 · 133 阅读 · 0 评论 -
BigDecimal详解
作用: 可以用来进行精确计算 构造方法: 可以传入double 和String ,推荐使用String 类型 常用方法: add(BigDecimal对象):加 subtract (BigDecimal对象):减 multiply (BigDecimal对象):乘 divide (BigDecimal对象):除 divide (BigDecimal对象,精确几位,舍入模式):除 参数1:表示参与运算的BigDecim...原创 2021-11-15 17:12:47 · 1075 阅读 · 0 评论 -
Object和Objects
Object 概述 Object 是类层次结构的根,每个类都可以将 Object 作为超类。所有类都直接或者间接的继承自该类,换句话说,该类所具备的方法,所有类都会有一份 如果一个类没有指定父类,那么默认继承Object类(是所有类的爹) toString方法 重写toString方法的方式 Alt + Insert 选择toString 在类的空白区域,右键 -> Generate -> 选择to.原创 2021-11-15 16:52:28 · 151 阅读 · 0 评论 -
Math和System
Math 概述 Math 包含执行基本数字运算的方法 无构造方法,但内部的方法是静态的,则可以通过 类名.进行调用 常用方法 abs(int):返回参数的绝对值,正数的绝对值是它本身;负数的绝对值是它的相反数;零的绝对值是零 ceil(double):返回整数,向上取整 floor(double):返回整数,向下取整 round(float):返回整数,四舍五入 max(int a,int b):返回两个int值中的较大值 min(.原创 2021-11-12 16:21:54 · 361 阅读 · 0 评论 -
Lambda表达式
Lambda表达式及函数式编程思想函数式编程思想概述:在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做操作” 面向对象思想:通过对象的形式来做事情 函数式思想:忽略面向对象的复杂语法,强调做什么,而不是以什么形式去做 Lambda表达式就是函数式思想的体现标准格式: 格式:(形式参数) -> {代码块} ( ) -> { }形式参数:如果有多个参数,参数之间用逗号隔开;如果没有参数...原创 2021-11-09 22:13:33 · 96 阅读 · 0 评论 -
内部类的基本知识
内部类概述:在一个类中再定义一个类。外部类中所包含的类就是内部类 格式:class 外部类名{ 修饰符 class 内部类名{ } }访问特点: 内部类可以直接访问外部类的成员,包括私有 外部类要访问内部类的成员,必须创建对象 成员内部类: 成员内部类作为类成员,和成员方法、成员变量一个位置,在外部类大括号中 创建成员内部类格式: 外部类名.内部类名 对象名 = 外部类对...原创 2021-11-09 21:49:25 · 98 阅读 · 0 评论 -
面向对象三大特征之——多态
面向对象三大基本特征之多态。概述: 同一个对象,在不同时刻表现出来的不同形态。 多态的前提 要有继承或实现关系 要有方法的重写 要有父类引用指向子类对象,I 特点:成员访问 成员变量:编译看(左边)父类,运行看(左边)父类 成员方法:编译看(左边)父类,运行看(右边)子类 成员变量和成员方法的访问不一样,因为成员方法有重写,成员变量没有。好处和弊端: 好处:提高程序的扩展性。定义方法时候,使原创 2021-11-06 21:10:41 · 122 阅读 · 0 评论 -
接口知识详解
接口:一个类当中,所有的方法都是抽象方法,这个类就是作为制定规则的一个类,所有子类必需强制重写该类的所有方法。声明规则的就称之为接口。接口也是一种引用数据类型。 接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。 存在的意义 : 用来定义规范。 用来做功能的拓展。 接口的定义:接口用关键字interface关键字修饰;public interface 接口名 {} 接口不能创建对象, 我们可以创建接口的子类,将抽象方法重写之后进行使原创 2021-11-06 00:52:10 · 298 阅读 · 0 评论 -
代码块概述
代码块概述:在Java中,使用 { } 大括号括起来的一段代码被称为代码块。分类: 局部代码块 位置:方法中定义; 作用:限定变量的生命周期,及早释放,提高内存利用率。 构造代码块 位置:类中方法外定义; 特点:构造方法执行前执行,每次构造方法执行都会先执行该代码块; 作用:将多个构造方法中相同的代码,抽取到构造代码块中,提高代码的复用性。 静态代码块 位置:类中方法外定义;原创 2021-11-05 23:23:14 · 117 阅读 · 0 评论 -
方法重写与抽象类
方法重写:子类出现了和父类中一样的方法声明,方法名和参数列表一样; 方法重写可以沿袭父类的功能,又能定义子类特有的内容; Override注解可以用来检测当前的方法,是否是重写的方法。方法重写注意事项:私有方法不能被重写,私有成员不能被外界访问,所以不能继承; 子类重写方法访问权限不能降低(public > 默认 > 私有),必需大于等于父类; 静态方法不能被重写,如果子类也有相同的方法,不属于方法重写。fianl关键字 :final代表最终的意思,可以修饰原创 2021-11-05 23:14:37 · 426 阅读 · 0 评论 -
面向对象三大特征之——继承
继承的概念:三大基本特征:封装、继承、多态; 继承是面向对象三大特征之一,可以使子类具有父类的属性和方法,还可以在子类中重新定义方法内容。继承的特点 Java仅支持单继承,有且只有一个父类,但可以有多个子类。 Java中类支持多层继承,父类也有父类。 继承的实现与作用: 继承通过extends关键字实现; 格式:class 子类 extends 父类 { }。 继承可以让类与类之间产生子父关系,使子类能够使用父类中非私有成员。原创 2021-11-05 22:42:14 · 435 阅读 · 0 评论 -
static关键字
概述static 关键字是静态的意思,是Java中的一个修饰符,用来修饰成员方法和成员变量,使数据被共享。特点: 被类的所有对象共享 随着类的加载而加载,优先于对象存在,对象未创建时已经存在 可以通过类名调用,也可以通过对象名调用 注意事项: 静态方法只能访问静态的成员 非静态方法可以访问静态的成员,也可以访问非静态的成员 静态方法中是没有this关键字 ...原创 2021-10-28 13:52:30 · 86 阅读 · 0 评论 -
ArrayList学生管理系统的基本实现
需求:编写一个学生管理系统,可以实现对学生的信息录入,删除,修改和查看;使用ArrayList可以将每个学生对象保存在里面。然后在集合中实现。图纸类:创建图纸类用对学生对象的创建,标准格式,定义成员变量,有参无参构造,get set方法。public class Student{ private String sid ;//学号 private String name ;//姓名 private int age ;//年龄 private St.原创 2021-10-27 20:13:52 · 424 阅读 · 2 评论 -
ArrayList基础练习
需求:定义教师(Teacher)类,属性包含姓名和专业名称。将若干教师对象存入ArrayList集合中,并遍历集合打印教师信息,姓名:赵老师, 专业:javase姓名:钱老师, 专业:javaee姓名:孙老师, 专业:php姓名:李老师, 专业:python代码实现:图纸类:public class Teacher { //私有成员变量 private String name; private String course; //构造方法,成原创 2021-10-26 22:49:24 · 426 阅读 · 0 评论 -
ArrayList集合基础
ArrayList构造方法:ArrayList<e>() 创建一个初始容量为 10 的空容器。泛型<e>:是一种特殊的数据类型,泛型;<e>括号内只能写引用数据类型;给定类型用于对集合容器存储的数据类型进行限制。成员方法:add(元素): 将元素添加到集合容器的末尾;add(索引,元素) :将元素插入此列表中的指定索引位置;remove (元素):删除指定的元素,返回布尔结果,是否删除成功;remove (索引):删.原创 2021-10-26 21:48:07 · 383 阅读 · 0 评论 -
StringBuilder类
概述:String类是在Lang包下,使用时不需要导包;StringBuilder是一个字符容器,内容是可变的;直接打印该对象显示的不是地址值,而是元素内容。作用:提升字符串的拼接效率。常用方法:append(任意类型):可以添加任意数据类型,返回的是对象本身;reverse():返回相反的字符序列;length():返回长度值(字符的数量);toString():返回String类型的对象。链式编程:一个方法返回的对象是自己,那么就可以继续调.原创 2021-10-26 14:31:01 · 262 阅读 · 0 评论 -
String类详解
概述:String类是在Lang包下,Lang包属于核心包,不需要导包。在Java中,所有的双引号内容都是String这个类的对象。所以可以通过两种途径创建对方,双引号和new关键字。对象存在方式:字符串创建之后不可改变,但可以共享相同内容(常量池)。双引号对象在字符串常量池中,只有一个相同对象存在,可以多个变量指向相同对象。new关键字在堆内存中创建新对象,每new一次将创建一次新对象。字符串+操作:变量+双引号常量对象,系统底层会调用StringBuild.原创 2021-10-26 00:33:54 · 870 阅读 · 0 评论 -
手机类的练习
定义手机类:手机有品牌(brand),价格(price)和颜色(color)三个属性;需要进行私有化操作;有打电话call()和sendMessage()两个功能类中要有set/get方法。定义手机测试类:在主方法中分别使用有参和空参创建对象。提供set和get方法。调用对象的两个方法使用功能。手机类代码实现:public class Phone { //定义成员变量,私有化 private String brand,color; priva原创 2021-10-24 12:16:52 · 1809 阅读 · 1 评论 -
构造方法基础
就是在创建对象的过程中需要执行的方法。格式:public 类名(){}系统会默认创建一个构造方法原创 2021-10-24 10:54:16 · 97 阅读 · 0 评论 -
面向对象三大特征之——封装
封装:是面向对象三大特征之一(封装,继承,多态)隐藏实现过程的细节,仅暴露公共的访问方式。好处提高了代码的安全性和复用性。常见的封装体现:1、私有化成员变量,使用set get方法;2、将重复代码抽取到方法中,是对代码的一种封装;3、奖属性抽取到类中,是对数据的一种封装。...原创 2021-10-24 10:29:22 · 159 阅读 · 0 评论 -
this关键字
this关键字:代表的是所在类的对象引用。实现方法为内存地址的引用。可以调用本类的成员变量和方法,用来解决局部变量和成员变量的重名问题。当局部变量和成员变量重名的时候,java使用就近原则进行使用。所以我们需要使用this关键字进行标识。public class Student { private String name; public void setName(String name) { //使用this.修饰,表示后面的变量为成员变量,而不...原创 2021-10-24 10:10:47 · 57 阅读 · 0 评论 -
private关键字-权限修饰符
private权限修饰符:可以修饰成员变量和成员方法。特点:只能在本类大括号之内才能访问。作用:权限修饰,提高代码安全性,使用规定的方法渠道访问。提示:使用private私有化后,对象名.变量名操作成员变量将不再支持。如果需要被其它类使用,应该通过相应方法访问。应该设置再设置两个方法设置和调用方法,一般命名为set和get方法,该方法应当用public修饰public void set(传入参数){ //方法体,实现功能。可以增加逻辑判断,实现正确赋值.原创 2021-10-24 09:48:23 · 213 阅读 · 0 评论 -
面向对象基础-类和对象
类:类别,归类,种类,图纸。对事物的一种描述,可以理解为设计图纸,可以根据图纸,创建出所需要的具体对象。类的组成:属性 :成员变量。该事物的特征。在类中,方法之外定义。行为 :成员方法。能够完成的功能。没有static关键字的方法。对象:根据类图纸创建的具体个体,一个图纸可以创建多个对象。...原创 2021-10-24 09:23:53 · 70 阅读 · 0 评论