![](https://img-blog.csdnimg.cn/20210628144638125.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
小白学Java
文章平均质量分 82
这是小北专门为Java初学者,整理的学习资料笔记和Java练习题,其中包含了小北对Java中各知识点的理解和形象生动的解释。大家一起轻松学Java,一起从小白成为大牛。
北慕辰
优秀的发挥,失败的积累,每天都很完美。
展开
-
【小白学java】D37》》》线程入门学习,线程池 & Lambda表达式
一、线程池线程池概念∶ 线程池其实就是一个容纳多个线程的容器,线程池中的线程可以反复的使用,这样我们就省去了频繁创建线程对象的操作,无需因为反复创建线程而导致资源消耗过多。Lambda表达式是在2014年3月Oracle发布的JDK1.8版本中添加的Java新特性;Lambda表达式其实就是一个匿名函数,Lambda表达式能够使用更加简洁更加灵活的代码来实现匿名内部类要实现的功能,该函数省略了我们使用匿名内部类时要写的多行代码,使用Lambda表达式我们最直接的感受就是只要写一行极少行甚至一行...原创 2021-08-09 22:08:23 · 367 阅读 · 1 评论 -
【小白学java】D36》》》线程入门学习,线程同步机制 和 线程等待与唤醒机制
一、线程安全的概述如果有多个线程在同时运行,而这些线程可能会同时运行一段相同的代码。程序每次运行结果和单线程运行的结果是一样的,而且其他的变量的值也和预期的是一样的,这样就是线程安全的。二、线程同步机制 三、线程的六种状态 四、线程等待与唤醒机制...原创 2021-08-08 15:25:37 · 804 阅读 · 8 评论 -
【小白学java】D35》》》线程入门学习,线程(多线程)的实现
一、并发和并行二、进程和线程三、线程具有随机性四、线程的调度五、多线程的实现原理六、通过Thread类实现多线程 七、通过Runnable实现多线程八、两种实现多线程的方式的区别九、通过匿名内部类实现线程的创建原创 2021-08-04 20:03:16 · 451 阅读 · 1 评论 -
【小白学java】D34》》》类加载(器)& 反射 & 正则表达式
一、 了解类加载当程序要使用某个类时,如果该类还没有加载到内存中,系统会通过类**的加载,类的连接,类的初始化**三个步骤来对类进行初始化二、类加载器,Java加载类时,都是通过类加载器来进行加载三、反射反射就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;并且能改变它的属性。 四、正则表达式作用,模式,符号,功能,使用,案例分析原创 2021-07-31 21:18:47 · 841 阅读 · 6 评论 -
【小白学java】D33》》》网络编程 之 通信协议、分类 & 三要素 & UDP网络通信(常用类,案例)& TCP网络通信
一、网络通信协议(1) 网络通信协议∶(2) TCP/IP协议∶二、通信协议的分类(1)UDP协议(2)TCP协议三、网络编程三要素(1)网络通信协议(2)IP地址(3)端口 四、InetAddress类五、DatagramSocket类六、DatagramPacket类七、UDP网络通信八、TCP网络通信原创 2021-07-30 11:08:38 · 632 阅读 · 6 评论 -
【小白学Java】D32》》》IO流 之 序列化流 & 打印流
一、序列化流,Java提供了一种对象**序列化**的机制。用一个字节序列可以表示一个对象,该字节序列包含该对象的数据、对象的类型和对象中存储的属性等信息。字节序列写出到文件之后,相当于文件中**持久保存**了一个对象的信息。对象的序列化流,ObjectOutputStream 对象的反序列化流,ObjectInputStreamtranslent关键字,序列版本号,打印流:PrintStream原创 2021-07-28 17:11:20 · 532 阅读 · 0 评论 -
【小白学Java】D31》》》IO流 之 缓冲流 & 转换流
一、缓冲流缓冲流,也叫高效流,是对4个基本的(字节/字符)(输入/输出)流的增强,所以缓冲流也有4个流BufferedOutputStream字节缓冲输出流,BufferedIutputStream字节缓冲输入流,BufferedWriter:字符缓冲输出流,BufferedReader:字符缓冲输入流, 二、转换流,字符编码,字符集charsetOutputStreamWriterInputStreamReader原创 2021-07-27 20:50:02 · 802 阅读 · 4 评论 -
【小白学Java】D30》》》IO流 之字符流 & 属性集(Properties集合)
一、字符流 当使用字节流读取文本文件时,如果遇到了中文字符时,可能会遇到字符无法完整的显示出来,因为,一个中文字符可能会占用多个字节来存储,因此,Java中提供了一些字符流类,以字符为单位来进行读写数据,专门用来处理文本文件。二、字符输入流 Reader 在java.io包下的Reader抽象类,是用于读取字符流的所原创 2021-07-23 22:22:01 · 584 阅读 · 2 评论 -
【小白学Java】D29》》》IO流 之 过滤器 & 字节流
一、过滤器在java中,有两种过滤器分别是FileFilter接口和FileNameFilter接口。*FiLe类中有两个ListFiles( ) 重载的方法,这两个重载的方法的参数,传递的就是过滤器.字节输出流字节输入流案例一、使用文件输入流,统计代码行数案例二、使用字节流,实现文件复制原创 2021-07-22 21:27:52 · 765 阅读 · 10 评论 -
【小白学Java】D28》》》IO流 之 File类 & 递归
一、了解File类;java.io包下的 File类是对文件和目录路径名的抽象表示,File类的静态成员变量1.与系统有关的路径分隔符:2.与系统有关的默认名称分隔符,:绝对路径和相对路径;File类的构造方法;File常用方法二、了解递归概念;递归的分类、递归案例原创 2021-07-19 22:27:33 · 710 阅读 · 11 评论 -
【小白学Java】D27》》》程序的异常处理 try - catch & throw & throws& 自定义异常
一、异常异常就是指在程序的执行过程中出现的非正常的情况,而这种非正常的情况最终会导致JVM(java虚拟机)非正常停止;Throwable类,所有的异常都是由它继承而来。该类有两个子类分别是:java.lang包下的Error类和Exception类异常的产生过程分析;;关键字throw,Object类中提供的一个判空方法requireNonNull(),声明异常的关键字throws,try-catch捕获异常当有多个异常使用捕获时的处理方式,子父类异常自定义的异常类原创 2021-07-21 11:23:15 · 752 阅读 · 13 评论 -
【小白学Java】D26 》》》Collections集合工具类
一.常用功能1. public static T boolean addAll(collection<T> c, T... elements):一次性向集合中添加一些元素2. public static void shuffle(List<?> list)打乱集合顺序,每次运行打乱的顺序不一致 3. public static <T> void sort(list<T> list):将集合中元素按照默认的规则排序。 注意: sort(list<T> List)的使用前提: 被排序的集原创 2021-07-18 17:24:52 · 1266 阅读 · 16 评论 -
【小白学Java】D25 》》》Java中的各种集合大汇总,学习整理
在之前的文章里小北整理了java中各个集合的特性,以及各个集合的使用方法,那么,今天小北就来总结归纳下,java中各个集合的区别以及联系,希望各位友友们,点赞????收藏+关注,一键三连走起!集合与数组的区别:集合长度是可变的,数组的长度是固定的数组中存储的是同一类型的元素,可以存储基本数据类型值,集合存储的都是对象(引用类型),而且对象的类型可以不一致,在开发中一般当对象多的时期使用集合进行存储java中有那么多种集合,那么我们在开发使用时又该怎么选择呢?首先,我们得了解下他们之间的联系是原创 2021-07-18 11:50:14 · 703 阅读 · 6 评论 -
【小白学Java】D24 》》》Map集合 & HashMap集合 & LinkedHashMap集合&HashTable集合
了解Map集合- 1.Map集合是一个双列集合,每个元素都包含两个值(key,value) - 2.Map集合中的元素key和vaLue的数据类型可以相同,也可以不同 - 3.Map集合中的元素,key是不允许重复的,但value可以重复 - 4.Map集含中的元素,key和value是一 一对应的关系HashTable集合java.util. HashMap<K,V>集合 java.util.LinkedHashMap<K,V>集合Map集合中常用的功能HashMap集合存储自定义类型原创 2021-07-17 21:41:38 · 663 阅读 · 8 评论 -
【小白学Java】D23 》》》Set集合 & HashSet集合 & 哈希值& LinkedHashSet集合 &TreeSet集合&可变参数
了解Set集合 Set接口和List接口一样,都是在java.util包下,它们都是继承自Collection接口,Set接口中的方法与Collection接口中的方法基本上是一致的。Set集合并没有对collection 接口进行功能上的扩充,它只是比 Collection 接口更加的严格了些。Set接口与List接口不同点,在于Set 接口中的元素数据是无序的,而且会以某种规则来保证存原创 2021-07-15 21:02:17 · 881 阅读 · 11 评论 -
【小白学Java】D22》》》List集合(Arraylist集合、LinkedList集合)& Vector集合
List集合三大特点:和常用功能Arraylist集合数据存储的结构是数组结构。元素增删慢,查找快LinkedList集合数据存储的结构是链表结构。方便元素添加、删除的集合LinkedList集合的特点: LinkedList集合的常用方法:Vector集合原创 2021-07-14 21:19:31 · 837 阅读 · 4 评论 -
【小白学Java】D21》》》你真的搞懂了什么是 equals 吗?深入理解equals方法的使用
equals()方法我们一般用来比较字符串是否相等的,相等,返回true,不相等,返回false。那么我们再来看下以下代码。。。。。。public class equals { public static void main(String[] args) { String str1 = "123"; String str2 = "456"; StringBuilder str3 = new StringBuilder("123");原创 2021-07-14 18:39:54 · 734 阅读 · 4 评论 -
【小白学Java】D20》》》Iterator迭代器 & 增强for循环
迭代器在开发过程中,我们经常需要遍历集合中的所有元素。针对这种需求,JDK专门提供了一个接口 java.uti1.IteratorIterator 接口也是Java集合中的一员,但它与collection、Hap接口有所不同,Collection 接口与Nap接口主要用于存储元素,而 Iterator主要用于迭代访问(即遍历) collection 中的元素,因此Iterator对象也被称为迭代器。...原创 2021-07-12 15:26:27 · 840 阅读 · 6 评论 -
【小白学Java】D19》》》Collection集合
集合与数组的区别:集合长度是可变的,数组的长度是固定的数组中存储的是同一类型的元素,可以存储基本数据类型值,集合存储的都是对象,而且对象的类型可以不一致,在开发中一般当对象多的时期使用集合进行存储【友情链接】–> ArrayList集合及其常用功能一、Collection集合集合本身是一个工具,它存放在java.util包中。在collection 接口中定义着单列集合框架中最最共性的内容Collection接口是所有单列集合的父接口。并且Collection中定义了单列集合(List原创 2021-07-11 21:49:24 · 834 阅读 · 6 评论 -
【小白学Java】D18》》》匿名类&匿名对象&内部类
一、匿名类匿名类,就是没有名称的类前提:存在一个父类或是接口格式: new 父类或接口(){ 重写方法 }范例 new Animal(){ public void eat(){} }本质:一个继承了该类或者实现了接口的子类匿名对象使用多态的形式 创建子类匿名对象二、匿名对象匿名对象:就是没有名称的对象。格式: new 类名(参数列表) 范例 new Scanner(System.in);注意:一个匿名对象只能使用一次三、内部类1.概原创 2021-07-11 15:36:32 · 1004 阅读 · 6 评论 -
【小白学Java】D17》》》抽象类&接口&多态
一、抽象类;概念,定义格式;抽象类的作用特点;抽象类中的成员特点抽象类和抽象方法的使用:二、接口,概念,定义格式;接口的特点:;接口的默认方法;接口的静态方法的使用;接口的私有方法定义:接口的常量定义和使用;类与接口之间的关系三、多态概念,多态的格式与使用;多态中成员变量的访问方式:多态中成员方法的使用特点:多态中对象的向上转型:多态中对象的向下转型【还原】:用instanceof关键字进行类型判断原创 2021-07-11 10:50:11 · 823 阅读 · 6 评论 -
【小白学Java】D16》》》类的继承 & 权限修饰符&状态修饰符final 、static
继承是面向对象的三大特征之一,可以使的子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法,继承的特点、super关键字、方法重写;权限修饰符原创 2021-07-10 18:34:27 · 820 阅读 · 2 评论 -
【小白学Java】D15》》》泛型 & 装箱和拆箱
一、泛型: 1.什么是泛型? 2.泛型的使用3.泛型的通配符< ? >泛型通配符的使用方法的常用方法泛型还有另一种高级用法(受限泛型)(1)泛型的上限(2)泛型的下限 二、 装箱和拆箱简单了解:为什么要使用装箱和拆箱?装箱:基本数据类型转化为引用数据类型(它的包装器类型)拆箱:引用数据类型(它的包装器类型)转化为基本数据类型原创 2021-07-09 20:32:15 · 877 阅读 · 2 评论 -
【小白学Java】D14》》》ArrayList应用<两大案例的数据分组聚合>
ArrayList应用两大案例的数据分组聚合,(1)现有1000条学生数据,要求利用集合ArrayList及其相关方法,对数据进行处理,统计出各班各有多少学生?(2)现有学生信息数据10条,和学生成绩数据60条,要求求出学生各科总和并添加到学生信息数据中.原创 2021-07-09 16:48:58 · 508 阅读 · 2 评论 -
【小白学Java】Test06》》》类和对象练习题
类和对象练习填空题、选择题、判断题、简答题、编程题构造函数的特点区别、静态方法的调用,静态方法与非静态方法的区别联系;1.面向过程和面向对象的区别。2.类和对象的关系*3.构造方法的作用和特征4.this关键字的作用和用法5.简述static关键字的作用。定义一个类 Draw , 在 类 中 提供 3 个 方法:输出直角三角形(drawTrian()) 、 输出矩形(drawRec()) 及平行四边形(drawPra()) 。定义一个表示学生信息的类 Student,要求如下:原创 2021-07-08 20:52:10 · 2575 阅读 · 6 评论 -
【小白学Java】D13》》》Debug调试(追踪)
Debug调试程序:一、概述:Debug调试程序可以让代码逐行执行,查看代码执行的过程,调试程序中出现的Bug二、使用方法:step1: 在行号的右边,鼠标左键单击,添加断点( 每个方法的第一行,哪里有Bug就添加到哪里);如若取消断点,则只要在单击下断点即可step2: 右键选择Debug执行程序step3: &原创 2021-07-08 13:04:09 · 783 阅读 · 0 评论 -
【小白学Java】D12》》》java中常用的API(第二部分)
StringBuilder 类构造方法. 常用方法举例说明,添加append(),反转reverse()String类与StringBuilde类区别Object 类 toString方法、 toString方法举例使用Date类了解及常用方法DateFormat类、功能、成员方法、构造方法、format(Date date)、parse(String source)使用举例 Calendar类(日历类)概述、常用方法使用举例System类常用方法使用举例原创 2021-07-07 19:47:44 · 890 阅读 · 8 评论 -
【小白学Java】D11》》》java中常用的API(第一部分)
API是应用程序编程接口Scanner类\Random类\匿名对象\ArrayList集合de构造方法, ArrayList<>集合常用方法add(),get(int index),remove(int index),size()String类概述String类常用方法,,字符串反转切分替换判断后缀字符串比较获取字符串长度 字符串拼接字符串索引查找获取单个字符字符串截取字符串拆分为数组,获得字符串底层字节数组;static静态代码块;Math类常用方法原创 2021-07-06 20:34:42 · 993 阅读 · 4 评论 -
【小白学Java】D10》》》Java中的内存划分
Java中的内存划分为5个部分一、栈(Stack)二、堆(Heap)三、方法区(Method Area)四、本地方法栈(Native Method Stack)五、寄存器(PC Register)原创 2021-07-05 17:53:21 · 884 阅读 · 4 评论 -
【小白学Java】D09》》》面向对象
一、了解类和对象(一)什么是类?1、类的概述: 对现实生活中某一类具有共同属性和行为事物的抽象(或集合),可以看成是一类事物的模板,使用事物的属性特征和行为特征来描述该类事物。(属性指该事物的状态信息;行为指该事物能够做什么)2、类的特点: (1)、类是对象的数据类型 &n原创 2021-07-04 19:15:47 · 969 阅读 · 10 评论 -
【小白学Java】Test05》》》多重循环&方法&递归练习题
一、选择题分析下面的Java多重循环代码片段,编译运行后的输出结果是( D )。(选择一项) for (int i = 0; i < 6; i++) { int k = ++i; while (k < 5) { System.out.print(i); break; }}A. 024B. 02C. 123D. 13给定如下Java代码,编译运行的结果是( A )。(选择一项)public class Test { public sta原创 2021-07-04 14:26:22 · 1597 阅读 · 10 评论 -
【小白学Java】Test04》》》数组练习题
一、填空题1.数组会在内存中开辟一块___连续_____的空间,每个空间相当于之前的一个变量,称为数组的元素。数组的长度一经确定,就无法再改变。2.要获取一个数组的长度,可以通过__.length_____属性来获取,但获取的只是为数组分配的空间的数量,而不是数组中实际已经存放的元素的个数。3.__声明数组 __仅仅是给出了数组名字和元素的数据类型,要想真正的使用数组还必须使用new关键字为它分配内存空间。4.创建数组后,系统会给每一个数组元素一个默认的值,如String类型元素的默认值是__ nu原创 2021-07-04 11:09:15 · 2409 阅读 · 8 评论 -
【小白学Java】D08》》》方法Function的简单入门了解
一、方法的概述方法是将具有独立运行的代码块组织(封装)为一个整体,使其具有特殊功能的代码集注意:方法必须先创建才可以使用,该过程称之为方法定义方法定义后需要手动使用后才执行,该过程称之为方法调用二、方法的定义注意:方法要定义在main方法之外定义 格式1: public static void 方法名(){ 方法体 }定义 格式2: public static void 方法名(参数1,参数2...参数n){ 方法体 }定义 格式3: public st原创 2021-07-03 16:11:04 · 926 阅读 · 4 评论 -
【小白学java】D07》》》数组的应用< 冒泡排序 &二分查找 & 插入删除元素>
冒泡排序、思考:1. 首先比较第一和第二个数,将小数放在前面,将大数 放在后面 ;二分查找二分查找思想:二分查找思想应用于对有序的数组进行查找操作。;、insert往数组插入元素、delete删除数组中元素原创 2021-07-02 21:29:54 · 984 阅读 · 6 评论 -
【小白学java】D06》》》初识 数组Array
一、了解数组(一维数组)1、概述: 数组(array)是一种用于存储多个相同类型数据的存储模型2、数组的定义格式 有两种定义格式 格式1: 数据类型[] 变量名例如: int[] arr格式2: 数据类型 变量名[]例如: int arr[]3、数组的初始化(动态初始化)初始化 :原创 2021-07-02 21:28:15 · 1082 阅读 · 6 评论 -
【小白学Java】Test03》》》选择语句&循环语句练习题
一、填空题1.Java中有两种类型的选择结构的控制语句,分别是__if语句_和 __ switch语句 __ 。2.在Java JDK1.7之前,switch只能支持byte、short、char、int或者其对应的封装类以及Enum类型。在JDK1.7中又加入了___ string__ 类型。3.for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中在整个循环过程中只执行一次的部分是 __表达式1 ___ 。4.在循环结构中,如果想跳出循环原创 2021-07-03 20:05:03 · 1827 阅读 · 12 评论 -
【小白学java】D05》》》<循环结构 while,do-while,for & 循环的嵌套使用>
一、while循环结二、do - while循环结构三、for循环 循环的嵌套使用使用for循环打印一个矩形 2、使用for循环打印一个三角形3、使用for循环打印一个倒三角形4、使用for循环打印一个菱形 5、使用循环实现一个猜拳小游戏原创 2021-06-27 20:09:05 · 1537 阅读 · 8 评论 -
【小白学java】D04》》》<Scanner类 & 选择判断结构 & Random随机数>
一、Scanner类导包创建使用二、 语句(程序流程控制结构)1.顺序结构: 选择 循环结构:1.if-else单分支、 if-else if多分支 判断结构2.switch选择结构三、Random随机数使用步骤:(1)导包(2)创建对象(3)接收数据原创 2021-06-27 12:04:24 · 1068 阅读 · 9 评论 -
【小白学java】Test02》》》数据类型&运算符练习题
数据类型&运算符练习题一、填空题*二、选择题,位运算符,,进制转换*三、判断题四、简答题Java的数据类型分类。i++ 和 ++i 的异同之处运算符 || 和 | 的异同之处Java中基本数据类型转换的规则五、编码题六、进阶题ASCII、ISO8859-1、GB2312、GBK、GB18030、BIG5、UNICODE、ANSI等字符集的特点2)常用进制(二进制、八进制、十六进制、十进制)的特点及其转换3)源码、反码、补码含义、作用及其转换原创 2021-06-27 14:57:45 · 1986 阅读 · 13 评论 -
【小白学java】D03》》》java基础<运算符&表达式>
运算符和表达式1、运算符: 把常量/变量连接起来的符号2、表达式: 把常量/变量连接起来复合java语法的格式,运算符不同表原创 2021-06-25 20:12:14 · 1199 阅读 · 6 评论