JavaSE
文章平均质量分 71
记录自己在学习Java基础的过程中的一些笔记
啊噢1231
这个作者很懒,什么都没留下…
展开
-
Java基础学习笔记32——注解
目录1、注解概述2、JDK中预定义的一些注解2.1、@Override2.2、@Deprecated2.3、@SuppressWarnings3、自定义注解4、在程序中使用(解析)注解5、注解案例1、注解概述注解定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明、注释。注解用来说明程序,给计算原创 2022-01-22 16:03:15 · 162 阅读 · 0 评论 -
Java基础学习笔记31——Junit单元测试
1、Junit单元测试分类:黑盒测试:不需要写代码。给输入值,看程序是否能够输出期望的值; 白盒测试:需要写代码的,关注程序具体的执行流程。2、Junit的使用使用步骤:定义一个测试类(测试用例),建议 测试类名:被测试的类名Test,如CalculatorTest;包名 xxx.xxx.xx.test ,如aa.bbb.c.test 定义测试方法:可以独立运行,建议 方法名:test测试的方法名,如testAdd();返回值:void;参数列表:空参 给方法加@Test 导入Ju原创 2022-01-22 11:35:48 · 684 阅读 · 0 评论 -
Java基础学习笔记30——模块化
1、模块化概述Java语言随着这些年的发展已经成为了一门影响深远的编程语言,无数平台,系统都采用Java语言编写。但是,伴随着发展,Java也越来越庞大,逐渐发展称为一门“臃肿”的语言。而且,无论是运行一个大型的软件系统,还是运行一个小的程序,即使程序只需要使用Java的部分核心功能,JVM也要加载整个JRE环境。为了给Java“瘦身”,让Java实现轻量化,Java 9正式推出了模块化系统。Java被拆分为N个模块,并允许Java程序可以根据需要选择加载程序必须的Java模块,这样就可以让Java原创 2022-01-15 14:53:44 · 113 阅读 · 0 评论 -
Java基础学习笔记29——反射
1、类加载器1.1、类加载当程序要使用某个类时,如果该类还未被加载到内存中,那么系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也把这三个步骤称为类加载或者类初始化。1.1.1、类的加载就是指将class文件读入内存,并为之创建一个java.lang.Class对象; 任何类被使用时,系统都会为之建立一个java.lang.Class对象。1.1.2、类的连接验证阶段:用于检验被加载的类是否有正确的内部结构原创 2022-01-15 14:02:07 · 361 阅读 · 0 评论 -
Java基础学习笔记28——Stream流
目录1、体验Stream流2、Stream流的生成方式3、Stream流的常见中间操作方法4、Stream流的常见终结操作方法5、Stream流的收集操作1、体验Stream流需求:按照下面的要求完成集合的创建和遍历:创建一个集合,存储多个字符串元素; 把集合中所有以“张”开头的元素存储到一个新的集合; 把“张”开头的集合中的长度为3的元素存储的一个新的集合; 遍历上一步得到的集合。使用Stream流的方式完成过滤操作:list.stream().filter(s原创 2022-01-14 14:43:51 · 148 阅读 · 0 评论 -
Java基础学习笔记27——函数式接口
1、函数式接口概述函数式接口:有且仅有一个抽象方法的接口。Java中的函数式编程体现就是Lambda表达式,所以函数式接口就是可以适用于Lambda使用的接口。只有确保接口中有且仅有一个抽象方法,Java中的Lambda表达式才能顺利地进行推导。如何检测一个接口是不是函数式接口呢?@FunctionalInterface 放在接口定义的上方:如果接口是函数式接口,编译通过;如果不是,编译失败。注意:我们自己定义函数式接口的时候,@FunctionalInterface是可选的,就算我原创 2022-01-14 12:55:44 · 201 阅读 · 0 评论 -
Java基础学习笔记26——方法引用
目录1、方法引用1.1、方法引用概述1.2、方法引用符1.3、Lambda表达式支持的方法引用1.3.1、引用类方法1.3.2、引用对象的实例方法1.3.3、引用类的实例方法1.3.4、引用构造器1、方法引用1.1、方法引用概述在使用Lambda表达式的时候,我们实际上传递进去的代码就是一种解决方案:拿参数做操作。那么考虑一种情况:如果我们在Lambda中所指定的操作方案,已经有地方存在相同方案,那是否还有必要再写重复逻辑呢?答案肯定是没有必要。那么我们又是如原创 2022-01-13 14:55:44 · 81 阅读 · 0 评论 -
Java基础学习笔记25——Lambda表达式
1、Lambda表达式1.1、函数式编程思想概述在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做操作”。面向对象思想强调“必须通过对象的形式来做事情”;而函数式思想则尽量忽略面向对象的复杂语法,强调做什么,而不是以什么形式去做。1.2、体验Lambda表达式代码演示:package LambdaPackage;public class RunnableImpl implements Runnable{ @Override public voi原创 2022-01-12 20:18:13 · 231 阅读 · 0 评论 -
Java基础学习笔记24——网络编程
1、网络编程入门1.1、网络编程概述计算机网络:是指将地理位置不同的具有独立功能的多态计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。网络编程:在网络通信协议下,实现网络互联的不同计算机上运行的程序间可以进行数据交换。1.2、网络编程三要素IP地址:要想让网络中的计算机能够互相通信,必须为每台计算机指定一个标识号,通过这个标识号来指定要接收数据的计算机和识别发送的计算机,而IP地址就是这个标识号,也就原创 2022-01-10 17:29:11 · 293 阅读 · 0 评论 -
Java基础学习笔记23——多线程
1、实现多线程1.1、进程进程是正在运行的程序,是系统进行资源分配和调用的独立单位,每一个进程都有它自己的内存空间和系统资源。1.2、线程线程是进程中的单个顺序控制流,是一条执行路径。单线程:一个进程如果只有一条执行路径,则成为单线程程序。 多线程:一个进程如果有多条执行路径,则成为多线程程序。1.3、多线程的实现方式1.3.1、方式1:继承Thread类步骤:定义一个类MyThread继承Thread类; 在MyThread类中重写run()方法; 创建MyThre原创 2022-01-09 14:46:46 · 98 阅读 · 0 评论 -
Java基础学习笔记22——IO流
1、File类1.1、File概述File类在java.io包下,故使用时需要导包。File是一个具体的类,继承自Object类,实现了Serializable和Comparable<File>接口。File是文件和目录路径名的抽象表示:文件和目录是可以通过File封装成对象的; 对于File而言,其封装的并不是一个真正存在的文件,仅仅是一个路径名而已,它可以是存在的,也可以是不存在的,将来是要通过具体的操作把这个路径的内容转换为具体存在的。绝对路径和相对路径的区别:绝对原创 2022-01-08 13:32:42 · 285 阅读 · 0 评论 -
Java基础学习笔记21——泛型
目录1、泛型概述1.1、泛型的定义格式1.2、泛型的好处2、泛型类2.1、泛型类的定义格式2.2、泛型类的代码演示3、泛型方法3.1、泛型方法的定义格式3.2、泛型方法的代码演示4、泛型接口4.1、泛型接口的定义格式4.2、泛型接口的代码演示5、类型通配符6、可变参数6.1、可变参数的使用1、泛型概述泛型时JDK5中引入的特性,它提供了编译时类型安全检测机制,该机制允许在编译时检测到非法的类型。它的本质是参数化类型,也就是说所操作的数据类型原创 2022-01-06 19:03:04 · 339 阅读 · 0 评论 -
Java基础学习笔记20——异常
1、异常概述原创 2022-01-06 12:38:35 · 1026 阅读 · 0 评论 -
Java基础学习笔记19——常用API
目录1、Math类1.1、Math类概述1.2、Math类的属性(字段)1.3、Math类的常用方法2、System类2.1、System类概述2.2、System类的属性(字段)2.3、System类的常用方法3、Object类3.1、Object类概述3.1、Object类的构造方法3.2、Object类的常用方法4、Arrays类4.1、Arrays类概述4.2、Arrays类的常用方法5、基本类型包装类5.1、基本类型包装类概述原创 2022-01-05 20:23:55 · 226 阅读 · 0 评论 -
Java基础学习笔记18——内部类
目录1、内部类概述2、成员内部类3、局部内部类2.1、匿名内部类1、内部类概述内部类:就是在一个类中定义一个类。举例:在一个类A的内部定义一个类B,类B就被称为内部类。内部类的定义格式:public class 类名{ 修饰符 class 类名{ //内部类 }}范例:public class Outer{ public class Inner{ //内部类 }}内部类的访问特点:内部类可以直接访问外部类的成员,包括私有;原创 2022-01-05 16:30:42 · 213 阅读 · 0 评论 -
Java基础学习笔记17——抽象类和接口作为形参和返回值
1、类名作为形参和返回值方法的形参是类名,其实需要的是该类的对象; 方法的返回值是类名,其实返回的是该类的对象。代码演示:package prefPackage;//猫类public class Cat { public void eat(){ System.out.println("猫吃鱼"); }}package prefPackage;//猫的操作类public class CatOperator { public void e原创 2022-01-05 14:32:27 · 123 阅读 · 0 评论 -
Java基础学习笔记16——接口
1、接口概述接口就是一种公共的规范标准,只要符合规范标准,大家都可以通用。Java中的接口更多的体现在对行为的抽象。2、接口的特点接口用关键字interface修饰: public interface 接口名{} 类实现接口用implements关键字: public class 类名 implements 接口名{} 接口不能被实例化,若要实例化,需要用多态的方式,通过实现类对象实例化,这叫接口多态。(多态类的形式有具体类多态、抽象类多态、接口多态。) 接口的实现类要么重原创 2022-01-05 14:03:34 · 138 阅读 · 0 评论 -
Java基础学习笔记15——抽象类
1、抽象类概述在Java中,一个没有方法体的方法应该被定义为抽象方法,而类中如果有抽象方法,该类必须定义为抽象类。原创 2022-01-05 11:56:06 · 171 阅读 · 0 评论 -
Java基础学习笔记14——多态
1、多态概述同一个对象,在不同时刻表现出来的不同形态。多态的前提和体现:有继承/实现关系; 有方法重写; 有父类引用指向子类对象。2、多态中成员访问特点//父类引用指向子类对象Animal a = new Cat();成员变量:编译看左边,执行看左边; 成员方法:编译看左边,执行看右边。为什么成员变量和成员方法的访问不一样呢?因为成员方法有重写,而成员变量没有代码演示:package PMPackage;//父类public class Animal {原创 2022-01-04 19:13:47 · 103 阅读 · 0 评论 -
Java基础学习笔记13——包与修饰符
1、包(Package)1.1、包的概述和使用包(Package)其实就是文件夹,作用是对类进行分类管理。包的定义格式:格式:package 包名; //多级包用 . 分开范例:package myPackage;1.2、带包的Java类编译和执行:1)手动建包:按照以前的格式编译java文件,如 javac HelloWorld.java 手动创建包,如在E盘建立myPackage文件夹 把class文件放到包的最里面,如把 HelloWorld.class文件放到my原创 2022-01-04 18:16:14 · 138 阅读 · 0 评论 -
Java基础学习笔记12——继承与方法重写
目录1、继承概述2、继承的好处和弊端2.1、继承的好处2.2、继承的弊端3.继承中变量的访问特点4、super关键字5、继承中构造方法的访问特点6、继承中成员方法的访问特点7、方法重写7.1、方法重写概述:7.2、方法重写的应用场景:7.3、@Override7.4、方法重写的注意事项8、方法中继承的注意事项1、继承概述继承是面向对象三大特征之一,可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法。继承的格式:继原创 2022-01-04 12:18:30 · 217 阅读 · 0 评论 -
Java基础学习笔记11——集合(Collection)接口
目录1、ArrayList类1.1、ArrayList集合的构造方法和添加方法1.1、ArrayList集合的常用方法集合类的特点:提供一种存储空间可变的存储模型,存储的数据容量可以发生改变。1、ArrayList类集合类有很多,如ArrayList类,该类在java.util包下,使用前需要导包。ArrayList<E>:可调整大小的数组实现; <E>:是一种特殊的数据类型,泛型。在出现E的地方我们使用数据类型替换即可。举例:ArrayList&原创 2022-01-03 17:58:10 · 475 阅读 · 0 评论 -
Java基础学习笔记10——字符串类(String & StringBuilder)
API(Application Programming Interface):应用程序编辑接口。Java API:就是JDK中提供的各种功能的Java类。1、StringString类在java.lang包下,java.lang包是提供利用java编程语言进行程序设计的基础类,使用的时候不需要导包。String类代表字符串,Java程序中所有的字符串文字都被实现为此类的实例。也就是说,Java程序中所有的双引号字符串,都是String类的对象。1.1、String的特点:字符串不可变原创 2022-01-03 14:45:02 · 99 阅读 · 0 评论 -
Java基础学习笔记9——面向对象基础
目录1、类和对象1.1、类(Class)1.1.1、类的特点1.1.2、类的组成(属性和行为)1.1.3、类的定义1.2、对象(Object)1.2.1、对象的创建和使用1.3、类和对象的使用范例2、成员变量和局部变量3、封装3.1、private关键字3.2、this关键字3.3、封装4、构造方法1、类和对象1.1、类(Class)类是对现实生活中一类具有共同属性和行为的事物的抽象,确定对象将会拥有的属性和行为。1.1.1、类的特原创 2022-01-02 16:55:54 · 82 阅读 · 0 评论 -
Java基础学习笔记8——Debug
Debug:是供程序员使用的程序调试工具,它可以用于查看程序的执行流程,也可以用于追踪程序执行过程来调试程序。Debug调试:又称为断点调试,断点其实是一个标记,告诉我们从哪里开始查看。Debug操作流程如下:加断点:选择要设置断点的代码行,在行号的区域后面单击鼠标左键即可; 运行加了断点的程序:在代码区域右键Debug“xxxx”执行; 看Debugger窗口:在Debugger下有两个窗口。Frames窗口用来看代码执行到哪里了,Variables窗口用来看代码执行过程中变量的变原创 2022-01-02 12:51:48 · 188 阅读 · 0 评论 -
Java基础学习笔记7——方法
1、方法概述方法(method)是将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集。方法必须先创建才可以使用,该过程称为方法定义。 方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用。2、方法的定义和调用方法在类中进行定义,在main函数中进行调用。形参:方法定义中的参数; 实参:方法调用中的参数。不带参数的方法定义格式:public static void 方法名(){ //方法体} 不带参数的方法调用格式:方法名原创 2022-01-02 12:25:16 · 134 阅读 · 0 评论 -
Java基础学习笔记6——数组
数组(array)是一种用于存储多个相同类型数据的存储模型。1、数组的定义格式格式一:数据类型[] 变量名; 如 int[] arr; 格式二:数据类型 变量名[]; 。 如 int arr[];2、数组的初始化Java中的数组必须先初始化,然后才能使用。所谓初始化,就是为数组中的数组元素分配内存空间,并为每个数组元素赋值。数组在初始化时,会为存储空间添加默认值:整数:默认值0; 浮点数:默认值0.0; 布尔值:默认值false; 字符:默认值是空字符;...原创 2022-01-01 22:25:58 · 500 阅读 · 0 评论 -
Java基础学习笔记5——IDEA的安装和使用
1、IDEA概述和安装IDEA(IntelliJ IDEA),是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。下载地址:https://www.jetbrains.com/idea/安装步骤选择完安装路径,一直点next即可。第一次打开IDEA,选择Do not import settings,点击OK。2、IDEA中创建项目创建一个空项目(JavaSE_Code); 创建一个新模块(idea_test); 在idea_test模块下的src下创建原创 2022-01-01 21:33:10 · 261 阅读 · 0 评论 -
Java基础学习笔记4——流程控制语句
1、顺序结构2、分支结构(if,switch)2.1、if语句 if(关系表达式){ 语句体; } if(关系表达式){ 语句体1; } else{ 语句体2; } if(关系表达式1){ 语句体1; }else if(关系表达式2){ 语句体2; } ... else{ 语句体n+1; }2.2、switch语句表达式:取值为byte、short、int、char。JDK5以后可以是枚举,JDK原创 2021-12-31 20:55:13 · 149 阅读 · 0 评论 -
Java基础学习笔记3——运算符
1、算数运算符即 + 、 - 、 * 、 / 、 %(取余)。除法得到的是商,取余得到的是余数; 整数相除只能得到整数; 字符的运算是用其在计算机底层对应的数值来进行计算的; 算数表达式中包含多个基本数据类型的值的时候,整个算数表达式的类型会自动进行提升; 两个字符串相加(只要有一个是字符串),结果为字符串的拼接。如:"abc"+"d" 结果为"abcd";2、赋值运算符即 = (赋值)。如 a += 1 (即 a = a + 1,扩展的赋值运算符隐含了强制类型转换)。3、自增自减原创 2021-12-31 20:16:55 · 191 阅读 · 0 评论 -
Java基础学习笔记2——基础语法
1、注释单行注释 //注释信息 多行注释 /*注释信息*/ 文档注释 /**注释信息*/ /* Java程序中最基本的组成单位是类 类的定义格式: public class 类名{ }*/public class HelloWorld1{ //main方法是程序的入口方法,代码的执行是从main方法开始的 public static void main(String[] args){ //输出语句,输出“”内的内容 System..原创 2021-12-31 19:26:14 · 148 阅读 · 0 评论 -
Java基础学习笔记1——学习Java的准备
1、JDK的下载和安装1.1、JDK 的下载Java Downloads | Oraclehttps://www.oracle.com/java/technologies/downloads/1.2、JDK的安装目录bin:该路径存放了JDK 的各种工具命令。javac和java就放在这个目录。conf:该路径下存放了JDK的相关配置文件。include:该路径下存放了一些平台特定的头文件。jmods...原创 2021-12-31 18:14:26 · 289 阅读 · 0 评论