
JavaSE
JavaSE
又困了天哪
这个作者很懒,什么都没留下…
展开
-
JavaSE笔记15.17-IO流-练习
需求:有5个学生,每个学生有3门课的成绩;从键盘输入以下数据(包含姓名、三门课成绩),输入的格式,如zhangsan,30,40,60;计算出总成绩,并把学生的信息和计算出的总分数按高低顺序存放在磁盘文件“stud.txt”中思路:定义一个学生对象定义一个可操作学生对象的工具类(1)通过获取键盘录入一行数据,并将该行中的信息取出封装成学生对象(2)将学生对象存储到集合中,因为要对学生的总分排序,所以可以使用TreeSet(3)将集合的信息写入到一个文件中实现:import ja原创 2020-09-12 17:09:31 · 148 阅读 · 0 评论 -
JavaSE笔记15.16-IO流-字符编码
JavaSE笔记15.16-IO流-字符编码1. 字符编码解码(1)通过转换流(2)通过字符串对象2. 常见的编码表3. 例子(1)通过转换流(2)通过字符串对象1. 字符编码解码(1)通过转换流通过转换流InputStreamReader和OutputStreamWriter来完成,在两个对象进行构造时可加入字符集。//创建使用给定字符集的InpuStreamReaderInputStreamReader(InputStream in,Charset cs);//创建使用给定字符集的Outpu原创 2020-09-12 17:09:12 · 387 阅读 · 0 评论 -
JavaSE笔记15.15-IO流-操作字节数组
JavaSE笔记15.15-IO流-操作字节数组1. ByteArrayInputStream2. ByteArrayOutputStream3. 例子1. ByteArrayInputStream在构造时需要接收数据源,数据源是一个字节数组该流对象没有使用系统资源,操作的是数组关闭ByteArrayInputStream无效,此类中的方法在关闭此流后仍可被调用构造方法//创建一个ByteArrayInputStream,使用buf作为其数据来源ByteArrayInputStream(b原创 2020-09-12 17:08:50 · 183 阅读 · 0 评论 -
JavaSE笔记15.14-IO流-操作基本数据类型
JavaSE笔记15.14-IO流-操作基本数据类型一. 构造方法二. 常用方法三. 例子操作基本数据类型:DataInputStream和DataOutputStream一. 构造方法//创建使用指定的底层InputStream的DataInputStreamDataInputStream(InputStream in);//创建一个新的数据输出流,以将数据写入指定的底层输出流OutputStreamDataOutputStream(OutputStream out);二. 常用方法读取原创 2020-09-12 17:08:23 · 117 阅读 · 0 评论 -
JavaSE笔记15.13-IO流-RandomAccessFile
JavaSE笔记15.13-IO流-RandomAccessFile一. 概述二. 构造方法三. 操作内部指针的方法四. 例子一. 概述public class RandomAccessFile extends Object该类的实例支持读取和写入随机访问文件该类不是IO体系中的子类,而是直接继承自Object;但它是IO包中的成员,因为它具备读和写的功能(具备读写功能的原理是,其内部封装了字节输入流和字节输出流)内部封装了一个数组,可以通过指针对数组的元素进行操作二. 构造方法通过构造方原创 2020-09-12 17:07:58 · 209 阅读 · 0 评论 -
JavaSE笔记15.12-IO流-管道流
JavaSE笔记15.12-IO流-管道流一. 概述1. PipedInputStream构造方法特有方法2. PipedOutputStream构造方法特有方法3. 注意事项二. 例子一. 概述1. PipedInputStream管道输入流,应连接到管道输出流,管道输入流提供要写入管道输出流的所有数据字节构造方法//创建尚未链接的PipedInputStreamPipedInputStream();//创建一个尚未连接的PipedInputStream,并对管道缓冲区使用指定的管道大小P原创 2020-09-01 22:57:51 · 288 阅读 · 0 评论 -
JavaSE笔记15.11-IO流-序列化流和反序列化流
JavaSE笔记15.11-IO流-序列化流和反序列化流一. 概述二. 方法1. 构造方法2. 特有成员方法3. 注意事项三. Serializable接口1. Serializable接口2. serialVersionUID常量四. 例子一. 概述ObjectOutputStream序列化流,以流的方式将对象以文件的形式保存到本地硬盘中ObjectInputStream反序列化流,将之前使用ObjectOutputStream序列化的原始数据恢复为对象,以流的方式读取对象二. 方法1. 构原创 2020-08-22 10:37:42 · 278 阅读 · 0 评论 -
JavaSE笔记15.10-IO流-SequenceInputStream
JavaSE笔记15.10-IO流-序列流一级目录二级目录三级目录一级目录二级目录三级目录原创 2020-08-22 10:37:03 · 224 阅读 · 0 评论 -
JavaSE笔记15.9-IO流-打印流
JavaSE笔记15.9-IO流-打印流一. 概述二. 应用一. 概述打印流提供了打印方法,可以将各种数据类型的数据都原样打印。字节打印流PrintStream构造函数可以接收的参数类型:File:File对象String:字符串路径OutputStream:字节输出流字符打印流PrintWriter构造函数可以接收的参数类型:File:File对象String:字符串路径OutputStream:字节输出流Writer:字符输出流二. 应用import java.io原创 2020-08-19 20:07:29 · 112 阅读 · 0 评论 -
JavaSE笔记15.8-IO流-Properties
JavaSE笔记15.8-IO流-Properties一. 概述二. 常用方法三. 和IO流结合的方法四. Properties练习一. 概述Properties是HashTable的子类,具备Map集合的特点,并且存储的键值对都是字符串是集合中和IO技术相结合的集合容器该对象的特点:可以用于键值对形式的配置文件二. 常用方法//获取指定键的属性值String getProperty(String key);//设置键值对Object setProperty(String key,St原创 2020-08-19 20:07:03 · 143 阅读 · 0 评论 -
JavaSE笔记15.7-IO流-File类
JavaSE笔记15.7-IO流-File类一. 概述二. 构造方法及常用变量三. 常用方法1. 创建2. 删除3. 判断4. 获取5. 重命名6. 例子四. 文件列表功能1. list(FilenameFilter)方法的原理2. 例子五. 列出目录下所有内容--递归六. 删除带内容的目录--递归七. 创建java文件列表文件一. 概述File类用来将文件或者文件夹封装成对象,方便对文件或文件夹进行操作File对象可以作为参数传递给流的构造函数File类不能访问文件内容本身,如果需要访问文件内原创 2020-08-18 23:53:56 · 375 阅读 · 0 评论 -
JavaSE笔记15.6-IO流-转换流
JavaSE笔记15.6-IO流-转换流一. InputStreamReader类1. 定义2. 构造方法二. OutputStreamWriter类1. 定义2. 构造方法3. 例子一. InputStreamReader类1. 定义public class InputStreamReader extends ReaderInputStreamReader是Reader的子类,用于将字节流转换成字符流能使用指定的字符集读取字节并将其解码为字符如果不指定字符集,该解码过程将使用平台默认的字符原创 2020-08-18 23:53:38 · 152 阅读 · 0 评论 -
JavaSE笔记15.5-IO流-系统流
JavaSE笔记15.5-IO流-系统流一级目录二级目录三级目录一级目录二级目录三级目录原创 2020-08-18 23:53:27 · 151 阅读 · 0 评论 -
JavaSE笔记15.4-IO流-字节流
JavaSE笔记15.4-IO流-字节流一. OutputStream1. OutputStream的常见子类2. OutputStream的常用方法3. FileOutputStream(1)概述(2)构造方法(3)使用FileOutputStream的步骤(4)使用FileOutputStream的例子4. BufferedOutputStream(1)概述(2)构造方法(3)使用BufferedOutputStream的步骤二. InputStream1. InputStream的常见子类2. Inp原创 2020-08-18 23:53:09 · 389 阅读 · 0 评论 -
JavaSE笔记15.3-IO流-装饰设计模式
JavaSE笔记15.3-IO流-装饰设计模式1. 定义2. 用法3. 装饰和继承的区别4. 例子1. 定义当想要对已有的对象进行功能增强时,可以定义类,将已有的对象传入,基于已有的功能,提供增强功能。那么自定义的该类称为装饰类。2. 用法(1)装饰类通常会通过构造方法接收被装饰的对象,并基于被装饰对象的功能,提供更强的功能(2)装饰类因为增强已有对象,具备的功能和已有的是相同的,只不过提供了更强功能。所以装饰类和被装饰类通常都是属于一个体系中的//被装饰类class Person{原创 2020-08-18 23:52:59 · 96 阅读 · 0 评论 -
JavaSE笔记15.2-IO流-字符流
JavaSE笔记15.2-IO流-字符流一. Writer1. Writer的常见子类2. Writer的常用方法3. FileWriter4. BufferedWriter二. Reader1. Reader的常见子类2. Reader的常用方法3. FileReader4. BufferedReader一. WriterWriter类是所有字符输出流的父类,是一个抽象类,不能直接通过new进行实例化,可通过实例化子类创建对象。1. Writer的常见子类BufferedWriter:缓冲字符输原创 2020-08-18 23:52:47 · 684 阅读 · 0 评论 -
JavaSE笔记15.1-IO流-概述
JavaSE笔记15.1-IO流-概述一. 流的概念二. 流的分类1. 输入流和输出流2. 字节流和字符流3. 节点流和处理流三. IO流类图结构一. 流的概念流是一组有顺序的,有起点和终点的字节集合,是对数据传输的总称或抽象。IO流用来处理设备(内存、硬盘等)之间的数据传输。二. 流的分类根据数据流向分类:输入流、输出流根据数据单元分类:字节流、字符流根据功能分类:节点流、处理流1. 输入流和输出流输入流:程序从数据源中读取数据输出流:将数据从程序中写到预期的目的地2. 字节流和字符原创 2020-08-18 23:52:26 · 250 阅读 · 0 评论 -
JavaSE笔记14-Date、Calendar、DateFormat、SimpleDateFormat
JavaSE笔记14-Date、Calendar、DateFormat、SimpleDateFormatDate1. 概述2. 构造方法3. 常用方法Calendar1. 概述2. 创建Calendar对象3. 常用方法4. 例子及练习Date1. 概述public class Date extends ObjectDate 类表示系统特定的时间戳,可以精确到毫秒Date 对象表示时间的默认顺序是星期、月、日、小时、分、秒、时区、年2. 构造方法//分配Date对象并初始化此对象,可获取本原创 2020-08-18 23:51:42 · 168 阅读 · 0 评论 -
JavaSE笔记13-Runtime类
JavaSE笔记13-Runtime类1. 概述2. 执行命令3. 杀死进程1. 概述public class Runtime extends Objcet运行时对象该类没有提供构造函数,不可创建对象但该类提供了getRuntime方法来获取本类对象,该方法是静态的并返回本类类型由这个特点可以看出该类使用了单例设计模式//返回与当前应用程序关联的运行时对象public static Runtime getRuntime();2. 执行命令//在单独的进程中执行指定的字符串命令//原创 2020-08-18 23:51:01 · 127 阅读 · 0 评论 -
JavaSE笔记3-程序流程控制
一. 判断结构if else结构简写格式: 变量=(条件表达式)?表达式1:表达式2;三元运算符:优点:可以简化if else代码缺点:因为是一个运算符,所以运算完必须有一个结果class IfTest{ public static void main(String[] args) { //根据数据打印相应的星期 int num=2; if(num==1) ...原创 2019-11-24 18:35:54 · 132 阅读 · 0 评论 -
JavaSE笔记2-Java语言基础组成
一. 关键字所有字母都为小写原创 2019-11-24 14:41:47 · 128 阅读 · 0 评论 -
JavaSE笔记1-基础
一. 基本常识1. 人机交互方式图形化界面、命令行方式2. DOS命令行dir列出当前目录的文件及文件夹md创建目录rd删除目录(删除文件夹前需先删除文件)cd进入指定目录cd…退回到上一级目录cd\退回到根目录del删除文件exit退出DOS命令行二. Java的跨平台性1. Java语言的三种技术架构J2EE:Java 2 Platform Enterprise E...原创 2019-11-20 23:08:38 · 162 阅读 · 0 评论 -
JavaSE笔记7.4-多线程-死锁
1. 多线程死锁同步中嵌套同步,而锁却不同,导致锁无法释放2. 代码class Ticket implements Runnable{ private int num=500; Object obj=new Object(); boolean flag=true; public void run(){ if(flag){ ...原创 2020-02-16 22:07:19 · 157 阅读 · 0 评论 -
JavaSE笔记7.3-多线程-多线程的安全问题
一. 引入class Ticket implements Runnable{ private int num=100; public void run() { while(true) { if(num>0) { try{ ...原创 2020-02-16 17:22:19 · 243 阅读 · 0 评论 -
JavaSE笔记7.2-多线程-创建线程
一. 方法1:继承Java.lang.Thread类通过对API的查找,Java已经提供了对线程这类事物的描述,就是Java.lang.Thread类.。1. 步骤继承Thread类复写Thread类中的run方法将自定义的代码存储在run方法,让线程运行调用线程的start方法该方法有2个作用:启动线程&调用run方法class Demo extends ...原创 2020-02-14 17:08:28 · 221 阅读 · 0 评论 -
JavaSE笔记7.1-多线程-概述
一. 进程和线程进程:是一个正在执行中的程序。每一个进程执行都有一个执行的顺序,该顺序就是一个执行路径,或者叫一个控制单元。线程:就是进程中的一个独立的控制单元。线程在控制着进程的执行。一个进程中至少有一个线程。二. Java的运行进程javac.exe:Java的编译进程java.exe:Java的运行进程Java JVM启动的时候会有一个进程java.exe该进程中至少有...原创 2020-02-04 22:03:56 · 1266 阅读 · 0 评论 -
JavaSE笔记6.14-面向对象-异常
一. 异常的概述1. 什么是异常异常:程序在运行过程中发生的由于外部问题导致的程序异常事件,发生的异常会中断程序的运行。Java 通过面向对象的方法来处理异常。在一个方法的运行过程中,如果发生了异常,则这个方法会产生代表该异常的一个对象,并把它交给运行时的系统,运行时系统寻找相应的代码来处理这一异常。2. 异常的类型Throwable有两个体系:Exception(异常)和Error(...原创 2020-01-12 23:16:15 · 251 阅读 · 0 评论 -
JavaSE笔记6.13-面向对象-内部类
一. 概述1. 定义将一个类定义在另一个类的里面,对里面那个类就称为内部类(内置类、嵌套类)。当描述事物时,事物的内部还有事物,该事物用内部类来描述。2. 访问规则(互访)(1)内部类可以直接访问外部类中的成员(包括私有)之所以可以直接访问外部类中的成员,是因为内部类中持有一个外部类的引用。该引用的写法是:外部类名.this(2)外部类要访问内部类,必须建立内部类的对象clas...原创 2020-01-07 23:26:51 · 161 阅读 · 0 评论 -
JavaSE笔记6.12-面向对象-Object类
1. 概述类Object是类层次结构根类,每个类都使用Object作为超类。所有对象(包括数组)都实现这个类的方法。class Demo //extends Object{ //除了有默认构造函数 //还继承了类Object的所有方法}这里主要总结Object类中的三个常用方法:equals()、toString()、hashCode()。2. equals()2.1 基本应...原创 2020-01-07 23:25:22 · 162 阅读 · 0 评论 -
JavaSE笔记6.11-面向对象-多态
一. 概念1. 引入可以理解为事物存在的多种体现形态。人:男人、女人动物:猫、狗猫 x=new 猫();动物 x=new 猫();abstract class Animal{ abstract void eat();}class Cat extends Animal{ public void eat() { System.out.println("吃鱼"); }...原创 2020-01-07 23:24:38 · 368 阅读 · 0 评论 -
JavaSE笔记6.10-面向对象-接口
一. 概述1. 定义初期理解:可以认为是一个特殊的抽象类。当抽象类中的方法都是抽象的,那么该类可以通过接口的形式来表现。class用于定义类interface用于定义接口2. 格式(1)接口中常见定义:常量&抽象方法(2)接口中的所有成员都有固定修饰符常量:public static final方法:public abstract接口中的成员都是public的3. ...原创 2020-01-07 23:24:00 · 184 阅读 · 0 评论 -
JavaSE笔记6.9-面向对象-模板方法设计模式
1. 需求需求:获取一段程序运行的时间。原理:获取程序开始和结束的时间并相减。获取时间:System.currentTimeMillis();System.currentTimeMillis():产生一个当前的毫秒,这个毫秒其实就是自1970年1月1日0时起的毫秒数。2. 例子1class GetTime{ public void getTime() { ...原创 2020-01-07 23:23:13 · 126 阅读 · 0 评论 -
JavaSE笔记6.8-面向对象-抽象类
1. 定义抽象就是从多个事物中将共性的、本质的内容抽取出来。2. 抽象方法的由来当多个类中出现相同功能,但是功能主体不同。这时可以进行向上抽取。这时只抽取功能定义,而不抽取功能主体。3. 特点抽象方法必须存放在抽象类中抽象方法和抽象类都必须被abstract关键字修饰abstract class Student{ abstract void study();}...原创 2020-01-07 23:21:40 · 126 阅读 · 0 评论 -
JavaSE笔记6.7-面向对象-final关键字
final:最终,作为一个修饰符。原创 2020-01-07 23:20:38 · 138 阅读 · 0 评论 -
JavaSE笔记6.6-面向对象-继承
一. 概述原创 2019-12-29 23:28:20 · 164 阅读 · 0 评论 -
JavaSE笔记6.5-面向对象-单例设计模式
一. 概述1. 设计模式解决某一类问题最行之有效的方法。Java中有23种设计模式。2. 单例设计模式实现一个类在内存只存在一个对象想要保证对象唯一:(1)为了避免其他程序过多建立该类对象,先禁止其他程序建立该类对象。(2)为了让其他程序可以访问到该类对象,只好在本类中自定义一个对象。(3)为了方便其他程序对自定义对象的访问,可以对外提供一些访问方式。用代码体现:(1)将构造...原创 2019-12-09 22:58:59 · 193 阅读 · 0 评论 -
JavaSE笔记6.4-面向对象-对象的初始化&调用过程
class Person{ private Person(){} private String name = "hah"; private int age; private static String country = "cn"; Person(String name,int age) { this.name = name; this.age = age; } {...原创 2019-12-09 20:44:04 · 117 阅读 · 0 评论 -
JavaSE笔记6.3-面向对象-this、static关键字
一. this关键字1. 用法this代表其所在函数所属对象的引用。当在函数内需要调用该函数的对象时,就用this哪个对象在调用this所在的函数,this就代表哪个对象不使用this关键字class Person{ private String name; private int age; Person(String name) { //局部变量名称与成员变量名称相...原创 2019-11-25 23:31:27 · 171 阅读 · 0 评论 -
JavaSE笔记6.2-面向对象-封装、构造函数
一. 封装1. 封装概述定义是指隐藏对象的属性和实现细节,仅对外提供公共访问方式好处将变化隔离;便于使用;提高重用性;提高安全性;封装原则将不需要对外提供的内容都隐藏起来;把属性都隐藏,提供公共方法对其访问2. private关键字是一个权限修饰符用于修饰成员(成员变量和成员函数)被私有化的成员只在本类中有效3. 注意私有仅仅是封装的一种表现形式。之所...原创 2019-11-25 21:04:20 · 107 阅读 · 0 评论 -
JavaSE笔记6.1-面向对象-概述
一. 面向对象概述原创 2019-11-25 20:35:56 · 196 阅读 · 0 评论