![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java学习笔记
文章平均质量分 66
llxxqq5
一个小白的记录
展开
-
30.Stream与新的日期类
Stream:类似于集合,只不过集合是存数据的; Stream只是操作中间过程Stream使用:1.创建Stream2.Stream的中间操作过程3.Stream的终止操作: 遍历1.Stream的创建:1.通过List集合获取Stream对象单线程流--有序//1.通过List集合获取Stream对象 List<String> list = new ArrayList<String>(); list.add("zs"); list.add.原创 2021-11-16 19:51:41 · 781 阅读 · 0 评论 -
29.Lambda表达式
概述:特殊的匿名内部类,书写格式参照着匿名内部类来改造即可用法:可以将lambda表达式(相当于匿名内部类的传参写法)以参数形式传递lambda语法结构:接口引用 = (参数)->{}描述:->左边是匿名内部类中重写方法的参数 ->右边是匿名内部类中的函数体及返回值细节1:如果匿名内部类的重写方法体只有一条语句,return和{}可以省略细节2:lambda表达式可以通过接口引用自动识别结构细节3:()中只填写参数名即可;如果只有一个参数,则可省略()细节4...原创 2021-11-16 19:39:06 · 57 阅读 · 0 评论 -
28.设计模式与枚举
1. 设计模式(重点)概述:是一套经人反复使用的代码设计经验的总结 也可以理解为特定问题的特定的解决方案好处:可读性更强,更容易复用设计模式的归类,分三大类:(23种)1.对象型模式:对象的创建方式;例如:单例,工厂模式等2.结构型模式:组织结构的包装;例如:装饰者模式(处理流),代理模式等3.行为型模式:对象的行为监听;例如:观察者模式等1.1 工厂模式(重点)概述:从工厂中根据需求,获取产品(对象) 两种工厂模式:1.静态工厂; 2.实例工厂...原创 2021-11-16 19:31:02 · 115 阅读 · 0 评论 -
27.反射
1. 反射(重点)1.1 反射概述概述:反射对象,就是类对象,是类加载的产物, 只要有了类对象,就可以知道类的所有信息(类名,接口,包名,属性,方法等) 获取类对象方式: 1.类名.class (常用) 2.对象.getClass() 3.Clas.forname("包名.类名") (常用) 结论:无论哪种方式获取的类对象,都是同一个...原创 2021-11-16 19:24:22 · 372 阅读 · 0 评论 -
26.计算机网络
1.计算机网络1.1 概述什么是网络:由点(计算机)和线(网线)构造的网状结构什么是计算机网络:不同区域的计算机,通过线路连接能够实现数据传递与资源共享的方式什么是网络编程:实现数据传递与资源共享的具体技术1.2 网络模型概述:在实现通讯过程中的软硬件结合的操作1.3 网络编程三要素(重点)IP地址:计算机的唯一标识有两种IP地址表示:IPV4:分4个段,每个段最高为255;例如:192.168.1.6IPV6:分8个段,每个段最高位FFFF;(十六进制)IPV4..原创 2021-11-15 21:10:47 · 84 阅读 · 0 评论 -
25.IO流
IO流概念:程序与文件之间存储数据的通道流的划分:1. 按方向划分: 输入流,输出流输入流:将文件中的数据读到程序中输出流:将程序的数据写到文件中2. 按单位划分: 字节流,字符流字节流:读写最小单位,按一个一个字节读写,效率低;读写所有文件(音频,视频,图片)字符流:按一个一个字符读写,效率高;只能读写文本文件3. 按功能划分:节点流,处理流节点流:基础流,没有经过处理的流处理流:经过处理包装后的流,功能更为强大1.1 字节节点流==================.原创 2021-11-15 20:59:20 · 103 阅读 · 0 评论 -
24.线程
1.线程基础 进程概念:运行中的程序 线程概念:是进程中的一条执行路径,往往一个进程中会有多条执行路径--多线程 JVM从main方法入口开始执行,这就是一个执行路径,我们叫做主线程; 可以在主线程中,创建其他线程,我们叫做子线程 进程与线程的关系: 线程是cpu调度的基本单位,cpu切片切到谁就谁执行 一个进程可以包含多个线程,至少有一个线程 进程具有独立的资源空间,但是一个进程中的多个线程共享资源 线程的特点: 随机互抢资源 线程的组成: cpu...原创 2021-11-15 20:41:30 · 273 阅读 · 0 评论 -
23.异常
1. 异常概述:程序的不正常执行处理异常的必要性:如果不处理,程序则会中断异常的分类:Throwable:错误与异常的父类,子类有Error,ExceptionError: 错误异常,例如硬件问题,JVM异常,程序员无法处理Exception:一般性异常,程序员能处理,包含两个子类:运行时和编译时异常运行时异常:非受检异常,运行时出现问题,直接奔溃例如:类型转换异常(ClassCaseException),下标越界(ArrayIndexOutOfBoundsException),空指针.原创 2021-11-02 20:05:47 · 69 阅读 · 0 评论 -
22.Map
TreeMap集合(重点)1.1 基本使用Map接口:下面的实现类都实现了存储键值对的特点存储特点: key无序,且唯一;value允许重复; 如果key重复,那么value会覆盖之前的Map的实现类HashMap: 通过hash算法实现存储通过源码分析可知:具体实现与HashSet一致的,因为HashSet就是通过HashMap完成的存储public class Test1 { public static void main(String[] args) { Ma...原创 2021-11-01 17:13:44 · 260 阅读 · 0 评论 -
21.Collections工具类与Set集合
1.Collections工具类主要是为List集合服务,进行相关的List功能处理注意: Collection与Collections要区分开扩展了解复合泛型<T extends Comparable<T>>: 所使用的T类型必须要实现Comparable<T extends Comparable<? super T>>:所使用的T类型或T的父亲实现Comparable接口//例如:此处List存Integer类型,定义复合类型说...原创 2021-10-30 09:17:33 · 217 阅读 · 0 评论 -
20.List
1.集合的概念概念:对象的容器,集合中提供了常用的方法,可以实现与数组类似的存储与数组的区别:数组长度固定,集合是动态存储的数组可以存基本类型和引用类型,集合只能存引用类型集合框架介绍:1.1 Collection接口//Collection: 集合的根接口//包含了两个子接口: 1. List 2.Set//Collection的常用方法:public class Test1 { public static void main(String[] args)...原创 2021-10-28 20:02:43 · 72 阅读 · 0 评论 -
19.时间、日期与System类
Date类(重点)Date类: 日期类打印日期为格林威治时间格式public class DateTest { public static void main(String[] args) { Date date = new Date(); System.out.println(date); System.out.println(date.getTime()); //Date date2 = new Date...原创 2021-10-27 20:57:05 · 93 阅读 · 0 评论 -
18.BigInteger与BigDecimal 、Math与Random
BigDecimal(常用)BigDecimal:用于存储比double更精确的值public class BigDecimailTest { public static void main(String[] args) { double a = 0.1; double b = 0.09; System.out.println(a-b); BigDecimal big1 = new BigDecimal("0...原创 2021-10-27 20:53:18 · 81 阅读 · 0 评论 -
17.String类与可变字符串StringBuffer、StringBuilder
====================String的创建===================字符串类的创建:public class CreateTest { public static void main(String[] args) { String a = "hello"; //直接赋值创建对象 String aa = "hello"; System.out.println(a==aa); //true ...原创 2021-10-27 19:04:27 · 84 阅读 · 0 评论 -
16.包装类
包装类=======================装箱与拆箱=======================java语言特性: 面向对象为了承诺java中一切皆为对象,八大基本类型需要有对应的包装类的类型,包装类是一个引用类型,具备了面向对象的特点int--->Integerchar-->Character其余只需首字母大写就变成了包装类基本类型与包装类的转换public class Test1 { public static void main(String[...原创 2021-10-27 19:00:16 · 42 阅读 · 0 评论 -
15.Object
Object基本操作(重点)Object类:老祖宗类,所有类直接或间接继承ObjectObject类中的方法是所有类都具有的方法---继承性Object中的多态使用:1.直接Object引用子类对象2.Object引用传参方式接收对象3.Object以返回值方式接收对象class Son{ } public class BasicTest { public static void main(String[] args) { Object obj1 ...原创 2021-10-27 18:00:13 · 63 阅读 · 0 评论 -
14.内部类
成员内部类概述:一个类的内部又包含了一个完整的类特点: 1.外部类和内部类都可以生成独立字节码文件 2.内部类可直接使用外部类的私有成员属性,而不破坏封装性 3.外部类的具体实现可以交给内部类来完成 1 实例内部类实例内部类用法: 1.使用特点 2.调用方式 class Outter{ //外部类 private String name="凤姐"; public int add(int a,int b) { ...原创 2021-10-27 17:55:50 · 115 阅读 · 0 评论 -
13.接口
1 接口概述接口: 特殊的抽象类,使用方式及组成部分都与抽象类类似语法: interface implements注意: 在接口中只能定义公开的静态常量及公开的抽象方法接口与抽象类的异同:相同点: 可以编译成字节码文件 都不能具体化 都可以作为引用对象(多态) 都可以使用Object(祖宗类)的方法(继承)不同点: 接口属性都是公开的静态常量 接口方法都是公开的抽象方法 接口没有构造方法,动态代码块,静态代码...原创 2021-10-27 17:50:02 · 67 阅读 · 0 评论 -
12.static与final关键字
java中的五大存储区域:栈、堆、方法区、寄存器区、本地方法区寄存器区:主要是线程的存储区域本地防区:第三方语言的存储区域,例如:c/c++重点分析三大区域:堆,栈,方法区栈:存局部变量 (引用对象,基本变量)堆:new对象,成员属性方法区:class文件,静态区(static修饰),常量池(字符串常量)-往往方法区的东西只有一份1 静态属性=========================成员属性案例=========================class My..原创 2021-10-27 17:45:07 · 57 阅读 · 0 评论 -
11.抽象类
生活中的抽象:从网上搜索动物类,可以具体化子类对象;但是不能具体化动物的对象程序中的抽象类:有一个类不能够具体化出来对象,这个类就是抽象类程序中的抽象方法:往往在抽象类中,有这个方法但不能具体实现,这个方法叫做抽象方法例如: 动物类不能具体化,这个动物类就是抽象类; 动物类一般都有叫的方法,但不能具体实现,叫的方法我们可以设置为抽象方法; 抽象方法用处:作为一个模板,该抽象类的子类必须完成抽象方法的重写案例: 动物类都有叫的方法,狗类,猫类(子类)完成具体实现抽...原创 2021-10-27 17:33:35 · 114 阅读 · 0 评论 -
10.多态
生活中的多态:客观事物在人脑中的主观反应;也就是说对象与某个类间存在“is a”关系 例如:大黄是一条狗,也是一个动物,这种关系就是多态的形成程序中的多态:父类引用指向子类对象,在程序中形成了多态 用法: 可以调用父类的方法,但是不能调用子类独有的方法 ===========================多态核心===========================案例:大黄是一条狗,也是一个动物分析: 类: 狗类 动物类 对象...原创 2021-10-27 17:30:20 · 74 阅读 · 0 评论 -
9.Java三大特性--封装性、继承性
1. 封装性(重点)面向对象的三大特性:封装,继承,多态//面向对象案例:车子的发动//分析: 类: 车类 对象: new 属性:颜色,品牌等 方法:启动//问题: 价格可以赋值为负数--程序逻辑没问题,但数据不合理//解决方案:在程序中对属性的值进行判断是否大于0,如果小于0,则给定一个默认值即可//封装性:不要使用属性直接赋值与取值,而是通过方法进行封装;该方法就是set/get方法//好处:提高安全性及复用性//封装性操作步骤://1.编写set/get...原创 2021-10-21 08:44:40 · 119 阅读 · 0 评论 -
类与面向对象
1.类和对象(重点)引入:在程序的世界中一切皆为对象面向对象和面向过程思想:面向过程:关注做了什么事,而不关心是谁做的面向对象:关注谁做了这件事 生活案例:面向过程:白白的皮肤,修长的腿;特能吃 String color = "白色"; double height = 1.5; eat(); //吃的方法面向对象:佩奇的特征--肤白,腿长, 行为-能吃 Dog peiQi = new ...原创 2021-10-19 19:58:06 · 166 阅读 · 0 评论 -
排序与二维数组
1、排序****============排序基础==========交换两个变量的值int a = 3;int b = 5;System.out.println("交换前:a="+a+" b="+b);int temp = a;a=b;b=temp;System.out.println("交换后:a="+a+" b="+b);==============冒泡排序**===================//冒泡排序:相邻两数两两比较,大的放右边,比较完一轮后,最.原创 2021-10-18 19:35:20 · 87 阅读 · 0 评论 -
学习4--循环语句
1.循环(重点)1.1 while循环=======================while循环===========================//案例:打印100遍“helloworld”//int i = 1000; //如果初始为1000,则一次都不执行int i = 1; //初始化语句-与条件判断有关int b = 1; //初始化语句? 不是while(i<=100){ //条件判断 System.out.println("helloworld-"...原创 2021-10-13 19:27:33 · 211 阅读 · 0 评论 -
学习--分支语句
1.运算符(重点)===================赋值运算符===================//赋值运算符:= += -= *= /= %=//基本赋值: =//复合赋值: += -= *= /= %=int a = 3; //定义变量时赋值(初始化赋值)a = 5; //基本赋值System.out.println(a); //5a += 3; //8 等价:a=a+3 先加再赋值System.out.println(a); //8a *= 2; /...原创 2021-10-13 19:24:20 · 81 阅读 · 0 评论