自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 IO流总结

所有的操作都在控制台进行,JDK 版本统一 1.8,代码编码统一用 UTF-8,命名风格采用驼峰式命名,变量、类的命名能够见名知意,,添加相应的注释,代码条理清晰,代码可分为多个模块。

2024-05-18 15:37:40 101

原创 IO流-其他流:数据流,序列化流

对象反序列化:把文件中的Java对象读出来。对象序列化:把对象写到Java文件中去。

2024-05-05 11:21:36 185

原创 IO流-打印流

PrintStream继承自字节输出流OutputStream,因此支持写字节数据的方法。PrintWriter继承自字符输出流Writer,因此支持写字符数据出去。打印数据的功能上是一模一样的:都是使用方便,性能高效(核心优势)PrintStream和PrintWriter的区别。

2024-05-05 09:42:27 136

原创 IO流-转换流

如果代码编码和被读取的文本文件的编码是不一致的,使用字符流读取文本文件时就会出现乱码!如果代码编码和被读取的文本文件的编码是一致的,使用字符流读取文本文件时不会出现乱码!不同编码读取出现乱码的问题。

2024-05-05 08:41:50 87

原创 缓冲流,BufferReader,BufferWriter,案例

原理:字节缓冲输入流自带了8Kb的缓冲池,字节缓冲输出流也自带了8kb的缓冲池。作用:自带8K的字符缓冲池,可以提高字符输出流写字符数据的性能。BufferedWriter(字符缓冲输出流)BufferedReader(字符缓冲输出流)字符缓冲输入流新增的功能:按照行读取字符。字符缓冲输出流新增的功能:换行。提高字节流读取数据的性能。

2024-05-04 21:46:08 267

原创 IO流-字符流

字节流:适合复制文件等,不适合读写文本文件字符流:适合读写文本文件内容。

2024-05-04 20:09:09 362 1

原创 io流,字节流概述

字节输入流:以内存为基准,来自磁盘文件/网络中的数据以字节的形式读入到内存中去的流字节输出流:以内存为基准,把内存中的数据以字节写出到磁盘文件或者网络中去的流。字符输入流:以内存为基准,来自磁盘文件/网络中的数据以字符的形式读入到内存中去的流。字符输出流:以内存为基准,把内存中的数据以字符写出到磁盘文件或者网络介质中去的流。

2024-05-04 17:01:58 385

原创 FileOutputStream

作用:以内存为基准,把内存中的数据以字节的形式写出到文件中去字节流非常适合做一切文件的复制操作任何文件的底层都是字节,字节流做复制,是一字不漏的转移完全部的字节,只要复制后的文件格式一致就没问题。

2024-05-04 17:00:17 337 1

原创 File,io 流(一)

它们都是内存中的数据容器,它们记住的数据,在断电,或者程序终止时会丢失.

2024-05-04 08:17:36 601

原创 前置知识:字符集

ASCII(American Standard Code for Information Interchange):美国信息交换标准代码,包括了英文、符号等。标准ASCII使用1个字节存储一个字符,首尾是0,总共可表示128个字符,对美国佬来说完全够用。

2024-05-03 20:42:10 390

原创 File 文件搜索,啤酒问题,删除非空文件夹

从D:盘中,搜索"QQ.exe”这个文件,找到后直接输出其位置。

2024-05-03 16:49:23 202

原创 前置知识:方法递归

递归是一种算法,在程序设计语言中广泛应用。从形式上说:方法调用自身的形式称为方法递归(recursion)。

2024-05-03 11:01:53 228

原创 Stream流入门,Stream流创建

也叫Stream流,是JDK8开始新增的一套API,可以用于操作集合或者数组的数据。

2024-05-02 20:24:28 801 2

原创 认识异常,自定义异常

