07 2022 档案

摘要:分组查询 分组查询:group by 分组字段 注意: 1,分组之后查询的字段:分组字段,聚合函数 案例; -- 分组SELECT id, AVG(pwd) FROM `user` GROUP BY pwd 分页查询 1,语法:limit 开始的索引,每页查询的条数; 案例: 每页显示3条记录 SE 阅读全文
posted @ 2022-07-31 20:06 一位程序袁 阅读(66) 评论(0) 推荐(0) 编辑
摘要:DDL_操作表_创建表 那么我们怎么创建表 图解: 我们要创建一个这个表 2,操作表 1,c(Create):创建 1,语法 create table 表名( 列名称:数据类型1, 列名称:数据类型2, .... 列名n,数据类型n ); 注意:最后一列,不需要加逗号 数据类型: int:整数类型 阅读全文
posted @ 2022-07-31 18:58 一位程序袁 阅读(48) 评论(0) 推荐(0) 编辑
摘要:DDL_操作表&删除 1,C(Create):创建 2,R(Retrieve):查询 : 3,U(Update):修改 4,D(Delete):删除 drop table 表名称; drop table if exists 表名; 我们来使用一下: DROP TABLE student; 那么就没有 阅读全文
posted @ 2022-07-31 18:57 一位程序袁 阅读(27) 评论(0) 推荐(0) 编辑
摘要:DQL_聚合函数 2.聚合函数:将—列数据作为一个整体,进行纵向的计算。1. count :计算个数 一般选择飞空的列2. max :计算最大值 3.min :计算最小值 4.sum :计算和 5. avg : 计算平均值 案例: 注意:聚合函数的计算,排除null值 解决方案: 1,选择不包含非空 阅读全文
posted @ 2022-07-27 15:44 一位程序袁 阅读(18) 评论(0) 推荐(0) 编辑
摘要:DML_修改数据 修改数据 语法: update 表名 set 列名 = 值1 列2 = 值2[where 条件] 这就是修改 DQL_排序查询 排序查询 语法:order by 子句 order by 排序字段1 排序方式1,排序字段2,排序方式2... 案例: SELECT* FROM stud 阅读全文
posted @ 2022-07-27 15:31 一位程序袁 阅读(17) 评论(0) 推荐(0) 编辑
摘要:DML_添加数据 1.添加数据 语法: insert into 表名称 (列名1,列名2...列名称n)values(值1,值2...) 我们来写一个案例: INSERT INTO student (id,name,age) VALUES (1,'大傻',18); 这就插入成功了 DML_删除数据 阅读全文
posted @ 2022-07-27 14:05 一位程序袁 阅读(16) 评论(0) 推荐(0) 编辑
摘要:操作数据库_删除&修改&使用 3,U(Update):修改 修改数据库的字符集 alter databas 数据库名称 character 字符集 4,D(Delete):删除 删除数据库 drop database 数据库名称 判断数据库是否存在,存在删除 dorp database if exi 阅读全文
posted @ 2022-07-27 10:41 一位程序袁 阅读(28) 评论(0) 推荐(0) 编辑
摘要:SQL分类 sql分类: 1)IDDL(Data Definition Language)数据定义语言用来定义数据库对象∶数据库,表,列等。关键字:create,drop,alter等 2)DML(Data Manipulation Language)数据操作语言用来对数据库中表的数据进行增删改。关 阅读全文
posted @ 2022-07-27 10:31 一位程序袁 阅读(85) 评论(0) 推荐(0) 编辑
摘要:SQL的基本概念 什么是SQL:结构化查询语言 定义了操作关系数据库的规则,每一个种数据库操作的方式存在不一样的地方,叫方言 SQL的基本语法 sql基本语法:sql语句可以以单行或者多行,以分号结尾。 可使用空格或者缩进增强语句的可读性 sql语句不去区分大小写(建议使用大写) 3种注释: 单行注 阅读全文
posted @ 2022-07-27 09:40 一位程序袁 阅读(289) 评论(0) 推荐(0) 编辑
摘要:注解_JDK内置注解 JDK中预定的一些注解: @Override:检测被该注解标注的方法是否是继承父类的 @Deprecated:该注解标注的内存,已过时 @SuppressWarnings:压制警告的 案例: public class Annotation1 { /** * JDK中预定的一些注 阅读全文
posted @ 2022-07-27 09:32 一位程序袁 阅读(80) 评论(0) 推荐(0) 编辑
摘要:自定义注解_格式和本质 我们这么创建自己的注解 案例: public @interface Sum {} 创建一个类然后加上@interface 就可以编程注解了 本质:注解本质上就是一个接口,该接口继承默认Annotation接口、 属性:接口中可以定义的成员方法 阅读全文
posted @ 2022-07-27 09:32 一位程序袁 阅读(17) 评论(0) 推荐(0) 编辑
摘要:反射获取字节码Class对象的三种方式 * *Field[] getFields() :获取所以public修饰的成员变量* Field getField( string name):获取指定public的成员变量* Field[] getDeclaredFields() :获取所以的成员变量* F 阅读全文
posted @ 2022-07-27 09:31 一位程序袁 阅读(28) 评论(0) 推荐(0) 编辑
摘要:反射对象功能_获取Method 1.直接使用原生类的字节码全路径:Class<TestDemo> class = Class.forName("com.xxx.TestDemo"); 2.利用原生类的静态类属性创建:注意抛出异常Class<TestDemo> class = TestDemo.cla 阅读全文
posted @ 2022-07-26 14:49 一位程序袁 阅读(83) 评论(0) 推荐(0) 编辑
摘要:反射_Class_获取Field 案例: public class Test3 { /** * * 3.获取成员方法们: * * *Method[] getMethods() :获取成员方法 * * Method getMethod( string name,类<?>... parameterTyp 阅读全文
posted @ 2022-07-26 14:18 一位程序袁 阅读(32) 评论(0) 推荐(0) 编辑
摘要:Junt使用步骤 测试分类: 黑盒测试:不需要写代码,给输入值,看程序是否能出期望的值 白盒测试:需要写代码,关注程序具体的执行流程 Junt使用:百盒子测试 步骤: 1.定义一个测试类(测试用例) 建议:测试类名:被测试的类名Test CalculatorTest 包名:xxx.xxx.xxx.x 阅读全文
posted @ 2022-07-26 10:37 一位程序袁 阅读(82) 评论(0) 推荐(0) 编辑
摘要:类的构造器使用 首先创建一个类Student public class Student { String name; public Student(String name) { this.name = name; } public Student() { } public String getNam 阅读全文
posted @ 2022-07-25 09:25 一位程序袁 阅读(48) 评论(0) 推荐(0) 编辑
摘要:方法的引用_通过super引用成员方法 案例: /** * 定义一个见面函数接口 */public interface Human {// 定义一个见面方法 void greet();} 在在定义一个父类 /** * 定义一个见面函数接口 */public interface Human {// 定 阅读全文
posted @ 2022-07-25 09:07 一位程序袁 阅读(22) 评论(0) 推荐(0) 编辑
摘要:方法引用的基本介绍 首先我们先来定义一个打印的接口 public class PrintableImpl { public static void PrintString(Printable printable){ printable.pring("HelloWorld"); } public st 阅读全文
posted @ 2022-07-25 08:41 一位程序袁 阅读(52) 评论(0) 推荐(0) 编辑
摘要:方法引用_通过类名引用静态的成员方法 定义一个抽象方法,传递一个整数,对整数进行绝对计算进行返回 案例: //定义一个函数式的接口public interface Printable { int sum(int number);} public class PrintableImpl { publi 阅读全文
posted @ 2022-07-24 21:37 一位程序袁 阅读(27) 评论(0) 推荐(0) 编辑
摘要:Stream流中常用的方法_limit limit可以对流进行截取,只截取前n个 参数是一个Long型,如果参数长度大于截取的长度 就进行截取,否者不进行操作 案例: public static void main(String[] args) { String[] arr={"aa","aaaa" 阅读全文
posted @ 2022-07-24 10:15 一位程序袁 阅读(320) 评论(0) 推荐(0) 编辑
摘要:流中的常用方法_concat 这个方法能把两个流合并成一个流 public static void main(String[] args) { Stream<String> aa = Stream.of("大傻", "张山", "ccc"); Stream<String> bb = Stream.o 阅读全文
posted @ 2022-07-24 10:14 一位程序袁 阅读(47) 评论(0) 推荐(0) 编辑
摘要:Stream流中的常用方法_map 如果需要将流中的元素映射到另一个流中,可以使用map方法 案例: public class map1 { public static void main(String[] args) { Stream<String> a = Stream.of("1", "2", 阅读全文
posted @ 2022-07-24 09:32 一位程序袁 阅读(265) 评论(0) 推荐(0) 编辑
摘要:Stream中的常用方法_filter filter方法的参数Peredicate是一个函数式接口,所以可以传递Lambda表达式,对数据进行过滤 Predicate中的抽象方法: boolean test(T t) 案例: public static void main(String[] args 阅读全文
posted @ 2022-07-24 09:21 一位程序袁 阅读(418) 评论(0) 推荐(0) 编辑
摘要:获取流的两种方式 获取流的非常简单,有一下这几种方式: 所有的Colleection集合都可以通过Stream默认方法获取流 Stream接口中的of可以获取数组对应的流 参数是一个可变参数,那么我们就可以传递一个数组 案例: public class Changyongfas { public s 阅读全文
posted @ 2022-07-24 09:11 一位程序袁 阅读(278) 评论(0) 推荐(0) 编辑
摘要:流的思想概述 图解: Stream(流)是一个来自数据源的元素队列·元素是特定类型的对象,形成一个队列。Java中的Stream并不会存储元素,而是按需计算。数据源流的来源。可以是集合,数组等。 阅读全文
posted @ 2022-07-23 17:16 一位程序袁 阅读(37) 评论(0) 推荐(0) 编辑
摘要:使用传统的方法遍历集合,对集合中的数据进行过滤 我们使用传统的方法和Stream流的方法来比较一下: public class List1 { public static void main(String[] args) { ArrayList<String> list = new ArrayLis 阅读全文
posted @ 2022-07-23 17:10 一位程序袁 阅读(36) 评论(0) 推荐(0) 编辑
摘要:常用函数式接口_andThen Function接口中的默认方法andThen:用来进行组合操作 需求: 把String类型的123转话为Integer类型,把转化后的结果加10 把增加之后Integar类型的数据,转化为String类型 分析:第一次是把string类型转换为了Integer类型所 阅读全文
posted @ 2022-07-23 16:39 一位程序袁 阅读(141) 评论(0) 推荐(0) 编辑
摘要:常用函数式接口_Function接口 java.util.function.Function<T, R>接口用来根据一个类型的数据得到另一个类型的数据,前者称为前置条件,后者称为后置条件。Function接口中最主要的抽象方法为:R apply(T t),根据类型T的参数获取类型R的结果。使用的场景 阅读全文
posted @ 2022-07-23 16:09 一位程序袁 阅读(79) 评论(0) 推荐(0) 编辑
摘要:常用的函式接口_or&engate 案例: public class Han8 { /** * 定义一个方法String类型的字符串 * 传递一个Predicate接口,泛型使用String * 使用Predicate中test对字符串进行判断,并把判断结果返回 */ public static b 阅读全文
posted @ 2022-07-23 16:09 一位程序袁 阅读(34) 评论(0) 推荐(0) 编辑
摘要:常用的函式接口 作用:接口中包含一个抽象方法: boolean test(T t):用来对指定数据类型数据进行判断方法 结果: 符合条件,返回true' 不符合条件的,返回false 案例: public class Han8 { /** * 定义一个方法String类型的字符串 * 传递一个Pre 阅读全文
posted @ 2022-07-23 14:48 一位程序袁 阅读(38) 评论(0) 推荐(0) 编辑
摘要:常用的函数接口_默认方法 andThen 作用:需要两个consumer接口,可以把两个Consumer接口组合到一起,在对数据进行消费例如:consumer<String> coniconsumer<String> con2String s = "helLo";con1.accept ( s ); 阅读全文
posted @ 2022-07-22 17:32 一位程序袁 阅读(52) 评论(0) 推荐(0) 编辑
摘要:求数组的最大值 案例: public class Hanshuz4 { public static int getMax(Supplier<Integer> supplier){ return supplier.get(); } public static void main(String[] ar 阅读全文
posted @ 2022-07-22 17:12 一位程序袁 阅读(77) 评论(0) 推荐(0) 编辑
摘要:函数值接口作为返回值的类型 如果一个方法的返回值类型是一个函数式接口,那么就可以直接返回一个Lambda表达式。当需要通过一个方法来获取一个java.util.Comparator接口类型的对象作为排序器时,就可以调该方法获取。 案例: public class Han2 { /** * 如果一个方 阅读全文
posted @ 2022-07-22 16:53 一位程序袁 阅读(171) 评论(0) 推荐(0) 编辑
摘要:使用Lambda优化日志案例 Lambda特点:延迟加载 Lambda表达式使用的前提:必须存在函数式接口 案例: public interface Message { public abstract String builder();} public class MessageImpl { pub 阅读全文
posted @ 2022-07-22 16:27 一位程序袁 阅读(38) 评论(0) 推荐(0) 编辑
摘要:函数式接口的使用 函数式接口的使用:一般可以作为方法的参数和返回值使用 定义一个方法,参数使用函数式接口 案例: public static void show(MyFun myFun){ myFun.method(); } public static void main(String[] args 阅读全文
posted @ 2022-07-22 15:11 一位程序袁 阅读(53) 评论(0) 推荐(0) 编辑
摘要:函数式接口 函数式接口在java中是指:有且仅有一个抽象方法的接口 格式: 修饰符 interesting 接口名称{ public abstaract 返回值类型 方法名称(可选参数信息) } 函数式接口:有且只有一个抽象方法的接口,称之为函数式接口,当然接口中可以包含其他的方法(默认,静态,私有 阅读全文
posted @ 2022-07-22 14:20 一位程序袁 阅读(48) 评论(0) 推荐(0) 编辑
摘要:模拟B/S服务器(扩展) 案例: public class Server { public static void main(String[] args) throws IOException { ServerSocket socket = new ServerSocket(8888); Socke 阅读全文
posted @ 2022-07-22 13:29 一位程序袁 阅读(27) 评论(0) 推荐(0) 编辑
摘要:文件上传_客户端 文本上传:读取本地文件,上传到服务器,读取服务器回写数据 明确:数据源 目的地:服务器 实现步骤:创建一个本地字节输入流对象,构造方法中绑定要读取数据源 创建一个客户端Socket对象,构造方法绑定服务器的IP地址和端口号 使用Socket中的方法getOutputStream,获 阅读全文
posted @ 2022-07-22 10:37 一位程序袁 阅读(79) 评论(0) 推荐(0) 编辑
摘要:TCP通信服务器代码实现 TCP通向的服务端:接受客户端的请求,读取客户端发送的数据,给客户端回写数据 表示服务器的类: ServerSocket:此类实现服务器套字节 构造方法: ServerSocket(Int port)创建绑定特定端口服务器套接字 服务器端必须明确一件事情,必须自动是那个客户 阅读全文
posted @ 2022-07-22 09:29 一位程序袁 阅读(43) 评论(0) 推荐(0) 编辑
摘要:TCP通信的客户端代码实现 TCP通信的客户端:向服务端发送连接, 给服务器发送数据,读取服务器回写数据 构造方法: Soket(String host,int port)创建一个流套接字并将其链接到指定主机上的指定端口号 参数: String host:服务器主机的名称/服务器的IP地址 Int 阅读全文
posted @ 2022-07-21 16:50 一位程序袁 阅读(182) 评论(0) 推荐(0) 编辑
摘要:TCP通信概述(上) TCP通信能实现计算机之间数据通信,要严格区分客户端和服务端 两端通信时的步骤: 1.服务端开启要等待客户端连接... 2.客户端主动连接服务端,连接成功才能进行通信,服务端不可以主动连接客户端 图解: TCP通信概述(下) 阅读全文
posted @ 2022-07-21 14:56 一位程序袁 阅读(23) 评论(0) 推荐(0) 编辑
摘要:网络编程的三要素 IP地址: ip地址:指互联网协议地址,俗称IP,Ip地址用来给一个网络中的计算机设备做一个唯一的编号,假如把一台电脑看作一台电话的化 那么ip地址介绍电话号码 ip分类: IPv4中规定IP地址长度为32,即有2^32-1个地址;而IPv6中IP地址的长度为128,即有2^128 阅读全文
posted @ 2022-07-21 14:15 一位程序袁 阅读(119) 评论(0) 推荐(0) 编辑
摘要:网络通信协议 网络通信协议是一种网络通用语言,为连接不同操作系统和不同硬件体系结构的互联网络提供通信支持,是一种网络通用语言。 网络通信协议的组成: 语法(syntax):包括数据格式、数据编码以及信号等。 语义(semantics):包括用于协调和差错处理的控制信息。 定时(Timing):包括传 阅读全文
posted @ 2022-07-21 13:23 一位程序袁 阅读(304) 评论(0) 推荐(0) 编辑
摘要:打印流 学习目标 掌握打印流的操作 掌握格式化输出 打印流 在整个IO包中,打印流是输出信息做方便的类,主要包含字节打印流(PrintStream)和字符打印流(PrintWriter)。打印流提供了非常方便的打印功能,可以打印任何的数据类型,例如:小数、整数、字符串等等。 回顾:之前在打印信息的时 阅读全文
posted @ 2022-07-21 11:49 一位程序袁 阅读(69) 评论(0) 推荐(0) 编辑
摘要:InvalidClassExceptinon异常_原理和解决方案 图解: 练习_序列化集合 当我们在集合中保存多个对象是,这个时候可以用到集合,对对象进行序列化和反序列化 分析: 1定义一个存储Student对象的Arraylist结合 2,往Arraylist集合存储Strudent对象 3,创建 阅读全文
posted @ 2022-07-21 11:19 一位程序袁 阅读(24) 评论(0) 推荐(0) 编辑
摘要:反序列化 ObjectIntputStream:反序列化 构造方法: ObjectIntputStream(InputStream in)创建从指定 InputStream 读取的ObjectIntputStream 参数: IntputStream in:字节输入流 特有的成员方法: Object 阅读全文
posted @ 2022-07-21 10:43 一位程序袁 阅读(45) 评论(0) 推荐(0) 编辑
摘要:序列化和反序列化 图解: 对象的序列化流 ObjectOutputStream:对象的序列化 作用: 把对象以流的方式写入到文件中 构造方法: ObjectOutputStream(OutputStream out)创建写人指定 ObjectOutputStream 的 ObjectOutputSt 阅读全文
posted @ 2022-07-21 10:19 一位程序袁 阅读(27) 评论(0) 推荐(0) 编辑
摘要:inputStreamReader介绍&代码实现 继承父类的共性方法 int read 读取里个字符并返回 int read(char chuf)一次读取多个字符,将字读入数组 void close 关闭流并是释放与之关联的所有资源 构造方法: inputStreamReader(inputStre 阅读全文
posted @ 2022-07-21 09:34 一位程序袁 阅读(406) 评论(0) 推荐(0) 编辑
摘要:OutputSteamWriter介绍&代码实现 OutputSteamWriter:是字通向字节的桥梁:可使用charset将要写人流中的字符编码成字节(编码) 继承父类中的共性,writer中的方法在这里都可以使用 构造方法: OutputStreamWriter(OutputStream ou 阅读全文
posted @ 2022-07-20 22:01 一位程序袁 阅读(87) 评论(0) 推荐(0) 编辑
摘要:转化流的原理 图解: 阅读全文
posted @ 2022-07-20 21:38 一位程序袁 阅读(16) 评论(0) 推荐(0) 编辑
摘要:字符编码和字符集 字符集只是一个规则集合的名字,字符集 = 字库表(character repertoire)、编码字符集(coded character set)、字符编码(character encoding form)。 编码字符集:(简称字符集,如Unicode、ASCII)编码字符集,用一 阅读全文
posted @ 2022-07-20 21:30 一位程序袁 阅读(29) 评论(0) 推荐(0) 编辑
摘要:BufferedReader字节缓冲输入流 继承父类的方法: int read() 读取单个字符并返回 int read (char【】 huf)一次读取多个字符,将字符读入数组 void close 关闭该流并释放与之关联的所有资源 构造方法: BufferedReader(Reader in)创 阅读全文
posted @ 2022-07-20 20:58 一位程序袁 阅读(119) 评论(0) 推荐(0) 编辑
摘要:BuffereWriter_字符缓冲输出流 BuffereWriter:字符缓冲输出流 继承父类成员方法: abstract void close() 关闭此流,但要先刷新它。 abstract void flush() 刷新此流。 void write(char[] cbuf) 写入字符数组。 a 阅读全文
posted @ 2022-07-20 19:27 一位程序袁 阅读(92) 评论(0) 推荐(0) 编辑
摘要:BufferedInputStream_字节缓存输入流 继承父类的成员方法: int read()从输入流中读取数据的下个字节 int read(byte 【】 b)从输入流中读取一定数量的字节,并将其存储在缓存区数组b中 void close()关闭并释放 构造方法: BufferedInputS 阅读全文
posted @ 2022-07-20 15:43 一位程序袁 阅读(100) 评论(0) 推荐(0) 编辑
摘要:BufferedOutputStream字节缓存输出流 构造方法: BufferedOutputStream(OutputStream out)创建一个新的缓存输出流,以将数据写入指定的底层输出流 BufferedOutputStream(OutputStream out,int size )创建一 阅读全文
posted @ 2022-07-19 17:29 一位程序袁 阅读(273) 评论(0) 推荐(0) 编辑
摘要:储存区的原理 图解: 阅读全文
posted @ 2022-07-19 15:56 一位程序袁 阅读(19) 评论(0) 推荐(0) 编辑
摘要:使用Properties集合存储数据 遍历输出Properties中数据 java.util.Dictionary<K,V> 继承 java.util.Hashtable<Object,Object> 继承 java.util.PropertiesProperties 类表示了一个持久的属性集。Pr 阅读全文
posted @ 2022-07-19 14:55 一位程序袁 阅读(775) 评论(0) 推荐(0) 编辑
摘要:使用try_catch_finally处理流中异常 在jdk1.7之前使用try_catch 处理流中的异常 格式: try{ 可以会出现异常的代码 }catch{ 异常的处理逻辑 }finally{ 一定会执行的代码 } 案例: public static void main(String[] a 阅读全文
posted @ 2022-07-19 11:45 一位程序袁 阅读(48) 评论(0) 推荐(0) 编辑
摘要:字符输出流续写和换行 续写和换行 续写,追加写:使用两个参数的构造方法 Filewrite(String filename,boolenan append) Filewrite(File file ,boolenan append) 参数: String filename,File file:写入数 阅读全文
posted @ 2022-07-19 11:20 一位程序袁 阅读(98) 评论(0) 推荐(0) 编辑
摘要:flush方法和close方法区别 flush:刷新缓冲区,流对象可以继续使用 close:先刷新缓冲区,然后通知系统释放资源,流对象不可以在被使用 案例: public static void main(String[] args) throws IOException {// ,创建FileWr 阅读全文
posted @ 2022-07-19 11:11 一位程序袁 阅读(166) 评论(0) 推荐(0) 编辑
摘要:字符输入流_Reader&&FileReader类介绍 java.io.Reader:字符输入流,是字符流的最顶层的父类,定义了一些公用的方法,是一个抽象类 共性的成员方法: read() 读取单个字符。 read(char[] cbuf, int off, int len) 将字符读入数组的某一部 阅读全文
posted @ 2022-07-19 09:34 一位程序袁 阅读(156) 评论(0) 推荐(0) 编辑
摘要:字节流练习文件复制 文件复制的原理: 图解: 明确: 数据源:F://aa.txt 数据的目的地:F://cc.txt 文件复制的步骤: 1,创建一个字节输入流对象,构造方法中要绑定的数据源 2,创建一个字节输入流对象,构造方法中绑定要写入的目的地 3,使用字节输出流对象中的read方法进行读取 4 阅读全文
posted @ 2022-07-19 09:07 一位程序袁 阅读(51) 评论(0) 推荐(0) 编辑
摘要:字节输入流一次读取多个字节 read(byte),从输入流中读取一定数量的字节,并将其存储在缓存区数组B中 明确两件事: 方法参数中,byte[] 的作用是什么?? 方法的返回值int 是什么? 案例: 我们可以方法,这个读取是一个重复的过程,那么我们可以使用循环来读取 我们不知道有多少个字节,所以 阅读全文
posted @ 2022-07-18 15:55 一位程序袁 阅读(47) 评论(0) 推荐(0) 编辑
摘要:字节输入流读取字节数据 读取数据的原理: java程序 JVM os os读取数据的方法 读取文件 字节输入流的使用步骤: 1,创建FileInputStream对象,构造方法中要绑定数据源 2,使用FileInputStream中read,读取文件 3,释放资源 案例: public class 阅读全文
posted @ 2022-07-18 15:35 一位程序袁 阅读(107) 评论(0) 推荐(0) 编辑
摘要:字节输入流inputStream类&FileinputStream类介绍 java.io.InputStream此抽象类是表示字节输入流的所有类的超类。需要定义 InputStream 的子类的应用程序必须始终提供返回下一个输入字节的方法。 定义了所以子类的共性方法: read() 从输入流读取下一 阅读全文
posted @ 2022-07-18 15:15 一位程序袁 阅读(149) 评论(0) 推荐(0) 编辑
摘要:字节输出流写多个字节的方法 write():将b.Length字节从指定的字节数组写入输出流 writer():从指定的字节数组写人len字节,从偏移量,of开始输出到此输入流 案例: public class os { public static void main(String[] args) 阅读全文
posted @ 2022-07-18 14:54 一位程序袁 阅读(86) 评论(0) 推荐(0) 编辑
摘要:字节输入流写入数据文件 写入数据的原理: java程序到-->jvm虚拟机 >OS(操作系统) >调用写数据的方法 >把数据写入到文件中 字节输出流的步骤: 1.创建一个FileOutputStream对象,构造方法中传递写入数据的目的地 2.调用FileOutputStream对象中的writer 阅读全文
posted @ 2022-07-18 14:25 一位程序袁 阅读(130) 评论(0) 推荐(0) 编辑
摘要:OutputStream 此抽象类是表示输出字节流的所有类的超类。输出流接受输出字节并将这些字节发送到某个接收器。 方法摘要 void close() 关闭此输出流并释放与此流有关的所有系统资源。 void flush() 刷新此输出流并强制写出所有缓冲的输出字节。 void write(byte[ 阅读全文
posted @ 2022-07-14 11:08 一位程序袁 阅读(127) 评论(0) 推荐(0) 编辑
摘要:IO流的概述 什么是IO我们来画一下: 图解: 字节流 一切文件数据在存储时,都是以二进制的数字形式保存的,都是一个一个的字节,那么传输的时一样 阅读全文
posted @ 2022-07-14 10:50 一位程序袁 阅读(19) 评论(0) 推荐(0) 编辑
摘要:综合案例_文件搜索 我们遍历F:盘下所以的文件.java文件 案例: public static void main(String[] args) { File f = new File("F:\\"); filename(f);}public static void filename(File f 阅读全文
posted @ 2022-07-14 10:13 一位程序袁 阅读(80) 评论(0) 推荐(0) 编辑
摘要:练习利用递归求乘 练习: 使用递归计算阶乘 n的阶乘:n! = n*(n-1)*....*2*1 5的阶乘:5!= 5*(5-1)*(5-2)*(5-3)*(5-4) 案例: public static void main(String[] args) { int qiuwu = qiuwu(5); 阅读全文
posted @ 2022-07-14 08:58 一位程序袁 阅读(26) 评论(0) 推荐(0) 编辑
摘要:练习_使用递归计算1-n之间的和 定义一个方法,使用递归计算1-n之间的和 1+2+3.。。。+n个数 n+(n-1)+(n-3)+...+1 已知: 最大值:n 最小值:1 使用递归必须明确 1递归的结束条件 获取到1的时候结束 2.递归的目的时什么 获取下一个被加的数字 案例: public c 阅读全文
posted @ 2022-07-13 15:51 一位程序袁 阅读(88) 评论(0) 推荐(0) 编辑
摘要:File类遍历(目录功能) list:返回一个String数组,表示该File目录中的所有子文件或目录 LiistFiles:返回一个File数组,表示该iFile目录中的子文件或者目录 注意: list方法和listFiles方法遍历的是构造方法中给出的目录 如果构造方法中给出的目录的路径不存在, 阅读全文
posted @ 2022-07-13 15:19 一位程序袁 阅读(107) 评论(0) 推荐(0) 编辑
摘要:判断功能的方法 exists:Flile表示文件或者目录是否实际存在 isDirectory:FIle表示是否为目录 isFile:此File表示的是否为文件 案例: public class FIle02 { /** * exists:Flile表示文件或者目录是否实际存在 * isDirecto 阅读全文
posted @ 2022-07-13 14:05 一位程序袁 阅读(42) 评论(0) 推荐(0) 编辑
摘要:file的构造方法 /** * * new File(String pathname)通过给定的名字字符串为抽象来创建一个新的File实例 * 参数: * String pathname:字符串的路径名称 * 路径也可以是文件结尾,也可以是文件夹结尾 * 路径可以是存在也可以是不存在 * 创建FIl 阅读全文
posted @ 2022-07-13 11:24 一位程序袁 阅读(87) 评论(0) 推荐(0) 编辑
摘要:File类的静态成员变量 pathSeparator与系统有关的路径分隔符,为了方便,它被表示一个字符串 pathSeparatorChar与系统有关的路径分隔符 separator 与系统有关的默认名称分隔符,为了方便,它被表示一个字符串。 separatorChar 与系统有关的默认名称分隔符。 阅读全文
posted @ 2022-07-13 10:43 一位程序袁 阅读(66) 评论(0) 推荐(0) 编辑
摘要:Lambda省略格式和省略前提 Lamdba表达式:是可推导,可以省略的 凡是根据上下文推导出来的内容,都可以省略书写 可以省略的内容: 1(参数列表):括号中参数列表的数据类型,可以省略不写 2(参数列表):括号中的参数如果只有一半,那么类型和()都可以省略 3{一些代码}:如果{}中的代码只有一 阅读全文
posted @ 2022-07-13 10:16 一位程序袁 阅读(31) 评论(0) 推荐(0) 编辑
摘要:练习_使用Lambda表达式无参数无返回值的练习 先定义一个接口: public interface Cook {// 无参数 public abstract void makeFood();} 在创建一个实现类: public class CookImpl { public static void 阅读全文
posted @ 2022-07-13 09:49 一位程序袁 阅读(23) 评论(0) 推荐(0) 编辑
摘要:转换编程思想_体验Lambda更优的写法 我们以前写那么多方法,只是想把run方法传入Thadle,那么1.5jdk之后有了新的特性 Lambda表达式,我们来看一下 案例: public static void main(String[] args) {// 匿名內不类 new Thread( n 阅读全文
posted @ 2022-07-13 09:28 一位程序袁 阅读(20) 评论(0) 推荐(0) 编辑
摘要:函数式编程思想 在数学中,函数就是输入量,输出量的一套计算方案,函数思想则尽量忽略面向对象的复杂语法-强调做什么,而不是用什么形式做 面向对象的思想: 做一件事,找一个能解决这个事情的对象,调用对象的方法完成事情 函数式编程思想: 只要能或者结果,谁去做,怎么做都不重要,重视结果不重视过程 冗余的R 阅读全文
posted @ 2022-07-13 08:59 一位程序袁 阅读(34) 评论(0) 推荐(0) 编辑
摘要:线程池的代码实现 Executors:线程池的工厂类,用来生产线程 Executors中的静态方法: static ExecutorService newFixedThreadPool(int nThreads) 创建一个可重用固定线程集合的线程池,以共享的无界队列方式来运行这些线程 参数:int  阅读全文
posted @ 2022-07-12 10:34 一位程序袁 阅读(52) 评论(0) 推荐(0) 编辑
摘要:等待唤醒机制代码实现_包子类&包子铺 注意点: 包子铺线程和包子线程关系-->通信(互诉) 必须同时同步技术保证俩个线程只能由一个进行 锁对象必须保证唯一,可以使用保证对象作为锁对象 包子对象和吃货的类就需要吧包子对象作为参数传递进来 1,需要在成员创建一个包子变量 2,使用带参数构造方法,为这个包 阅读全文
posted @ 2022-07-12 09:59 一位程序袁 阅读(32) 评论(0) 推荐(0) 编辑
摘要:等待唤醒机制概述 图解: 等待唤醒机制概述需求分析 阅读全文
posted @ 2022-07-11 16:29 一位程序袁 阅读(17) 评论(0) 推荐(0) 编辑
摘要:等待唤醒案例分析 画个图来解释一下; 代码实现等待唤醒案例 等待唤醒案例:线程之间的通信 创建一个顾客线程(消费者):告知老板要包子的种类,调用wait方法,放弃cpu的执行,进入到WAITNG状态(无线等待) 创建一个老板线程(生产者):花5秒做包子,做好包子后,调用notify方法,唤醒顾客吃包 阅读全文
posted @ 2022-07-11 13:46 一位程序袁 阅读(27) 评论(0) 推荐(0) 编辑
摘要:解决线程安全_Lock锁 上一篇我们出现了线程安全问题,卖出了不存在的票和重复的票 解决安全问题:使用Lock锁 Lock接口中的方法: void lock获取锁 void unlcok 释放锁 使用步骤: 1,在成员位置创建一个Reentarantlock'对象 2,在可能会出现安全问题的代码前调 阅读全文
posted @ 2022-07-11 11:10 一位程序袁 阅读(23) 评论(0) 推荐(0) 编辑
摘要:解决线程安全问题_同步方法 上一篇我们出现了线程安全问题,卖出了不存在的票和重复的票 解决安全问题:使用同步方法 使用步骤: 1,把访问了共享数据的代码抽取出来,方到了一个方法中 2,在方法添加了synchronized修饰符 格式: 修饰符 synchronozed 返回值 方法名(参数列表){ 阅读全文
posted @ 2022-07-11 10:48 一位程序袁 阅读(70) 评论(0) 推荐(0) 编辑
摘要:解决线程安全问题_同步代码块 上一篇我们出现了线程安全问题,卖出了不存在的票和重复的票 解决安全问题:使用同步代码块 格式synchronized(锁对象){ 可能出现线程安全问题的代码(访问了数据共享代码) } 注意:通过代码块中的锁对象,可以使用任意的对象 但是必须保证多个线程使用的锁对象是同一 阅读全文
posted @ 2022-07-11 10:22 一位程序袁 阅读(25) 评论(0) 推荐(0) 编辑
摘要:安全问题的代码实现 public class Runnableimpl3 implements Runnable { private int aa =100; @Override public void run() {// 使用死循环买票一直执行 while (true){ if (aa>0){ S 阅读全文
posted @ 2022-07-10 11:06 一位程序袁 阅读(25) 评论(0) 推荐(0) 编辑
摘要:匿名内部类的方式创建 匿名: 没有名字 内部类:写在其他内部的李 匿名内部类:简化代码 把子类继承父类,重写父类的方法,创建子类对象合成一步完成 匿名内部类的最终产物:子类,实现类对象,这个类没有名字 格式: new父类。接口(){ 重复父类中的接口方法 } 案例: public static vo 阅读全文
posted @ 2022-07-10 10:10 一位程序袁 阅读(98) 评论(0) 推荐(0) 编辑
摘要:创建对线程的第二种方式_实现Runnable接口 Runnable接口应该由那些打通过某一线程执行其实列的类在实现,类必须定义一个称为run发无参方法 Thread (Runnable target)分配新的对象 Thread对象 Thread (Runnable target,String nam 阅读全文
posted @ 2022-07-10 09:27 一位程序袁 阅读(35) 评论(0) 推荐(0) 编辑
摘要:Thread常用方法_sleep sleep:使当前线程一指定的毫秒数暂停(暂停停止执行) 案例: public class Thread1 extends Thread { @Override public void run() {// 获取名字 for (int i = 0; i < 20; i 阅读全文
posted @ 2022-07-09 21:13 一位程序袁 阅读(30) 评论(0) 推荐(0) 编辑
摘要:Thread中的常用方法_获取线程名称的方法 获取线程名称: 1.使用Thread类中的方法getName(); String getname()返回该线程的名称 2.可以先获取当前正在执行的线程,使用线程getName()获取线程的名称 staic Thread currentThread() 返 阅读全文
posted @ 2022-07-09 16:52 一位程序袁 阅读(195) 评论(0) 推荐(0) 编辑
摘要:多线程原咯_随机性打印 多线程的执行原理 图解: 阅读全文
posted @ 2022-07-09 16:23 一位程序袁 阅读(16) 评论(0) 推荐(0) 编辑
摘要:主线程 首先我们来举个例子 : 先创建一个Student类 public class Student { private String name; public void run(){ for (int i = 0; i < 20; i++) { System.out.println(name+i) 阅读全文
posted @ 2022-07-09 15:16 一位程序袁 阅读(36) 评论(0) 推荐(0) 编辑
摘要:多线程并发与并行 并发:指两个或多个事件在同一个时间段发生 并行:指两个或者多个事件在同一时发生(同时发生) 图解: 线程与进程 进行:是指一个内存中运行的应用程序,每个进行都是有一个独立的内存空间,一个运行程序可以运行多个进程;进行也是程序的一次执行过程,是系统运行的基本单位 线程:线程是进程中的 阅读全文
posted @ 2022-07-08 16:32 一位程序袁 阅读(58) 评论(0) 推荐(0) 编辑
摘要:自定义的异常 自定义异常:java提供的异常类,不够我们使用,需要自定一些异常类 格式:public class xxxExcepiton extends Exeption / RuntimeExcetion 添加一个空参数的构造方法 添加一个带异常信息的构造方法 注意:自定义异常类一般都是Exce 阅读全文
posted @ 2022-07-08 15:16 一位程序袁 阅读(53) 评论(0) 推荐(0) 编辑
摘要:异常注意事项 finally有retum语句 如果finally有return语句,永远返回finally中的结果,避免该情况 案例: public static void main(String[] args) { int aa = aa(); System.out.println(aa); } 阅读全文
posted @ 2022-07-08 14:40 一位程序袁 阅读(108) 评论(0) 推荐(0) 编辑
摘要:异常的处理 异常:异常有的是因为用户错误引起,有的是程序错误引起的,还有其它一些是因为物理错误引起的。 异常处理的关键字:try、catch、finally、throw、throws * try:里面是可能出现异常的语句或者代码块。后面可以跟一个或多个catch代码段。出现异常,终止try代码段的执 阅读全文
posted @ 2022-07-08 13:52 一位程序袁 阅读(78) 评论(0) 推荐(0) 编辑
摘要:异常产生过程解析 public class Ex1 { public static void main(String[] args) throws ParseException { int [] arr={1,2,3}; getElement(arr,3); } public static int 阅读全文
posted @ 2022-07-08 13:20 一位程序袁 阅读(13) 评论(0) 推荐(0) 编辑
摘要:异常分类 Exception:编译异常,进行编译(写代码java程序出现的问题) RuntimeException:运行期异常,java程序过程出现的问题 Error:错误,相当于不能自愈的病,必须修改源代码才能运行 案例: 首先我们先来看第一个 编译异常 public class Ex1 { pu 阅读全文
posted @ 2022-07-08 11:30 一位程序袁 阅读(21) 评论(0) 推荐(0) 编辑
摘要:练习—计算一个字符串每个字符出现的次数 先来写一下思路: 我们画个图来看: 分析: 使用Scnner获取用户输入的字符 创建Map集合,key是字符串的字符,value是字符的个数 遍历字符串,获取每一个字符 使用获取字符串,去Map集合判断key是否存在 key存在: 通过字符ket获取key,获 阅读全文
posted @ 2022-07-08 10:55 一位程序袁 阅读(47) 评论(0) 推荐(0) 编辑
摘要:LinledHashMap Map 接口的哈希表和链接列表实现,具有可预知的迭代顺序。此实现与 HashMap 的不同之处在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,该迭代顺序通常就是将键插入到映射中的顺序(插入顺序)。 底层:哈希表+链表(记录元素顺序) 打印输出一 阅读全文
posted @ 2022-07-08 10:02 一位程序袁 阅读(29) 评论(0) 推荐(0) 编辑
摘要:Entry键值对象 映射项(键-值对)。Map.entrySet 方法返回映射的 collection 视图,其中的元素属于此类。获得映射项引用的惟一 方法是通过此 collection 视图的迭代器来实现。这些 Map.Entry 对象仅 在迭代期间有效;更正式地说,如果在迭代器返回项之后修改了底 阅读全文
posted @ 2022-07-08 09:24 一位程序袁 阅读(44) 评论(0) 推荐(0) 编辑
摘要:Map集合中的常用方法 常用方法: /* put :把指定的键与指定的值添加到Map集合中*/ /*remove:把指定的键,键值在Map集合中删除*/ /* get:根据指定的键,在集合中获取对应的值*/ /* containKey:判断集合中是否包含指定的键*/ /* Set KeySet:获取 阅读全文
posted @ 2022-07-08 08:46 一位程序袁 阅读(283) 评论(0) 推荐(0) 编辑
摘要:Map集合概述 Map集合是一双列集合,一个元素包含两个值(一个key 一个calue) map集合中的元素mey和value的数据类型可以相同,也可以不同 map集合中的元素,key是不允许重复的 value是可以重复 map集合中的元素,key和value是一一对应 Map常用子类 HashMa 阅读全文
posted @ 2022-07-06 16:38 一位程序袁 阅读(76) 评论(0) 推荐(0) 编辑
摘要:Collections集合工具类的方法 常用方法addAll,Shuffle,sort,sort。 案例: public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>();// list.add 阅读全文
posted @ 2022-07-06 16:17 一位程序袁 阅读(48) 评论(0) 推荐(0) 编辑
摘要:LinkedHashSet集合 具有可预知迭代顺序的 Set 接口的哈希表和链接列表实现。此实现与 HashSet 的不同之外在于,后者维护着一个运行于所有条目的双重链接列表。此链接列表定义了迭代顺序,即按照将元素插入到集合中的顺序(插入顺序)进行迭代 LinkedHashSet集合的特点: 底层是 阅读全文
posted @ 2022-07-06 15:44 一位程序袁 阅读(43) 评论(0) 推荐(0) 编辑
摘要:HashSet集合数据的结构 我们来画一张图来解释: Set集合存储元素不重复的原理 public class HashSet2 { public static void main(String[] args) { HashSet<Integer> set = new HashSet<>();// 阅读全文
posted @ 2022-07-06 15:01 一位程序袁 阅读(68) 评论(0) 推荐(0) 编辑
摘要:HashSet集合 此类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证集合的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。 HashSet集合继承了C ollection接口 set接口的特点: 不允许重复元素, 没有索引,没有带索引的方法, 阅读全文
posted @ 2022-07-06 13:30 一位程序袁 阅读(50) 评论(0) 推荐(0) 编辑
摘要:Linkedlist集合 Linkedlist集合的特点: 1.底层是一个链表结构:查询慢,增删快 2.里面包含了大量的首位操作元素的方法 注意: 使用Linkedlist的集合特点的方法,不能使用多态 addFirst(E o) 将给定元素插入此列表的开头 addLast(E o) 将给定元素追加 阅读全文
posted @ 2022-07-06 13:04 一位程序袁 阅读(29) 评论(0) 推荐(0) 编辑
摘要:list集合 list集合的特点: 1.有序的集合,存储的元素和取出的元素都是一致的 2.有索引,包含了一些带索引的方法 3.运行存储重复的元素 list集合中特有的方法: add,get,remove,set 注意: 操作索引的时候,一定要防止索引越界异常 案例: public class aa 阅读全文
posted @ 2022-07-06 11:25 一位程序袁 阅读(74) 评论(0) 推荐(0) 编辑
摘要:数据结构_链表 什么是链表? 链表 [Linked List]:链表是由一组不必相连【不必相连:可以连续也可以不连续】的内存结构 【节点】,按特定的顺序链接在一起的抽象数据类型。 链表分类 链表分为单向链表(Singly linked lis)、双向链表(Doubly linked list)、循环 阅读全文
posted @ 2022-07-06 11:05 一位程序袁 阅读(74) 评论(0) 推荐(0) 编辑
摘要:数据结构_队列 我们来画图看一下: 队列是先进先出 有俩个出口 1号 进去了 出来的时候 还是1号先出 数据结构_数组 数组的特点:查询快,增删慢 查询块:数组的地址是连续的,我们可以通过的数组首地址可以找到数组,通过数组的索引可以快速找到一个元素 增删慢:数组的长度是固定的,我们想要增加、删除一个 阅读全文
posted @ 2022-07-06 10:08 一位程序袁 阅读(17) 评论(0) 推荐(0) 编辑
摘要:斗地主实现案例 首先来写第一部,准备牌 案例: public static void main(String[] args) {// 准备牌// 定义一个集合,来存储53牌 ArrayList<String> list = new ArrayList<>();// 牌的花色 String[] hua 阅读全文
posted @ 2022-07-06 09:44 一位程序袁 阅读(91) 评论(0) 推荐(0) 编辑
摘要:泛型通配符 泛型通配符 : ?:代表任意的数据类型 使用方式: 不能创建对象使用,只能作为方法的参数 案例: public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<>(); list.add( 阅读全文
posted @ 2022-07-06 09:10 一位程序袁 阅读(31) 评论(0) 推荐(0) 编辑
摘要:定义和使用含有泛型的方法 定义一个含有泛型的方法;泛型定义在修饰符和方法返回值之间 格式: 修饰符:<泛型>返回类型 方法名(参数列表(使用泛型)){ 方法体 } 含有泛型的方法,在调用方法的时候确定泛型数据类型 传递什么类型的参数,泛型就是什么类型 public class Test { publ 阅读全文
posted @ 2022-07-05 17:52 一位程序袁 阅读(44) 评论(0) 推荐(0) 编辑
摘要:定义和使用含有泛型的类 定义一个含有泛型的类型,模拟Arraylsit集合 泛型是一个未知的数据类型,当我们不确定什么时候使用什么数据类型的时候,可以使用泛型 泛型可以接受任何数据类型 ,String Integer Student... 创建对象的时候确定数据类型 我们来写一个案例: public 阅读全文
posted @ 2022-07-05 17:28 一位程序袁 阅读(23) 评论(0) 推荐(0) 编辑
摘要:恢复内容开始 泛型的概念 泛型:是一种未知的数据类型,当我们不知道使用什么数据类型的时候可以使用泛型 泛型也可以看出一个变量,用来接受数据类型 创建集合对象的时候就会确定泛型的数据类型 会把数据类型作为参数传递,把String赋值给泛型E 会把数据类型作为参数传递,把Stuednt赋值给泛型E 使用 阅读全文
posted @ 2022-07-05 17:10 一位程序袁 阅读(107) 评论(0) 推荐(0) 编辑
摘要:迭代器的实现原理 我们来画一个图来看一下 增强for循环 增强for循环的作用: 简化迭代器的书写格式。(注意:增强for循环的底层还是使用了迭代器遍历。) 增强for循环的适用范围: 如果是实现了Iterable接口的对象或者是数组对象都可以使用增强for循环。 增强for循环的缺点:增强for循 阅读全文
posted @ 2022-07-05 15:32 一位程序袁 阅读(120) 评论(0) 推荐(0) 编辑
摘要:Collection集合 我们首先来看一个集合图 Collectio集合中的常用方法 向集合添加内容 add 删除集合中的元素 remove 清空集合中所有的元素 clear 判断集合是否包指定元素 contains 判断集合是不是空的 isEmpty 获取集合的长度 size 将集合转换成一个数组 阅读全文
posted @ 2022-07-05 14:51 一位程序袁 阅读(58) 评论(0) 推荐(0) 编辑
摘要:Collection集合 概述 集合是什么呢?? 集合:集合是java中的一种容器,可以用开存储多个对象 集合和数组都是容器那有什么区别呢?? 数组的长度都是固定的,集合的长度是可变的 数组中存储的是同一类型的元素,可以储存基本数据类型值,集合储存的都是对象,而且对象的类型可以不一致 在开发当中一般 阅读全文
posted @ 2022-07-05 13:40 一位程序袁 阅读(19) 评论(0) 推荐(0) 编辑
摘要:包装类 我们来了解什么是包装类 基本类型的数据使用起来非常的方便,但是没有对应的方法来操作这些数据,所以我们可以使用一个类,把基本数据类型包装起来 这个类就叫做包装类,在包装类可以定义一些方法,来操作基本类型的数据 自动装箱,自动拆箱 如何理解Java中的自动拆箱和自动装箱? 定义:基本数据类型和包 阅读全文
posted @ 2022-07-05 11:13 一位程序袁 阅读(38) 评论(0) 推荐(0) 编辑
摘要:System和StringBuilder类 System类 1.currentTimeMillis方法 作用:获取当前系统毫秒时间 2.arraycopy方法 作用:复制数组 StriingBuilder类 1.构造方法 StringBuilder();创建一个空的字符串缓冲区对象 StringBu 阅读全文
posted @ 2022-07-05 10:39 一位程序袁 阅读(20) 评论(0) 推荐(0) 编辑
摘要:StringBuilder的原理 我们来画图看一下: 这个就是StringBuildel的原理 Stringbuilder的构造方法和常用方法 常用构造方法有两个 public StringBuilder:构造一个空的StringBuilder容器 public StringBuilder(Stri 阅读全文
posted @ 2022-07-05 10:07 一位程序袁 阅读(221) 评论(0) 推荐(0) 编辑
摘要:时间日期相关类总结 Date类 A.构造方法 Date();根据当前系统时间创建时间对象 B.成员方法 Date(long time)根据传入的毫秒值时间创建出日期对象 DateFormat类&SimpleDateFormat类 A.构造方法 SimpleDateFormat(String s):根 阅读全文
posted @ 2022-07-05 09:26 一位程序袁 阅读(43) 评论(0) 推荐(0) 编辑
摘要:练习使用日期时间算出一个人出生了多久 思路: 获取当前时间对应的毫秒值 获取自己出生时间日期对应的毫秒值 两个时间相减 案例: public class DateOfBirth { public static void main(String[] args) throws ParseExceptio 阅读全文
posted @ 2022-07-04 17:27 一位程序袁 阅读(173) 评论(0) 推荐(0) 编辑
摘要:DateFormat时间格式化 刚才我使用Date打印输出都是英语化的格式 那么我们就使用DateFormat来格式化 我们先来介绍一下 : DateFormat子类: DateFormat是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化和分析日期或时间。DateFormat类中最重要的两 阅读全文
posted @ 2022-07-04 15:25 一位程序袁 阅读(3352) 评论(0) 推荐(0) 编辑
摘要:Date类 首先我们先来介绍y一下Date类 java.util.Date:表示日期和时间的类类 Date表示特定的瞬间,精确到秒。毫秒:千分之一秒 1000毫秒 = 1秒特定的瞬间:一个时间点,一刹那时间2020-08-08 9:55:33:222 瞬间2020-08-08 9:55:33:223 阅读全文
posted @ 2022-07-04 14:50 一位程序袁 阅读(39) 评论(0) 推荐(0) 编辑
摘要:Object中equals的方法 如果比较的方法中有一个是空的会报空指针异常 案例测试一下 public class Test { public static void main(String[] args) { Person person = new Person("大傻",45); Person 阅读全文
posted @ 2022-07-04 14:05 一位程序袁 阅读(16) 评论(0) 推荐(0) 编辑
摘要:Objdct中的equals方法 Person类默认继承了Object那么我们可以使用equals方法 equals指示其他某个对象是否与此对象相等 案例来看一下: public class Test { public static void main(String[] args) { Person 阅读全文
posted @ 2022-07-04 13:25 一位程序袁 阅读(31) 评论(0) 推荐(0) 编辑
摘要:Object类 Object类是java中所有类的老祖宗,任何一个类默认继承object。就算没有直接继承,最终也会间接继承。Object类中的方法都是所有子类通用的。 先来看一下Object类中toStirng方法 我们先来写一个人的类 public class Person { private 阅读全文
posted @ 2022-07-04 13:08 一位程序袁 阅读(77) 评论(0) 推荐(0) 编辑
摘要:接口作为方法的参数或返回值 public class DEM { public static void main(String[] args) { ArrayList<String> list = new ArrayList<>(); ArrayList<String> aa = aa(list); 阅读全文
posted @ 2022-07-04 11:25 一位程序袁 阅读(26) 评论(0) 推荐(0) 编辑
摘要:局部内部类的fina问题 /* * 注意点:局部内部类,如果希望访问在方法的局部变量,那么这个局部变量必须是有(有效final的) * */ public void MethodOuter(){ final int num =10; //所在方法的局部变量 class Myinner{ // 内不类 阅读全文
posted @ 2022-07-04 10:54 一位程序袁 阅读(36) 评论(0) 推荐(0) 编辑
摘要:内部类的同名变量访问 public class Outer { int sum = 10; //外部成员变量 public class inner{ int num =20; // 内部成员变量 public void methodinner(){// 内部成员方法的局部变量 int num =30 阅读全文
posted @ 2022-07-04 10:20 一位程序袁 阅读(28) 评论(0) 推荐(0) 编辑
摘要:接口和多态案例 笔记本电脑 笔记本电脑(Laptop),简称笔记本,又称“便携式电脑,手提电脑、掌上电脑或膝上型电脑”,特点是机身小巧。比台式机携带方便,是一种小型、便于携带的个人电脑。通常重1-3公斤。 笔记本电脑通常会使用预留USB接口的功能 案例分析 进行描述笔记本类,实现笔记本使用USB鼠标 阅读全文
posted @ 2022-07-04 09:37 一位程序袁 阅读(43) 评论(0) 推荐(0) 编辑
摘要:红包实例 上次外面讲了红包的案例思路,来实现一下 写一个User类 public class User { private String name; private int balance; //余额 public User(String name, int balance) { this.name 阅读全文
posted @ 2022-07-03 19:28 一位程序袁 阅读(25) 评论(0) 推荐(0) 编辑
摘要:发红包案例 首先来分析一下: 需要创建一个用户类,群主类,管理成员类 来画图看一下 阅读全文
posted @ 2022-07-03 13:44 一位程序袁 阅读(8) 评论(0) 推荐(0) 编辑
摘要:java语言的三大特征 java语言是单继承的,一个类的直接父类只能有唯一一个 我们来画个图来看一下 阅读全文
posted @ 2022-07-02 18:31 一位程序袁 阅读(18) 评论(0) 推荐(0) 编辑
摘要:继承中的方法覆盖重写 应用场景 比如我们现在有一款手机,然后我们通以前的旧手机 在来更新一下新手机 我们先来实例的旧手机元素 public class UsedMobile { private String name; private String call; public UsedMobile(S 阅读全文
posted @ 2022-07-01 16:48 一位程序袁 阅读(26) 评论(0) 推荐(0) 编辑
摘要:Matn数学工具类 这个方法中有许多数学的方法 我们看几个常用的 public static void main(String[] args) {// 向上取整 System.out.println(Math.ceil(9.8)); System.out.println(Math.ceil(8.8) 阅读全文
posted @ 2022-07-01 16:27 一位程序袁 阅读(142) 评论(0) 推荐(0) 编辑
摘要:数组工具Arrays Arrays是一个与数组相关的工具类,里面提供了大量静态方法,用来实现数组常见操作 我们来写一些操作看一下 里面有好多方法,我们来看几个常用的 我们来看一下最常用的 sort 排序 public static void main(String[] args) { int[] a 阅读全文
posted @ 2022-07-01 14:23 一位程序袁 阅读(588) 评论(0) 推荐(0) 编辑
摘要:静态static的内存图 我们来看一下static 的内存图,我们先来写一个示例 private String name; private int age; private String classroom; public Student(String name, int age, String c 阅读全文
posted @ 2022-07-01 13:35 一位程序袁 阅读(44) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示