![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java
文章平均质量分 67
添砖 Java
唯有知识,让我们免于平庸。
展开
-
Java学习笔记③⑤(打印流、PrintStream类)
一、打印流1.概述2.PrintStream类package Day01.demo04;import java.io.FileNotFoundException;import java.io.PrintStream;/* java.io.PrintStream:打印流 PrintStream 为其他输出流添加了功能,使它们能够方便地打印各种数据值表示形式。 PrintStream特点: 1、只负责数据的输出,不负责数据的读取原创 2021-07-21 21:24:11 · 193 阅读 · 0 评论 -
Java学习笔记③④(概述、ObjectOutputStream类、ObjectInputStream类、transient关键字、InvalidClassException异常、练习:序列化集合)
一、序列化1.概述2.ObjectOutputStream类Preson类:package Day01.demo04;import java.io.Serializable;/* 序列化和反序列化的时候,会抛出NotSerializableException没有序列化异常 类通过实现 Java.io.Serializable 接口以启用其序列化功能。未实现此接口的类将无法使用其任何状态的序列化或反序列 Serialization接口也叫标记型接口原创 2021-07-21 15:30:54 · 135 阅读 · 0 评论 -
Java学习笔记③③(转换流、字符编码和字符集、 编码引出的问题、InputStreamReader类、OutputStreamWriter类、练习:转换文件编码)
一、转换流1. 字符编码和字符集字符编码:就是一套自然语言的字符与二进制数之间的对应规则编码表:生活中文字和计算机中二进制的对应规则字符集:也叫编码表。是一个系统支持的所有字符的集合,包括各国家文字、标点符号、图形符号、数字等2. 编码引出的问题3. InputStreamReader类package Day01.demo03;import java.io.FileInputStream;import java.io.IOException;import java.原创 2021-07-18 19:32:48 · 192 阅读 · 0 评论 -
Java学习笔记③②(缓冲流、字节缓冲输入出流、使用缓冲字节流复制文件、字符缓冲输入出流、使用HashMap/缓冲流对文本进行排序练习)
一、缓冲流1. 概述缓冲流,也叫高效流,是对4个基本的 FileXxx 流的增强,所以也是4个流,按照数据类型分类:字节缓冲流: BufferedInputStream , BufferedOutputStream字符缓冲流: BufferedReader , BufferedWriter缓冲流的基本原理,是在创建流对象时,会创建一个内置的默认大小的缓冲区数组,通过缓冲区读写,减少系统IO次数,从而提高读写的效率。2. 字节缓冲输出流package Day01.demo02;im原创 2021-06-06 13:05:21 · 202 阅读 · 0 评论 -
Java学习笔记③①(IO异常的处理、 使用try...catch...finally代码块、JDK7和JDK9流中异常的处理、属性集、Properties集合中的方法)
1原创 2021-06-04 13:59:54 · 160 阅读 · 0 评论 -
Java学习笔记③⑩(字符流、flush()和close()的区别、其他写数据的方法、续写和换行)
一、字符流当使用字节流读取文本文件时,可能会有一个小问题。就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储。所以Java提供一些字符流类,以字符为单位读写数据,专门用于处理文本文件。1. 字符输入流【Reader】java.io.Reader抽象类是用于读取字符流的所有类的超类。public void close() :关闭此流并释放与此流相关联的任何系统资源。public int read() : 从输入流读取一个字符。public int rea原创 2021-05-30 20:05:08 · 340 阅读 · 0 评论 -
Java学习笔记②⑨(IO流、字节流、FileStream类、字节流练习)
一、IO流1. 概述生活中,你肯定经历过这样的场景。当你编辑一个文本文件,忘记了 ctrl+s ,可能文件就白白编辑了。当你电脑上插入一个U盘,可以把一个视频,拷贝到你的电脑硬盘里。那么数据都是在哪些设备上的呢?键盘、内存、硬盘、外接设备等等。我们把这种数据的传输,可以看做是一种数据的流动,按照流动的方向,以内存为基准,分为 输入input 和 输出output ,即流向内存是输入流,流出内存的输出流。Java中I/O操作主要是指使用java.io包下的内容,进行输入、输出操作。输入也叫做原创 2021-05-22 21:40:42 · 218 阅读 · 0 评论 -
Java学习笔记②⑧(递归,练习,文件搜索,使用过滤器优化)
一、递归1. 概述原创 2021-05-16 15:56:41 · 283 阅读 · 0 评论 -
Java学习笔记②⑦(File类、常用方法)
一、File类1. 概述java.io.File类文件和目录路径名的抽象表示形式。java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作我们可以使用File类的方法创建一个文件/文件夹删除文件/文件夹获取文件/文件夹判断文件/文件夹是否存在对文件夹进行遍历获取文件的大小File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法重点:记住这三个单词file:文件directory:文件夹/目录path:路径原创 2021-05-09 15:58:13 · 178 阅读 · 3 评论 -
Java学习笔记②⑥(函数式编程思想概述、冗余的Runnable代码、编程思想转换、Lambda表达式)
一、函数式编程思想概述二、冗余的Runnable代码package day03.Demo06;//使用实现了Runnable接口的方式实现多线程程序public class Demo06Runnable { public static void main(String[] args) { //创建Runnable接口的实现类对象 RunnableImpl run = new RunnableImpl(); //创建Thread类对象,构造方原创 2021-04-30 10:06:48 · 167 阅读 · 0 评论 -
Java学习笔记②⑤(线程状态、等待唤醒机制、线程池)
一、线程状态概述1. 等待唤醒案例等待唤醒案例线程之间的通信:创建一个顾客线程(消费者):告知老板要的包子的种类和数量,调用wait方法,放弃cpu的执行,进入到WAITINGI状态(无限等待)创建一个老板线程(生产者):花了5秒做包子,做好包子之后,调用notify方法,唤醒顾客吃包子注意:顾客和老板线程必须使用同步代码块包裹起来,保证等待和唤醒只能有一个在执行同步使用的锁对象必须保证唯一只有锁对象才能调用wait和notify方法oberst类中的方法:void wait原创 2021-04-19 23:59:11 · 124 阅读 · 0 评论 -
Java学习笔记②④( 线程安全问题产生的概述、原理以及解决线程安全问题的三种方法)
一、线程安全1. 线程安全问题概述原创 2021-04-18 19:41:11 · 190 阅读 · 1 评论 -
Java学习笔记②③(多线程并发与并行、线程与进程、多线程原理、线程的常用方法、创建多线程程序的两种方式、Thread和Runnable的区别、匿名内部类方式实现线程的创建)
一、多线程1.并发与并行2. 线程与进程原创 2021-04-11 19:47:32 · 185 阅读 · 2 评论 -
Java学习笔记②②(Objects非空判断、throws关键字、Throwable类中3个异常处理的方法、finally代码块、异常注意事项、自定义异常类)
一、Objects非空判断Objects类中的静态方法:public static < T > requireNonNull(T obj):查看指定引用对象不是null。源码:public static < T > T requireNonNull(T obj) {if (obj == null)throw new NullPointerException();return obj;}package day02.demo01;import java.u原创 2021-03-30 23:12:03 · 199 阅读 · 0 评论 -
Java学习笔记②①(异常分类、异常的产生过程解析、异常的处理)
一、异常分类java.lang.原创 2021-03-28 19:43:07 · 78 阅读 · 0 评论 -
Java学习笔记②⑩(JDK9的新特性、Debug追踪、斗地主案例的需求分析(双列))
一、JDK9的新特性JDK9的新特性:List接口,Set接口,Map接口:里边增加一个静态的方法of,可以给集合一次性添加多个元素static < E > list< E > of (E …elements)使用前提:当集合中存储的元素的个数已经确定了,不再改变时使用注意:of方法只适用于List接口,Set接口,Map接口,不适用于接接口的实现类of方法的返回值是一个不能改变的集合,集合不能再使用add,put方法添加元素,会抛出异常Set接口和Map接原创 2021-03-21 19:10:49 · 78 阅读 · 0 评论 -
Java学习笔记①⑨(Map接口Map集合遍历键找值方式、Entry键值对对象、Map集合遍历键值对方式、HashMap存储自定义类型的键值、LingkedHashMap集合、Hashtable集合)
1原创 2021-03-13 12:07:25 · 272 阅读 · 0 评论 -
Java课程设计之记事本(实现新建、打开、保存、另存为、退出、右键弹出菜单、编辑、查找与替换、字体、格式、快捷键、时间与日期、状态栏、帮助功能)
package day02.demo05;import javax.swing.*;import javax.swing.event.*;import javax.swing.undo.CannotUndoException;import javax.swing.undo.UndoManager;import java.awt.*;import java.awt.datatransfer.Clipboard;import java.awt.datatransfer.DataFlavor;i原创 2021-01-26 23:08:54 · 3028 阅读 · 2 评论 -
Java学习笔记⑱(Collections集合工具类的方法)
一、Collections集合工具类的方法原创 2020-12-13 18:27:30 · 174 阅读 · 0 评论 -
Java学习笔记⑰(HashSet集合介绍、哈希值、HashSet集合存储数据的结构、存储元素不重复的原理、HashSet集合存储自定义类型元素、LinkedHashSet集合、可变参数)
一、HashSet集合介绍java.util.Set接口 extends Collection 接口Set接口的特点:不允许存储重复的元素没有索引,没有带索引的方法,也不能使用普通的for循环遍历Java.util.HashSet集合 implements Set接口HashSet特点:不允许存储重复的元素没有索引,没有带索引的方法,也不能使用普通的for循环遍历是一个无序的集合,存储元素和取出元素的顺序有可能不一致底层是一个哈希表结构(查询的速度非常的快)pack原创 2020-12-06 16:45:18 · 224 阅读 · 0 评论 -
Java学习笔记⑯(数据结构栈(队列、数组、链表、红黑树),List集合(List集合介绍以及常用方法、LinkList集合))
一、数据结构1. 栈和队列2. 数组3. 链表4. 红黑树原创 2020-11-29 19:53:02 · 294 阅读 · 0 评论 -
Java学习笔记⑮(泛型的概念、定义和使用含有泛型的类、定义和使用含有泛型的方法、定义和使用含有泛型的接口、泛型通配符、斗地主案例的需求分析及代码实现)
一、泛型1. 泛型的概念package day16.demo01;import java.util.ArrayList;import java.util.Iterator;public class Demo01Generic { public static void main(String[] args) { //show01(); show02(); } /* 创建集合对象,使用泛型 好处:原创 2020-11-22 19:32:25 · 139 阅读 · 1 评论 -
Java学习笔记⑭(包装类(装箱、拆箱,自动装箱与自动拆箱,基本类型与字符串之间的转换),Collection集合(集合概述,集合框架介绍,Collection集合常用功能),Iterator迭代器)
一、包装类包装类的概念原创 2020-11-15 16:52:02 · 113 阅读 · 0 评论 -
Java学习笔记⑬(Calendar类、Calendar类常用的成员方法、System类的常用方法、StringBuilder的原理、StringBuilder的常用方法)
m;’/原创 2020-11-07 14:40:58 · 138 阅读 · 0 评论 -
Java学习笔记⑫(Date类、毫秒值的概念与作用、DateFormat类、计算出生多久)
一、Date类毫秒值的概念与作用:Java.until.Date:表示日期和时间的类类Date表示特定的瞬间,精确到毫秒毫秒:千分之一秒 1000毫秒=1秒特定的瞬间:一个时间点,一刹那时间毫秒值的作用:可以对时间和日期进行计算2099-01-03到2088-01-01,中间一共有几天可以日期转换为毫秒进行计算,计算完毕,再把毫秒转换为日期把毫秒转换为日期:一天=246060=86400秒=86400*1000=86400000毫秒package day13.demo01;原创 2020-11-01 17:57:09 · 823 阅读 · 0 评论 -
Java学习笔记⑪(Object类,toString方法,equals方法)
一、Object类toString方法:java.lang.object类object是类层次结构的根(父)类每个类(Person,Student…)都使用Object作为超(父)类所有对象(包括数组)都实现这个类的方法package day12.demo01;import java.util.ArrayList;import java.util.Random;import java.util.Scanner;public class Demo01ToString { p原创 2020-10-25 16:38:12 · 121 阅读 · 0 评论 -
Java学习笔记⑩(final关键字、内部类)
一、final关键字final关键字代表最终、不可改变的。常用的四种方法:可以用来修饰一个类可以用来修饰一个方法还可以用来修饰一个局部变量还可以用来修饰一个成员变量不能使用一个final类来作为父类final关键字用于修饰类:当final关键字用来修饰一个类的时候,格式:public final class 类名称 {//…}含义:当前这个类不能有任何的子类。(太监类)注意:一个类如果是final的,那么其中所有的成员方法都无法进行覆盖重写(因为没儿子。)pac原创 2020-10-18 19:52:32 · 164 阅读 · 3 评论 -
Java学习笔记⑨(接口、多态的概述、笔记本USB接口案例)
一、接口接口就是多个类的公共规范接口是一种引用数据类型,最重要的内容就是其中的:抽象方法。如何定义一个接口的格式public interface 接口名称 {//接口内容}备注:换成了关键字interface之后,编译生成的字节码文件仍然是:.java–>.class如果是Java7,那么接口中可以包含的内容有:常量抽象方法如果是Java8,还可以额外包含有:默认方法静态方法如果是Java9,还可以额外包含有:私有方法在任何版本的Java中原创 2020-10-11 18:16:55 · 159 阅读 · 2 评论 -
Java学习笔记⑧(继承、抽象、发红包案例)
一、继承继承的格式:在继承的关系中,“子类就是一个父类”也就是说,子类可以被当做父类看待。例如父类是员工,子类是讲师,那么“讲师就是一个员工”。定义父类的格式:(一个普通的类定义)public class 父类名称 {//…}定义子类的格式:public class 子类名称 extends 父类名称 {//…}package cn.itcast.day09.demo01;public class Demo0lExtends { public static vo原创 2020-10-04 19:39:33 · 139 阅读 · 0 评论 -
Java学习笔记⑦(字符串、静态static关键字)
一、字符串java.lang.String类代表字符串。API当中说,Java程序中的所有字符串字面值(如“abc”)都作为此类的实例实现.。其实就是说:程序当中所有的双引号字符串,都是String类的对象。(就算没有new,也照样是。)字符串的特点:字符串的内容永不可变。 【重点】正是因为字符串不可改变,所以字符串是可以共享使用的。字符串效果上相当于是char[]字符数组,但是底层原理是byte[]字节数组。创建字符串的常见3+1种方式。三种构造方法:public String原创 2020-09-27 10:23:42 · 249 阅读 · 0 评论 -
Java学习笔记⑥(scanner的使用、Random的使用、ArrayList集合)
一、scanner的使用package cn.itcast.day07.demo01;import java.util.Scanner;//1.导包Scanner类的功能:可以实现键盘输入数据,到程序当中。引用类型的一般使用步骤:导包import 包路径.类名称;如果需要使用的目标类,和当前类位于同一个包下,则可以省略导包语句不写。只有java.lang包下的内容不需要导包,其他的包都需要import语句。创建类名称 对象名 = new 类名称();使用对象名.成员方法名()获取键原创 2020-09-19 22:08:39 · 162 阅读 · 0 评论 -
Java学习笔记⑤(面向对象中的构造方法和标准的类)
一、面向对象面向过程:当需要实现一个功能的时候,每一个具体的步骤都要亲力亲为,详细处理每一个细节。面向对象:当需要实现一个功能的时候,不关心具体的步骤,而是找一个已经具有该功能的人,来帮我做事儿。public class Demo01PrintArray { public static void main(String[] args) { //要求打印格式为:[10,20,30,40,50] //使用面向过程,每个步骤细节都要亲力亲为。 System.out. print("["); f原创 2020-09-13 19:43:06 · 169 阅读 · 0 评论 -
Java学习笔记④(方法、数组)
一、方法定义一个方法的完整格式:修饰符 返回值类型 方法名称(参数类型 参数名称...) { 方法体 return 返回值;}修饰符:现阶段的固定写法, public static返回值类型:也就是方法最终产生的数据结果是什么类型方法名称:方法的名字,规则和变量一样,小驼峰参数类型:进入方法的数据是什么类型参数名称:进入方法的数据对应的变量名称。PS:参数如果有多个,使用逗号进行分隔方法体:方法需要做的事情,若干行代码return:两个作用,第一停止当前方法,第二将后面的返回值还原创 2020-09-06 19:14:57 · 170 阅读 · 0 评论 -
Java学习笔记③(方法,编译器的两点优化,switch语句,循环结构)
一、方法定义一个方法的格式:public static void 方法名称() { 方法体}方法名称的命名规则和变量一样,使用小驼峰。方法体:也就是大括号当中可以包含任意条语句。注意事项:方法定义的先后顺序无所谓方法的定义不能产生嵌套包含关系方法定义好了之后,不会执行的。如果要想执行,一定要进行方法的【调用】如何调用方法,格式:方法名称 ();...原创 2020-08-30 19:57:06 · 203 阅读 · 0 评论 -
Java学习笔记②(数据类型转换,算术运算符)
一、数据类型转换当数据类型不一样时,将会发生数据类型转换。自动类型转换(隐式)特点:代码不需要进行特殊处理,自动完成。规则:数据范围从小到大。public class Demo01DataType { public static void main(String[] args) { System.out.println(1024);//这就是一个数,默认就是int类型 System.out.println(3.14);//这就是一浮点数,默认就是double类型//左原创 2020-08-23 17:21:49 · 167 阅读 · 0 评论 -
Java学习笔记①(命令提示符、注释、关键字与标识符、常量、基本数据类型、变量)
一、命令提示符(cmd)启动: Win+R,输入cmd回车切换盘符: 盘符名称:进入文件夹:cd 文件夹名称进入多级文件夹:cd 文件夹1 \文件夹2 \文件夹3返回上一级: cd …直接回根路径: cd 查看当前内容: dir清屏:cls退出:exit二、注释、关键字与标识符// 表示单行注释/* */ 表示多行注释public class HelloWorld {/*HelloWorld与所在的文件名名称完全一样,大小写也要一样。public class 后原创 2020-08-16 17:57:43 · 271 阅读 · 0 评论