Java无法为世界上所有的问题都提供异常类来代表,如果企业自己某种的问题,想通过异常类来表示,以便用异常来管理该问题,那就需要自己来自定义异常类了。自定义运行时异常自定义编译时异常1、定义一个异常类来继承RuntimeException2、重写构造器3、通过throw new 异常类(xxx)来创建异常对象并抛出编译阶段不报错,提醒不强烈,编译阶段,运行时才可能出现1、定义一个异常类继承自Exception2、重写构造器3、通过throw new 异常类(xxx)来创建异常对象并抛出。

2024-05-02 09:52:11 257 1

原创 Map系列集合的底层原理及集合嵌套

HashMap跟HashSet的底层原理是一模一样的,都是基于哈希表实现的。实际上:原来学的Set系列集合的底层就是基于Map实现的,只是Set集合中的元素只要键数据,不要值数据而已。

2024-04-30 21:31:48 113

原创 Map集合的遍历方式

Map集合称为双列集合,格式:(key1=value1,key2=value2,key3=value3,...,一次需要存一对数据做为一个元素·Map集合的每个元素"key=Value”称为一个键值对/键值对对象/-个Entry对象,Map集合也被叫做“键值对集合”.Map集合的所有键是不允许重复的,值可以重复,键和值是一一对应的关系,每一个键只能找到自己对应的值。

2024-04-23 16:31:40 490

原创 集合框架(二)前置知识

可变参数:就是一种特殊形参,定义在方法,构造器的形参列表里,格式是:“数据类型...参数名称”特点:可以不传数据给它,可以传一个或多个数据给它,也可以传一个数组给它。Collections提供的常用静态方法。②一个形参列表中可变参数只能有一个。③可变参数必须放在形参列表的最后面。①可变参数在方法内部就是一个数组。好处:常常用来灵活的接受数据。*是一个用来操作集合的工具类。可变参数的特点和好处。

2024-04-21 11:41:15 270 1

原创 LinkedHashSet的底层原理

TreeSet集合存储自定义类型的对象时,必须指定排序规则,支持以下两种方式来指定排序规则。1、如果希望记住元素的添加顺序,需要存储重复的元素,又要频繁的根据索引查询数据?*用ArrayList集合,有序,可重复,有索引,底层是基于数组的(常用2、如果希望记住元素的添加顺序,且增删首尾数据的情况较多?*用LinkedList集合(有序、可重复、有索引),底层是基于双链表实现的。3、如果不在意元素顺序,也没有重复元素需要存储,只希望增删改查都快?

2024-04-21 10:24:40 635 1

原创 Set系列集合

哈希值就是一个int类型的数值,Java中每个对象都有一个哈希值。Java中的所有对象都可以调用Object类提供的Hashcode方法,返回该对象自己的哈希值返回对象的哈希码值对象哈希值的特点:同一个对象多次调用Hashcode方法返回的哈希值是相同的不同的对象,他们的哈希码值一般不相同,但也有可能相同(哈希碰撞)

2024-04-20 22:42:31 395

原创 List集合

ArrayList集合和LinkedList集合底层采用的数据结构(存储,组织数据的方式)不同,应用场景不同。添加效率极低:可能需要把后面很多的数据后移,再添加元素,或者也可能需要进行数组的扩容。链表中的节点是独立的对象,在内存中是不连续的,每个节点包含数据值和下一个节点的地址。*特点:查询慢,增删相对快,但对首尾元素的元素进行增删改查的速度是极快的。链表的特点:①查询慢,无论查询哪个数据,都要从头开始找②链表增删相对快。特点:查询慢,增删相对快,但对首尾元素的元素进行增删改查的速度是极快的。

2024-04-20 20:52:12 723

原创 Collection的遍历方式

迭代器是用来遍历集合的专用方式(数组没有迭代器),在Java中迭代器的代表是IteratorCollection集合获取迭代器的方法。

2024-04-20 11:21:39 191

原创 正则表达式

/目标:体验一下使用正则表达式来校验数据格式的合法性//需求:校验qq的号码是否正确,要求全部是数字,不能以0开头,长度在(6,20)之间//正则表达式return qq!//1、判断QQ号码是否为null//2、判断qq号码中是否是数字i++) {//根据索引提取当前位置处的字符//判断a记住的字符,如果不是数字,qq不合法//说明qq号码是合法的任何字符\d一个数字:【0-9】\D非数字:【^0-9】\s一个空白字符\S非空白字符:【^\s】\w。

2024-04-20 09:29:34 532

原创 Jdk8新特性

Lambda表达式是JDK8新增的一种语法形式;作用:用于简化匿名内部类的代码写法。(被重写代码的形参列表)->{被重写方法的方法体代码注意:Lambad表达式只能简化函数式接口的匿名内部类什么是函数式接口?有且仅有一个抽象方法的接口。

2024-04-19 09:53:51 186 1

原创 面向对象高级(三)内部类`

是类中的五大成分之一(成员变量,方法,构造器,内部类,代码块),如果一个类定义在另一个类内部,这个类就是内部类。场景:当一个类的内部,包含了一个完整的事务,且这个事务没有必要单独设计时,就可以把这个事物设计成内部类//内部类内部类有四种形式:成员内部类、静态内部类、局部内部类、匿名内部类。

2024-04-18 10:43:32 237 1

原创 集合进阶(一)

Colleation是单列集合的祖宗,它规定的方法(功能)是全部单例集合都会继承的。集合是一种容器,用来装数据的,类似于数组,但集合的大小可变,开发中也经常使用。:按照大小默认升序排序,不重复,无索引。:添加的元素是有序,可重复,有索引。:添加的元素是无序,不重复,无索引。Collection的常用方法。Collestion常见的方法。:无序,不重复,无索引。:有序,不重复,无索引。有序,可重复,有索引。

2024-04-17 20:40:39 284 1

原创 Arrays

super T >c)对数组进行排序(支持自定义规则)使用下面这个sort方法,创建Comparator比较器接口的匿名内部类对象,然后自己制定规则。

2024-04-17 09:58:02 488 1

原创 JDK8开始新增的日期和时间

传统的时间类(Date,simpleDateFormat,Calender)存在如下问题:①设计不合理,使用不方便,很多都被淘汰了②都是可变对象,修改后会丢失最开始的时间信息③线程不安全④不能精确的纳秒,只能精确的毫秒1秒=1000毫秒;1毫秒=1000微秒;1微秒=1000纳秒。

2024-04-16 20:23:43 437 1

原创 常用API(二)JDK8之前传统的日期、时间

代表简单日期格式化,可以用来把日期对象,时间毫秒值格式化成我们想要的的形式。注意:Calender是可变对象,一旦修改,对象本身表示的时间将发生变化。*通过它可以单独获取、修改时间中的年月日,时分秒等。*代表的是系统此刻时间对应的日历。Calender日历类的常见方法。*代表的是日期和时间。

2024-04-14 16:11:35 166 1

原创 常用API(二)BigDecimal

1、用于解决浮点型运算时,出现失真的问题。BigDecimal常见的构造器和方法。

2024-04-14 09:19:35 158 1

原创 常用API(二)math、system、runtime

math代表数学,是一个工具类,里面提供的都是对数据操作的一些静态方法。system代表程序所在的系统,也是一个工具类。*math类提供的一些常见方法。*Rnutime是一个单例类。*代表程序所在的运行环境。System类常见的方法。

2024-04-13 19:22:40 217

原创 常用API(一)

StringBuilder代表可变字符串,相当于是一个容器,它里面装的字符串是可以改变的,就使用来操作字符串的。*好处:StringBuilder比String更适合做字符串的修改操作,效率会更高,代码也会更简洁。

2024-04-13 11:06:48 327

原创 常用API(一)Object类

【代码】常用API(一)Object类。

2024-04-12 21:19:04 158

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除