- 博客(35)
- 问答 (2)
- 收藏
- 关注
原创 2022.5.17_Stream流式思想概述
1.使用传统方式遍历集合package com.itheima.demo01.Stream; import java.util.ArrayList; import java.util.List; /* 使用传统的方式,遍历集合,对集合中的数据进行过滤。 */public class Demo01List { public static void main(String[] args) { //创建一个List集合,存储姓名
2022-05-17 12:13:01
81
原创 2022.5.3_JDK8新特性
1.函数式接口的概念接口:package com.itheima.FunctionalInterface;/* 函数式接口:有且只有一个抽象方法的接口,称之为函数式接口。 当然接口中可以包含其它的方法(默认、静态、私有) @FunctionalInterface注释 作用:可以检测接口是否是一个函数式接口。 是:编译成功 否:编译失败(接口中没有抽象方法,抽象方法的个数多于1个) */@FunctionalInterface
2022-05-17 11:53:11
115
原创 2022.4.26_打印流
package zh.codegym.test.demo05.PrintStream;import java.io.FileNotFoundException;import java.io.PrintStream;/* java.io.PrintStream:打印流 PrintStream为其它输出流添加了功能,使它们能够方便的打印各种数据值表示形式。 PrintStream特点: 1.只负责数据的输出,不负责数据的读取. 2.与其.
2022-05-03 15:46:32
71
原创 2022.4.15_转换流
1.编码引出的问题,FileReader读取import java.io.FileReader;import java.io.IOException;/* FileReader可以读取IDE默认编码格式(UTF-8)的文件 FileReader读取系统默认编码(中文GBK)会产生乱码*/public class Demo01FileReader{ public static void main(String[] args)throws IOException{ FileReader
2022-04-15 10:52:09
63
原创 2022.4.12_缓冲流
1.缓冲流的原理把字符或者需要读取(写入)的信息,以数组为载体进行传递,效率更高,是对基本流对象的一种增强。2.BufferedOutputStream字节缓冲流import java.io.FileOutputStream;import java.io.BufferedOutputStream;import java.io.IOException;/* 继承自父类的共性成员方法: public void close():关闭此输出流并释放与此流相关联的任何系统资源。 pu
2022-04-14 11:18:14
252
原创 2022.4.11_Properties集合
1.遍历Properties集合import java.util.Properties;import java.util.Set;/* java.util.Properties集合 extends Hashtable<k,v> implements Map<k,v> Properties类表示了一个持久的属性集。Properties可保存在流中或从流中加载。 Properties集合是一个唯一和IO流相结合的集合。 可以使用Properties集合中的方法sto
2022-04-11 11:31:04
176
原创 2022.4.5_IO字符流
1.字符输入流Reader类package zh.codegym.test.IOAndProperties.Demo04.Reader;import java.io.FileReader;import java.io.IOException;public class Demo02Reader { /* java.io.Reader:字符输入流,是字符输入流的最顶层的父类,定义了一些共性的成员方法,是一个抽象类。 共性的成员方法: int read():
2022-04-10 16:52:16
339
原创 2022.3.29_过滤器
1.过滤器的概念 需求: 遍历c:\\abc文件夹,及abc文件夹的子文件夹 只要.java结尾的文件 c:\\abc c:\\abc\\abc.txt c:\\abc\\abc.java c:\\abc\\a c:\\abc\\a\\a.jpg c:\\abc\\a\\a.java c:\\abc\\b c:\\abc\\b\\b.java...
2022-03-29 10:36:35
57
原创 2022.3.25_递归
1.递归递归:方法自己调用自己 递归的分类: 递归分为两种:直接递归和间接递归。 直接递归称为方法自身调用自己。 间接递归可以A方法调用B方法,B方法调用C方法,C方法调用A方法。 注意事项: 递归一定要有条件限制,保证递归能够停止下来,否则会发生栈内寸溢出。 在递归中虽然有限定条件,但是递归次数不能太多,否则也会发生栈内存溢出。 构造方法,禁止递归。 递归的使用前提: 当调用方法的时候,方法的主体不变,每次调用方法的参数不同,可以使用递归。
2022-03-29 09:53:16
86
原创 2022.3.23_File类与IO流
1.File类 java.io.File类 文件和目录路径名的抽象表示形式 java把电脑中的文件和文件夹(目录)封装为一个File类,我们可以使用File类对文件和文件夹进行操作 我们可以使用File类的方法 创建一个文件/文件夹 删除文件/文件夹 获取文件/文件夹 判断文件/文件夹是否存在 对文件夹进行遍历 获取文件的大小 File类是一个与系统无关的类,任何的操作系统都可以使用这个类中的方法。 重点:记住这三个单词 file:文件 directory:文
2022-03-25 09:48:03
59
原创 2022.3.22_Lambda表达式
Lambda表达式标准格式 package zh.codegym.test.ThreadAndLambda.Demo02Lambda;/* Lambda表达式的标准格式: 由三部分组成: a.一些参数 b.一个箭头 c.一段代码 格式: (参数列表)-> {一些重写方法的代码}; 解释说明格式: ():接口中抽象方...
2022-03-23 09:26:50
73
原创 2022.3.14_多线程(线程同步机制)
1.线程安全问题的概述2.线程安全问题的代码实现package zh.codegym.test.ExceptionAndThread.Demo06.Thread.ThreadSafe;/* 模拟卖票案例 创建3个线程,同时开启,对共享的票进行出售。 */public class Demo01Ticket { public static void main(String[] args) {// 创建Runnable接口的实现类对象 Runnabl
2022-03-15 11:21:40
71
原创 2022.3.13_多线程(线程实现方式)
主线程:执行主(main)方法的线程 单线程程序:java程序中只有一个线程,执行从main方法开始,从上到下依次执行。 JVM执行main方法,main方法会进入到栈内存。JVM会找操作系统开辟一条main方法通向CPU的执行路径。CPU就可以通过这个路径来执行main方法。这个路径叫main(主)线程。 创建多线程程序的第一种方式:创建Thread类的子类 java.lang.Thread类:是描述线程的类,我们想要实现多线程程序,就必须继承Thread类。实现步骤:创建一个Thre
2022-03-14 22:16:10
367
原创 2022.3.9-异常
异常分类 java.lang.Throwable:类是java中所有错误或异常的超类。Exception:编译器异常,进行编译(写代码)java程序出现的问题。RuntimeException:运行期异常,java程序运行过程中出现的问题。异常就相当于程序得了一个小毛病(感冒、发烧),把异常处理掉,程序可以继续执行(吃点药,继续革命)Error:错误错误就相当于程序得了一个无法治愈的毛病(非典、艾滋),必须修改源代码,程序才能继续执行。 2.异常的产生过程解析...
2022-03-13 16:28:25
85
原创 Map集合
java.util.Map<k,v>集合Map集合的特点:Map集合是一个双列集合,一个元素包含两个值(一个key,一value) Map集合中的元素,key和value的数据类型可以相同,也可以不同 Map集合中的元素,key是不允许重复的,value是可以重复的 Map集合中的元素,key和value是一一对应java.util.HashMap<k,v>集合 implements Map<k,v>接口HashMap集合的特点:HashMap集.
2022-03-08 10:43:35
190
原创 Set<E>集合
java.util.Set接口 extends Collection接口Set接口的特点:不允许存储重复的元素。 没有索引,没有带索引的方法,也不能使用普通的for循环遍历。java.util.HashSet集合 implements Set接口HashSet特点:不允许存储重复的元素。 没有索引,没有带索引的方法,也不能使用普通的for循环遍历。 是一个无序的集合,存储元素和取出元素的顺序有可能不一致。 底层是一个哈希表结构(查询的速度非常快)。import java.util
2022-02-25 11:21:36
107
原创 list集合
list接口的特点: 有序的集合,存储元素和取出元素的顺序是一致的(存储1 2 3,取出1 2 3)。 有索引,包含了一些带索要的方法。 允许存储重复的元素。List接口中带索引的方法(特有) public void add(int index,E element):将指定的元素,添加到该集合中的指定位置。 public E get(int index):返回集合中指定位置的元素。 public E remove(int index):移除列表中指定位置的元...
2022-02-24 10:49:14
265
原创 Java中的final关键字
对于成员变量,如果使用final关键字,成员变量不可变。由于成员变量具有默认值,所以用了final关键字后必须手动赋值,不会再给默认值。对于final的成员变量,要么使用直接赋值,要么通过构造方法赋值,二者选其一。必须保证类中所有重载的构造方法,都最终会对final的成员变量赋值。public class Person{ private final String name = "abc"; public Person{ name = "ddd"; }
2022-02-24 09:04:43
52
原创 集合相关的数据结构
栈:先进后出,类似于子弹夹。 队列:类似于水管,先进后出。数组:查询快:数组的地址是连续的,我们通过数组的首地址可以找到数组,通过数组的索引可以快速查找数组的元素。 增删满:数组的长度固定,想要增加/删除某元素,必须创建一个新数组,把源数组的数据复制过来。新数组的地址赋值给变量arr,源数组会在内存中被销毁。 源数组:int[] arr = new int[]{1,2,3};新数组:int[] arr = new int[]{1,2};//删除元素 3后,新建新数组,长度为2,把源
2022-02-23 10:51:13
61
原创 2022.2.23-泛型
泛型的概念: 泛型的优缺点 package zh.codegym.test.Demo01Generic;import java.util.ArrayList;import java.util.Iterator;public class Demo01Generic { public static void main(String[] args) {// show01(); show02(); }/* 创建集合对象,使用...
2022-02-23 09:39:19
177
原创 Collection集合
集合框架介绍: java.util.Collection接口 所有单列集合的最顶层的接口,里边定义了所有单列集合共性的方法 任意的单列集合都可以使用Collection接口中的方法。 共性的方法: public boolean add(E e):把给定的对象添加到当前集合中。 public void clear():清空集合中所有的元素。 public boolean remove(...
2022-02-22 14:17:54
53
原创 常用API第二部分
Object类 Person类默认继承了Object类,所以可以使用Object类的equais方法。boolean equals(Object obj) 指示其它某个对象是否与此对象“相等”。equals方法源码: public boolean equals(Object obj){ return (this == obj);}/*参数: Object obj:可以传递任意的对象 == 比较运算符,返回的是一个布尔值 true fal..
2022-02-17 15:08:11
215
原创 内部类概念
分类:匿名内部类是重点成员内部类成员内部类定义格式:修饰符 class 外部类名称{修饰符 class 内部类名称{//方法体} //方法体}间接方式:在外部类的方法中,使用内部类,然后main只是调用外部类的方法。直接方式:公式外部类名称.内部类名称 对象名 = new 外部类名称().new 内部类名称();Outer.Inner duixi...
2022-01-27 15:46:04
59
原创 多态概念及简述
继承或实现是多态的前提。 一个对象拥有多种形态,简称“对象的多态性”。 方法才能覆盖重写,成员变量不可覆盖重写。父类引用指向子类对象,格式:父类名称 对象名 = new 子类名称();或者:接口名称 对象名 = new 实现类名称(); 多态访问成员变量的两种方式: 直接通过对象名称访问成员变量,看等号左边是谁,优先用谁,没有则向上找。 public class Demo{ public static void main(String[] args){
2022-01-25 23:15:40
218
转载 自动拆装箱
包装类型Java 语言是一个面向对象的语言,但是 Java 中的基本数据类型却是不面向对象的,这在实际使用时存在很多的不便,为了解决这个不足,在设计类时为每个基本数据类型设计了一个对应的类进行代表,这样八个和基本数据类型对应的类统称为包装类(Wrapper Class)。包装类均位于java.lang包,包装类和基本数据类型的对应关系如下表所示基本数据类型 包装类 byte Byte boolean Boolean short Short char ..
2022-01-19 17:29:34
100
原创 重载、重写
重载函数或者方法有同样的名称,但是参数列表不相同,这样的同名不同参数的函数或者方法之间,互相称之为重载函数或者方法。(除名字相同外,参数列表、返回值、修饰符、异常都可以不同。)class Animal{ public void eat(String s1,String s2){ System.out.print("动物吃"); }}class Cat extends Animal{ public void eat(String s1){...
2022-01-19 15:17:06
57
原创 CODEGYM_10-3类型转换
类型转换当数据类型不同时,将会发生数据据类型转换。 转换方式:(注意:boolean类型不参与类型转换):自动类型转换(隐式):特点:不需要特殊处理,自动完成。规则:数据范围由小到大。 byte、short、char—>int—>long—>float—>double 注意事项:byte、short、char相互之间不转换,他们参与运算首先提升成为int类型,再计算,这三种类型都可以发生数学运算。强...
2022-01-19 11:31:42
310
原创 CODEGYM_level9-11
parse()返回的是一个Date类型数据,format返回的是一个StringBuffer类型的数据;SimpleDateFormat中的parse方法可以把String型的字符串转换成特定格式的date类型。SimpleDateFormat中的format方法可以把Date型的字符串转换成特定格式的String类型 /*按格式“2013-08-18”输入日期以“AUG 18, 2013”格式显示日期。使用 Date 对象和 SimpleDateFormat。*/public cla...
2022-01-18 09:11:14
83
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人