![](https://img-blog.csdnimg.cn/20210520162003734.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Java基础
文章平均质量分 73
1
油炸冰可乐
程序小白成长博客
展开
-
写给刚刚接触Java小白的环境变量配置
Java环境变量配置环境变量的配置分为两步:(1)配置JAVA_HOME找到环境变量与系统变量的配置页面配置JAVA_HOME(2)配置PATH最后在新建栏填入%JAVA_HOME%\bin点击确定即可,打开CMD进行验证原创 2021-04-07 15:12:59 · 124 阅读 · 0 评论 -
「Java高级」StreamAPI
Java高级 StreamAPIStreamAPI在Java8版本中使用,关注的是对数据的筛选、查找、存储等它可以做的事情有:过滤、排序、映射、归约Stream的使用流程:Stream实例化中间操作(过滤、排序、映射、规约)终止操作(匹配查找、归约、收集)案例演示如下:public class EmployeeData { public static List<Employee> getEmployees(){ List<Employee>原创 2021-03-11 10:30:00 · 108 阅读 · 2 评论 -
「Java8 Lambda表达式」
Java8新特性 Lambda表达式1-基本语法左边:Lambda表达式形参列表右边:Lambda表达式重写的方法体,接口中需要重写的方法对于接口,以前的做法是在大括号内重写匿名内部类,完成接口方法的重写,这一次可以使用Lambda表达式完成。2-六种使用方法import org.junit.Test;import java.util.Comparator;import java.util.function.Consumer;public class LambdaTest {原创 2021-03-10 09:14:52 · 122 阅读 · 0 评论 -
「Java高级」反射
「Java高级」反射1-获取Class实例的三种方式@Testpublic void test1() throws ClassNotFoundException { // 1 Class c = MyPerson.class; System.out.println(c); // 2 Class c2 = Class.forName("Reflcetion.MyPerson"); System.out.println(c2); // 3 M原创 2021-03-09 09:55:41 · 101 阅读 · 1 评论 -
「JavaDay27 反射」
JavaDay27 反射https://github.com/Philbenzy/Java-question-100/tree/main/day27(1)反射、动态代理(2)设计模式(3)JDK5、6、7新特性1-反射(1)类的加载及类加载器当使用到某个类时,如果类还未记载进入没存,则需要通过加载连接初始化三步完成对类的加载(2)反射反射能够使用到的类中的成员变量 Field构造方法 Constructor成员方法 Method三者对应着两类不同的获取方式,含原创 2021-03-07 11:54:53 · 152 阅读 · 1 评论 -
「JavaDay26 网络编程」
JavaDay26 网络编程https://github.com/Philbenzy/Java-question-100/tree/main/day26(1)InetAddress类(2)网络编程要素(3)Socket(4)UDP发送数据(5)TCP发送数据1-InetAddress类InetAddress类的构造方法被私有,它的成员方法全都是静态的;最常使用public static InetAddress getByName(String host)来获取地址对象,可以传入IP地址、或原创 2021-03-04 19:54:46 · 135 阅读 · 5 评论 -
「JavaDay24 多线程 (2)」
JavaDay24 多线程(2)https://github.com/Philbenzy/Java-question-100/tree/main/day24本节的主要知识点:(1)JDK5之后对于线程的锁定方法;(2)死锁问题;(3)线程之间通信问题:生产者与消费者;(4)线程组(5)线程池(6)多线程实现(三种)(7)多线程面试(8)设计模式(9)Runtime1-JDK5之后对于线程的锁定方法(1)lock锁lock锁相对于synchronized锁相比,可以更加明确的看到锁原创 2021-03-03 10:42:44 · 105 阅读 · 0 评论 -
JavaDay23 多线程(1)
JavaDay23 多线程(1)https://github.com/Philbenzy/Java-question-100/tree/main/day231-多线程概述(1)线程与进程进程:系统中运行的应用程序;线程:应用程序为了提高自身的执行效率,是进程执行的单元,多线程有助于提高程序使用率;进程与线程之间,举个例子帮助理解,就像是手掌上的5根指头,在打字、拿东西时提高了我们的执行效率2-Java程序的运行原理 & JVM的启动运行原理:使用Java命令开启JVM,之后JVM启动原创 2021-02-22 16:20:50 · 121 阅读 · 0 评论 -
JavaDay22 IO流(3)
JavaDay22 IO流(3)本次接触到的知识点(1)数据操作流(操作基本数据类型的流)(2)内存操作流(3)打印流(4)System类中的标准输入流(5)随机访问流(6)合并流(7)序列化流(8)Properties(9)NIO(10)练习,使用IO流练习读取与登录玩猜数字游戏案例1-数据操流Data用来读写基本数据类型(String byte boolena char …)的流数据输入流:DataInputStream(InputStream in)数据输出流:DataO原创 2021-02-19 16:32:58 · 126 阅读 · 0 评论 -
「JavaDay21」IO流(2)
JavaDay21 IO流(2)本节学到的知识涉及(1)字符流(2)字节流字符流字符流的目的在于,字节流操作中文并不方便,所以出现了转换流,将字节流转换为字符流。转换流是一个字符流,字符流 = 字节流 + 编码表编码与解码的问题编码:String – byte[ ]解码:byte[ ] – String字符流中需要编码的API接口OutputStreamWriterOutputStreamWriter(OutputStream os)OutputStrea原创 2021-02-17 12:06:51 · 142 阅读 · 2 评论 -
「JavaDay20」IO流(1)
JavaDay20 IO流-(1)https://github.com/Philbenzy/Java-question-100/tree/main/day20这次分享的是两类知识(1)递归(2)IO流1-递归(1)方法中调用方法本身递归需要与方法嵌套作区分,例如「Math.max(Math.max(1, 2), 3)」就是函数嵌套。如何分区递归与方法嵌套?回答:函数嵌套强调的是语言特性,递归调用强调的是逻辑思想。(2)递归注意事项递归需要出口条件递归需要放置内存溢出构造方法中不能原创 2021-02-12 16:32:54 · 115 阅读 · 2 评论 -
「JavaDay19」异常与文件
JavaDay19 异常与文件https://github.com/Philbenzy/Java-question-100/tree/main/day19(1)异常(2)File类1-异常(1)异常体系Throwable:异常的顶层类Error:严重错误,不进行处理Exception:RuntimeException:运行时期出现的异常,是程序不严谨造成的,可以不处理,也可以处理非RuntimeException:编译时期出现的异常,必须对问题进行处理,要么抛出,要么使用try-c原创 2021-02-09 13:37:21 · 368 阅读 · 10 评论 -
「JavaDay18 」Map集合
JavaDay18 Maphttps://github.com/Philbenzy/Java-question-100/tree/main/day18本节学习到的有:(1)HashMap(2)TreeMap(3)Collection工具类1-关于Map类关于Mapl类需要知道的有:Map类是一种双列集合,被称为键与值键在集合中保持唯一,值可以重复在Map中,所有的数据关系仅对键有效在进行Map集合的遍历时可以使用两种方法进行,键找值法,键值对法。2-HashMap(1)特点底原创 2021-02-06 18:43:37 · 241 阅读 · 2 评论 -
「JavaDay17」Collection(Set集合)
JavaDay17 Collection(Set集合)https://github.com/Philbenzy/Java-question-100/tree/main/day171-Set集合(1)Set类的特点Set类中存储的对象元素必须是唯一的Set类不存储对象进入Set的顺序,Set有属于自己的排序方式(2)Set的子类HashSetTreeSet2-HashSet(1)HashSet特点HashSet中存储的元素可以依照HashSet内的方法保证录入的元素唯一。(2)原创 2021-02-04 18:59:39 · 218 阅读 · 1 评论 -
「JavaDay16」集合框架
JavaDay16集合框架代码地址:https://github.com/Philbenzy/Java-question-100/tree/main/day161-List的子类特点(1)ArrayList底层为数组结构,增删慢,查询快,线程不安全,执行效率高(2)Vector和ArrayLsit一样,但是线程安全,执行效率低(3)LinkedList底层为链表结构,查询慢,增删快,线程不安全,执行效率高2-ArrayList练习两个小练习:A:ArrayList存储字符串并遍历B:原创 2021-02-02 20:18:12 · 200 阅读 · 0 评论 -
「JavaDay15」集合框架
JavaDay15集合框架本节学习到的内容有以下5类,不分先后顺序:集合Collection体系结构List子类与集合结合使用的迭代器对象集合与数组的区别?常见的一般数据结构整理1-集合的由来?CollectionListArrayListVectorLinkedListSethashSettreeSet在集合没有出现之前,使用对象数组来存储对象,但是,对象数组的长度一旦确定,则不可以发生变化,所以我们希望存在一个容器就像StringBuffer一样原创 2021-01-31 16:15:38 · 230 阅读 · 1 评论 -
「JavaDay14」常用对象
JavaDay14常见类对象(1)正则表达式(2)Math类(3)Random类(4)System类(5)BigInteger类(6)BigDecimal类(7)Date/DateFormat类(8)Calendar类1-正则表达式(1)正则表达式常见规则模块特殊的字符x 字符 x。举例:'a’表示字符a\ 反斜线字符。\n 新行(换行)符 (’\u000A’)\r 回车符 (’\u000D’)字符类[abc] a、b 或 c(表示方括号内的字符只出现一次)[^a原创 2021-01-28 19:09:13 · 282 阅读 · 1 评论 -
「Java基础」冒泡排序与选择排序代码
// 冒泡排序public class ArraySortDemo { public static void main(String[] args) { int[] arr = {33, 44, 25, 47, 87}; System.out.print("排序前:"); printArray(arr); System.out.println(); System.out.print("排序后:"); b原创 2021-01-26 18:44:39 · 302 阅读 · 1 评论 -
「JavaDay13」常用对象学习心得
JavaDay13常见对象主要学习四个类:(1)StringBuffer;(2)Arrays工具类与数组两种查找;(3)Interger;(4)Character;1:StringBuffer(掌握)(1)作用StringBuffer类被称为字符缓冲区,StringBuffer的出现是为了解决String类无法修改,StringBuffer类的作用是将字符串内容变得可以进行修改(2)StringBuffer的构造方法 A:StringBuffer():无参构造 B:S原创 2021-01-26 18:42:21 · 229 阅读 · 1 评论 -
「JavaDay12」String相关总结
JavaDay12 String相关1-Scanner的使用(了解)基本使用方法(1)导包(2)创建对象(3)键盘录入常用格式Scanner sc = new Scanner(System.in); 讲解在这个结构中,我们新建了一个键盘录入对象,为什么这么写呢?这就需要知道Scanner键盘录入对象的构造方法是怎么样的。首先看这个构造方法中传递的参数「System.in」,看他之前有一个小例子:class Demo{ public static final int x =1原创 2021-01-25 19:44:21 · 200 阅读 · 0 评论 -
「Java解决打开别人的项目无法运行」
报错1:IDEA错误:Cannot start compilation: the output path is not specified for module “Test”. Specify the out解决方法:https://blog.csdn.net/zZ_life/article/details/51318306报错2:编译错误:Error: java:错误:不支持发行版本 13解决方法:https://blog.csdn.net/chenlu5201314/article/details原创 2021-01-18 14:19:51 · 635 阅读 · 0 评论 -
「JavaDay10」面向对象学习心得
JavaDay10面向对象1-形式参数和返回值问题形式参数(1)基本类型:例如 int float,这个没什么好说的,函数将参数列表内的值带入函数内部进行计算(2)引用类型:这里的引用类型,有三类(a)对象类(b)接口类©抽象类,这三个不同类型统称为的引用类型可以在函数中充当形式参 数,此时,这里出现的引用类型表示这里需要的东西为一个具体实例对象。// 案例1:形参为对象类public class ClassDemo{ public static void mai原创 2021-01-11 21:02:38 · 268 阅读 · 0 评论 -
「JavaDay9面向对象」学习心得
JavaDay9面向对象day9中,主要介绍5个新的问题:(1)final关键字(2)由继承铺垫而来的多态(3)上下转型问题(4)抽象类(5)接口1:final关键字可以干什么?有什么特点?final关键字意味着最后、最终,用来对方法、成员变量、局部变量(基本数据类型、引用数据类型)、和类进行修饰,被final修饰后的对象,会有不同于以前的变化。final关键字可以修饰的有三类:(1)类:修饰后,无法继承(2)成员变量:修饰后,成为一个常量(3)成员方法:修饰后,无法被子类继承后重写原创 2021-01-07 14:40:20 · 228 阅读 · 0 评论 -
「JavaDay8面向对象」学习新得
JavaDay8 继承配套代码地址:https://github.com/Philbenzy/Java-question-100/tree/main/day81:代码块是什么?代码块的分类和各自特点?代码块是写在花括 { } 号内的执行语句代码块的分类:静态代码块:随着类的加载而加载,只执行一次构造代码块:在执行构造方法之间执行局部代码块:限定变量、方法的生命周期,在执行完毕后被回收2:静态代码块,构造代码块,构造方法的执行流程?静态代码块(一次) > 构造代码块 > 构造原创 2021-01-04 14:55:36 · 194 阅读 · 1 评论 -
「JavaDay7」学习心得
JavaDay7学习心得代码地址:https://github.com/Philbenzy/Java-question-100/tree/main/day7我的个人博客:https://blog.csdn.net/Wang_Pro?spm=1019.2139.3001.53431:局部变量和成员变量的区别?(a) 定义的位置不同 局部变量:在类的方法中出现 成员变量:在所有类的方法外出现(b) 所属不同 局部变量:属于这个类中的某个方法,出现在栈内存 成员变量:属于这个类自身,出现原创 2021-01-04 10:29:28 · 202 阅读 · 0 评论 -
「JavaDay6」学习心得
Day6 总结如何定义二维数组?//二维数组的定义有两种方式,动态定义和静态定义://(1)动态初始化数据类型[][] 数组名称 = new 数据类型[m][n];//(2)静态初始化数据类型[][] 数组名称 = {{...},{...},{...}};遍历二维数组SearchList.java公司年销售求和某公司按照季度和月份统计的数据如下:单位(万元)第一季度:22,66,44第二季度:77,33,88第三季度:25,45,65第四季度:11,66,99 对今原创 2021-01-04 10:26:52 · 287 阅读 · 0 评论 -
「分布式版本控制系统Git」简单使用与配置
1 工作准备:首先需要下载git工具(编译器可以选择自己的,我选择VS code)使用命令”ssh-keygen“在本地生成公钥,之后在user文件夹中.ssh文件找到公钥(_pub文件),添加在github中即可配对2 上传使用到的四个命令:首先使用命令git init 初始化本地仓库,在本地生成.git文件使用 git add . 命令将内容写入暂存区使用git commit -m “提交说明” 将暂存区内容添加到本地仓库使用 git push 提交到远程3 参考资料原创 2020-12-27 11:40:12 · 213 阅读 · 1 评论 -
「JavaDay5」学习心得
1:函数的概念?函数的格式?格式的解释说明1.函数也可以叫做方法,它是特定功能的代码块。1.1函数的格式修饰符 返回值类型 方法名称(参数类型 参数名称1,参数类型 参数名称2,...) 方法语句 return 返回值;修饰符:目前就用 public static。返回值类型:就是功能结果的数据类型。方法名:符合命名规则即可。方便我们的调用。参数: 实际参数:具体参与运算的值; 形式参数:方法定义上的,用于接受实际参数。 参数类型:就是参数的数据类型参数名:就是变量名方法体原创 2020-12-24 21:01:55 · 223 阅读 · 2 评论 -
「Java基础_Day4」学习心得
1:switch语句的格式?针对格式的解释?以及注意事项?switch语句的格式为:switch(表达式){ case 值1: ...执行语句1...; break; case 值2: ...执行语句2...; break; ... default: ...执行语句n...; break;}switch语句的格式需要注意的有(A)if 实现的功能加以区分if适合在一个区间内进行循环,if的条件更多关注的是中间过程,switch语句将表达式与单个值 进原创 2020-12-23 11:14:23 · 224 阅读 · 0 评论 -
JavaDay3问题解答
JavaDay3问题解答1:常见的算术运算符有哪些?算数运算符号有+ - * /(取商) %(取余)+运算符的作用有哪些?(1)计算加法(2)组合不同或同种类的信息除法和取余的区别?除法使用 / 符号,并且整数相除只会得到整数。取余使用%符号++和–的使用规则?++与–表示自增与自减,例如a++,表示运算完成之后的自增,++a表示对a先进行自增,再进行接下来的运算。2:常见的赋值运算符有哪些?赋值运算,变量1 = 变量2+=运算的作用是什么?+=运算的作用在于进行+运算之后的赋值原创 2020-12-21 15:34:40 · 414 阅读 · 0 评论 -
「Java基础_Day3」基础语法
文章目录1 关键字2 标识符3 注释4 常量、进制与进制转换4.1常量4.2 原码、反码、补码4.3进制转换5 变量6 数据类型和类型转换6.1 数据类型6.2 数据类型转换9 思考题1 关键字关键字在定义的时候,全部小写2 标识符标识符由「英文大小写、数字、$、_」组成,对于常见的命名格式为:A:包,全部小写B:类与接口,每个单词首字母大写C:方法与变量,首字母小写,从第二个单词开始大写D:常量,全部大写,多个单词使用_隔开3 注释注释分为三类,A:单行注释 //B:多行注释 /*原创 2020-12-19 11:13:19 · 236 阅读 · 2 评论 -
「Java基础」IO流操作与对象的存储
1 IO操作:对象的序列化-Object(Input/Out)Stream为了将信息通过集合的方式进行本地存储,就需要用到「对象序列化」使用ObjectInputSteram和ObjectOutputStream类进行文件中对象的读写操作,之后,被序列化的对象需要实现「标记接口Serializable」问题1.1 修改已经定义好的对象类内部代码「描述」如果修改了已经定义好的对象类内部代码,那么使用ObjectOutputStream类还可以读出以前储存好的对象吗?不可以,因为Java虚拟机给每一个原创 2020-09-09 20:15:28 · 791 阅读 · 0 评论 -
「Java基础」文件对象的操作总结
1 File类介绍File对象与流对象不同,流对象是对内容(字符、字节)流的封装,File对象是将流对象封装成为文件对象,然后定义一套关于文件对象的方法。2 File类常见的方法常见方法有:文件的创建、删除、判断、获取关于文件的信息1 创建Boolean createNewFile() 在指定位置创建文件,如果该文件已经存在,则不创建,返回false。和输出流不一样,输出流对象一建立创建文件。而且文件已经存在,会覆盖。创建文件夹mkdir()创建多级文件夹mkdirs()2 删除B原创 2020-09-05 15:36:41 · 245 阅读 · 0 评论 -
「Java基础」IO流-2
IO流-2IO操作流对象,分为对字符流和字节流的操作,直白点就是字符流操作纯文本对象,字节流操作非纯文本对象,例如图片,音乐,等多媒体文件。字符流类:FileReaderFileWriterBufferedReader 附带缓冲区BufferedWriter字节流类:FileInputStreamFileOutputStreamBufferedInputStream 附带缓冲区BufferedOutputStream1 自定义缓冲区import java.io.IOExcepti原创 2020-09-02 14:06:01 · 256 阅读 · 0 评论 -
「Java基础」IO流
IO流1 缓冲区的出现缓冲区的出现是为了提高流的操作效率而出现的,避免了频繁的读写,但是缓冲区的服务对象是流,如果没有了流,那么缓冲区的存在会失去意义。2 BufferedWriter与BufferedReader关于BufferedWriter类,它的作用是为了在写入之前暂时存储字符,它的一般用法有:.write(),写入字符进入缓冲区方法.newLine(),换行操作.flush(),将缓冲区内容写入目标文件.close(),关闭缓冲区资源,在.close()之前,如果没有执行.flus原创 2020-08-27 19:58:20 · 218 阅读 · 0 评论 -
「Java基础」IO流
IO流IO流分字符流和字节流IO流的概念、基类有什么、特点概念:IO流的概念是来源于对数据的操作,读写文件,IO流中定义的方法是为了更方便的操作数据,如在设备与设备之间的信息传输,就用到了IO流基类:字节流中的两个基类有,InputStream、OutputStream字符流中的两个基类有,Reader、WriterIO流特点:IO流用来处理设备间的数据传输Java对数据的操作是通过流的方式进行的流按操作可分为字节流与字符流按流向分为:输入流、输出流FileWriter对象的方法原创 2020-08-25 20:14:16 · 200 阅读 · 0 评论 -
「Java基础」集合框架工具Collections
Collections说明:Collcetions是集合框架中的工具,特点是方法都是静态的。Collections中的常见方法1,对list进行二分查找:前提该集合一定要有序。 int binarySearch(list,key);//要求list集合中的元素都是Comparable的子类。 int binarySearch(list,key,Comparator); 2,对list集合进行排序。 sort(list); sort(list,comaprator); 3原创 2020-08-24 14:08:14 · 266 阅读 · 0 评论 -
「Java基础」Comparator与Comparable
Comparator与Comparable 接口的区别Comparable让类可以比较的接口,让类具备比较性,需要覆盖compareTo方法Comparator比较器对象的接口,让集合本身具备比较性,需要覆盖compare方法。Set:该集合中没有特有的方法,直接继承自Collection。 |--HashSet:数据结构是:哈希表。如何保证元素唯一性的呢? 通过元素的两个方法:hashCode(),equals(). 判断元素是否相同,先要判断元素的hashCode值是否一致原创 2020-08-19 20:14:13 · 213 阅读 · 0 评论 -
「Java基础」Map集合
Map集合1 Map集合基础:概述、基本操作、Map 分类1.1 Map集合概述Map集合实现了这样一件事:存储键值对,一对一对存入,同时保证键的唯一性1.2 Map集合基本操作基本操作中,需要说明的是entrySet()、keySet()操作,因为Map集合没有迭代器,所以需要转换成为别的类型进行获取。 1,添加。 put(K key, V value) putAll(Map<? extends K,? extends V> m) 2,删除。 clear()原创 2020-08-18 19:16:44 · 302 阅读 · 0 评论 -
「Java基础」范型
范型概述1 范型是为了解决什么问题?范型的出现是为了解决安全问题,它限制数据传入的类型,下面举例说明// Demo1: 不使用范型ArrayList al = new ArrayList();al.add("java_01");al.add("java_02");al.add("java_03");al.add(new Interger(4)); // 编译通过,但执行报错,出现错误ClassCastException// 报错阶段发生在执行阶段,原因是类型转换异常。//原创 2020-08-16 15:10:38 · 651 阅读 · 0 评论