![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Java基础笔记
文章平均质量分 84
温柔且无情
WO很懒,还没有添加简介
展开
-
整合SSM框架 -- 简单基础SSM项目
整合SSM框架 – 第一个SSM项目学完MyBatis、Spring、SpringMVC,做一个基于SSM框架的基础项目–书籍管理系统,要求可以实现数据的增删改查,业务运行逻辑明了,分层开发,用来巩固学习目标:配置SSM框架实现基础的增删改查功能具备后续方便的拓展功能界面设计整洁最终效果:全部书籍页面新增书籍页面查询书籍页面环境:开发环境环境:IDEA 2021.2.1MySQL 8Tomcat 9Maven 3.8数据库环境创建原创 2021-11-01 10:03:51 · 16347 阅读 · 15 评论 -
JAVA 反射
JAVA 反射1. 类加载器1.1 类加载当程序要使用每个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也会把这三个步骤统称为类加载或者类初始化类的加载就是指将class文件读入内存,并为之创建一个java.lang.Class对象任何类被使用时,系统都会位置建立一个java.lang.Class对象类的连接验证阶段:用于检验被加载的类是否由正确的内部结构,并和其他类协调原创 2021-03-01 11:07:46 · 90 阅读 · 0 评论 -
JAVA 反射
JAVA 反射1. 类加载器1.1 类加载当程序要使用每个类时,如果该类还未被加载到内存中,则系统会通过类的加载,类的连接,类的初始化这三个步骤来对类进行初始化。如果不出现意外情况,JVM将会连续完成这三个步骤,所以有时也会把这三个步骤统称为类加载或者类初始化类的加载就是指将class文件读入内存,并为之创建一个java.lang.Class对象任何类被使用时,系统都会位置建立一个java.lang.Class对象类的连接验证阶段:用于检验被加载的类是否由正确的内部结构,并和其他类协调原创 2021-03-01 11:05:15 · 64 阅读 · 0 评论 -
JAVA Stream 流
JAVA Stream 流1.1 体验Stream 流需求:按照下面的要求完成集合的创建和遍历创建一个集合,存储多个字符串元素把集合中所有以 ” 小 “ 开头的元素存储到一个新的集合把 ” 小 “ 开头的集合中的长度为3的元素存储到一个新的集合遍历上一步得到的集合使用Stream流的方式完成过滤操作list.stream().filter(s -> s.startsWith("小")).filter(s -> s.length() == 3).forEach(System.原创 2021-02-24 13:27:17 · 104 阅读 · 0 评论 -
JAVA 函数式接口
JAVA 函数式接口1. 函数式接口1.1 函数式接口概述函数式接口:有且仅有一个抽象方法的接口Java 中的函数式编程体现的就是 Lambda 表达式,所有函数式较快就是可以适用于 Lambda 使用的接口只有确保接口中有且只有一个抽象方法,Java中的Lambda才能顺利地进行推导如何检测一个接口是不是函数式接口呢?@Functionallnterface放在接口定义的上方:如果接口时函数时接口,编译通过;如果不是,编译失败注意我们自己定义函数式接口的时候,@Func原创 2021-02-22 14:46:06 · 105 阅读 · 0 评论 -
JAVA 接口组成更新
JAVA 接口组成更新1. 接口组成更新1.1 接口组成更新概述接口的组成常量默认修饰符:public static final(可省略)抽象方法默认修饰符:public abstract(可省略)默认方法(Java 8)静态方法(Java 8)私有方法(Java 9)1.2 接口中默认方法接口中默认方法的定义格式:格式:public default 返回值类型 方法名(参数列表) { }范例:public default void show3() {原创 2021-01-31 22:22:54 · 110 阅读 · 0 评论 -
JAVA 方法引用
JAVA 方法引用1. 方法引用1.1 体验方法引用在使用 Lambda 表达式的时候,我们实际上传递进去的代码就是一种解决方案:那参数做操作那么考虑一种情况:如果我们在 Lambda 中所指定的操作方案,已经有地方存在相同方案,那么还有必要再写重复逻辑吗?答案肯定时没有必要那我们又是如何使用已经存在的方案的呢?这就要用到方法引用,通过方法引用来使用已经存在的方案/* 需求: 1.定义一个接口(Printable): 里面定义一个抽象方法: void printStr原创 2021-01-31 22:22:21 · 136 阅读 · 0 评论 -
JAVA Lambda 表达式
JAVA Lambda 表达式1. Lambda 表达式1.1 函数是编程思想概述[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BBfHELDj-1611654125974)(https://s3.ax1x.com/2021/01/26/sXSx1K.png)]在数学中,函数就是有输入量、输出量的一套计算方案,也就是“拿数据做操作”面向对象思想强调 “ 必须通过对象的形式来做事情 ”函数式思想则尽量忽略面向对象的复杂语法:“ 强调做什么,而不是什么形式去做 ”L原创 2021-01-26 17:42:26 · 84 阅读 · 0 评论 -
JAVA 网络编程
JAVA 网络编程1.网络编程入门1.1 网络编程概述计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-57XH2mKe-1611625002790)(https://s3.ax1x.com/2021/01/15/swuhxe.png)]网络编程在网络通信协议下,实现网络互连的不同原创 2021-01-26 09:37:27 · 109 阅读 · 0 评论 -
JAVA基础 TCP 通信程序练习
JAVA基础 TCP 通信程序练习练习1客户端:发送数据,接收服务器反馈服务器:接收数据,给出反馈import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.Socket;/* 客户端:发送数据,接收服务器反馈 */public class ClientDemo { public static void main(String[]原创 2021-01-26 09:35:17 · 118 阅读 · 0 评论 -
JAVA Debug
JAVA DebugDebug概述Debug: 是供程序员使用的程序调试工具, 它可以用于查看程序的执行流程, 也可以用于追踪程序执行过程来调试程序Debug操作流程Debug调试, 又称为断点调试, 断点其实是一个标记, 告诉我们从哪里开始查看如何加断点选择要设置断点的代码行,在行号的取余后面单机鼠标左键即可如何运行加了断点的程序在代码区域右键Debug执行Shift + F9看哪里看 Debug 窗口看 Console 窗口点哪里点 Step Into原创 2020-11-11 23:11:16 · 160 阅读 · 1 评论 -
JAVA方法
JAVA方法方法概述方法(method)时将具有独立功能的代码块组织成为一个整体,使其具有特殊功能的代码集注意方法必须先创建才可以使用,该过程称为方法定义方法创建后并不是直接运行的,需要手动使用后才执行,该过程称为方法调用方法定义格式: //java定义方法格式 public static void 方法名(){ //方法体; }方法调用格式: //方法调用格式 方法名();注意:方法必须先定义再调用形参和实参原创 2020-11-11 19:54:02 · 56 阅读 · 0 评论 -
JAVA数组
数组数组的定义格式格式1: 数据类型[ ] 变量名 (推荐使用)范例: int[ ] arr定义了一个int类型的数组,数组名是arr格式2: 数据类型 变量名[ ]范例: int arr[]定义了一个int类型的变量,变量名是 arr 数组数组初始化概述JAVA中的数组必须先初始化, 然后才开能使用初始化: 为数组中的数组元素分配内存空间, 并为每个数组元素赋值数原创 2020-11-11 19:53:26 · 58 阅读 · 0 评论 -
IDEA
IDEAIDEA概述IDEA全称 lntelliJ IDEA,是用于Java语言开发的集成环境,它是业界公认的目前用于Java程序开发最好的工具。集成环境: 把代码编写,编译,执行,调试等多种功能综合到起的开发工具IDEA下载:https://www.jetbrains.com/idea内容辅助键快速生成语句 快速生成 main() 方法: psvm 回车 快速生成输出语句: sout 回车内容辅助键 Ctrl + Alt + Space(内容补全等)快捷键原创 2020-11-10 15:49:15 · 114 阅读 · 0 评论 -
JAVA循环
循环for循环循环结构特征:重复做某件事具有明确的开始和停止标志循环结构的组成初始化语句: 用于表示循环开启时的起始状态条件判断语句: 反复执行的条件循环体语句: 用于表示循环反复执行的内容条件控制语句:用于表示循环执行中每次变化的内容循环结构对应的语法始化语句: 这里可以是条或者多条语句,这些语句可以完成些初始化操作条件判断语句: 这里使用一个结果值为 boolean类型的表达式,这个表达式能决定是否执行循环体。循环体语句: 以是任意语句,这些语句将反复执行条件控制语句:原创 2020-11-10 15:48:39 · 76 阅读 · 0 评论 -
JAVA基础
JAVA基础注释注释是在程序指定位置添加的说明性文字不参与程序运行,仅起到说明作用注释分类单行注释格式: //注释信息多行注释格式: /* 注释信息 */文档注释格式: /** 注释信息 */关键字关键字: 就是被Java语言赋予了特定含义的单词特点:关键字字母全部小写常用代码编辑器,针对关键字有特殊颜色标记,直观常量常量:在程序运行过程中,其值不可以发生改变的量常量分类:常用类型说明举例字符串常量用双引号括起来的内容原创 2020-11-10 15:47:50 · 59 阅读 · 0 评论 -
JAVA语法
数据语法数据输入:Scanner 使用的基本步骤1️⃣导包 import java.util.Scanner; //导包的动作必须出现在类定义的上边2️⃣创建对象 Scanner input = new Scanner(System.in); //上面的格式,只有 input 是变量名,可以变,其他的不变3️⃣接收对象 //以下代码中,i是变量名可以变,input是上面的变量 int i = input.nextInt(); //接收int类型数据 String j = inp原创 2020-11-10 15:47:05 · 64 阅读 · 0 评论 -
JAVA运算符
JAVA运算符算术运算符运算符:对常量或者变量进行操作的符号表达式:用运算符把常量或者变量连接起来符合java语法的式孑就可以称为表达式不同运算符连接的表达式体现的是不同类型的表达式。举例:int a = 10;int b = 20;int c = a + b;+ : 是运算符,并且是算术运算符a + b : 是表达式,由于 + 是算术运算符,所以这个表达式叫算术表达式算术运算符符号作用+加-减*乘/原创 2020-11-10 15:46:33 · 94 阅读 · 0 评论 -
JAVA概述
JAVA概述语言:人与人交流沟通的表达方式**计算机语言:**人与计算机之间进行信息交流沟通的一种特殊语言JAVA语言是美国Sun公司在1995年推出的计算机语言JAVA之父: 詹姆斯 · 高斯林2009年Oracle甲骨文公司收购Sun公司2004年 Java5.0 更新的力度特别大公司普遍使用 Java8.0在需要运行Java应用程序的操作系统上,安装个与操作系统对应的Java虚拟机即可实现Java的跨平台开发JRE(Java Runtime Environment)是Java程序的原创 2020-11-10 15:46:10 · 603 阅读 · 0 评论 -
JAVA 面向对象基础
JAVA 面向对象基础什么是对象?万物皆对象,客观存在的事物皆为对象什么是面向对象?面向过程就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现的过程什么是类?类是对现实生活中一类具有共同属性的行为的事物的抽象类的特点类是对象的数据类型类是具有相同属性的行为的一组对象的集合什么是对象的属性?属性: 对象具有的各种特征,每个对象的每个属性都具有特定的值什么是对象的行为?行为: 对象能执行的操作类和对象的关系类: 类是对现实生活中一类具有共同属性的行为的原创 2020-11-16 20:12:11 · 72 阅读 · 0 评论 -
JAVA API
APIAPI概述API( Application Programming Interface ) : 应用程序编程接口JAVA API: 指的就是 JDK 中提供的各种功能的 Java 类这些类将地城的实现分装了起来,我们不需要关心这些类是如何实现的,只需要学习这些类如何使用即可,可以通过帮助文档来学习这些API如何使用注意:调用方法的时候,如果方法有明确的返回值,我们用变量接收可以手动完成,也可以使用快捷键完成 ( Ctrl + Alt + V )如何使用帮助文档打开帮助文档找打索引原创 2020-11-16 20:54:12 · 216 阅读 · 0 评论 -
JAVA String
JAVA StringString概述String 类在 java.lang 包下, 所以使用的时候不需要导包String 类代表 字符串 , java 程序中的所有字符串文字都被实现为此类的实例Java 程序中的所有的双引号字符串, 都是 String 类的对象字符串的特点字符串不可变, 他们的值在创建后不能被更改虽然 String 的值是不可变的, 但是他们可以被共享字符串效果上相当于字符串数组( char[] ), 但是底层原理是字节数组 ( byte[] )JDK8 以前是字原创 2020-11-17 13:23:46 · 87 阅读 · 0 评论 -
JAVA StringBuilder
JAVA StringBuilderStringBuilder概述如果对字符串进行拼接操作,每次拼接吗,都会归建一个新的 String 对象,既耗时,又浪费内存空间,而这种操作还不可避免。那么有没有一种比较好的方式可以解决这个问题?答案是肯定的,我们可以通过 Java 提供的 StringBuilder 来解决这个问题。StringBuilder是一个可变的字符串类,我们可以把他看成是一个容器这里的可变指的是 StringBuilder 对象中的内容是可变的String和StringBuild原创 2020-11-17 17:38:44 · 272 阅读 · 1 评论 -
JAVA 基础集合
JAVA 集合基础集合概述:编程的时候如果要存储多个数据,使用长度固定的数组存储格式,不一定满足我们的需求,更适应不了变化的需求集合类的特点: 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变集合类基础学习: ArrayListArrayList :可调整大小的数组实现<>: 是一种特殊的数据类型, 泛型怎么用?在出现 E 的地方我们使用引用数据类型替换即可举例: ArrayList,ArrayListArrayList 构造方法和添加方法方法原创 2020-11-19 20:24:44 · 67 阅读 · 0 评论 -
JAVA StringBuilder
JAVA StringBuilderStringBuilder概述如果对字符串进行拼接操作,每次拼接吗,都会归建一个新的 String 对象,既耗时,又浪费内存空间,而这种操作还不可避免。那么有没有一种比较好的方式可以解决这个问题?答案是肯定的,我们可以通过 Java 提供的 StringBuilder 来解决这个问题。StringBuilder是一个可变的字符串类,我们可以把他看成是一个容器这里的可变指的是 StringBuilder 对象中的内容是可变的String和StringBuild原创 2020-11-19 20:34:48 · 63 阅读 · 0 评论 -
JAVA 集合基础
JAVA 集合基础集合概述:编程的时候如果要存储多个数据,使用长度固定的数组存储格式,不一定满足我们的需求,更适应不了变化的需求集合类的特点: 提供一种存储空间可变的存储模型,存储的数据容量可以发生改变集合类基础学习: ArrayListArrayList :可调整大小的数组实现: 是一种特殊的数据类型, 泛型怎么用?在出现 E 的地方我们使用引用数据类型替换即可举例: ArrayList,ArrayListArrayList 构造方法和添加方法方法名说明原创 2020-11-19 20:58:10 · 63 阅读 · 0 评论 -
JAVA 继承
JAVA 继承继承概述:继承是面向对象三大特征之一。可以使得子类具有父类的属性和方法,还可以在子类中重新定义,追加属性和方法继承的格式格式: //继承的格式 public class 子类名 extends 父类名 {} //范例 public class Zi extends Fu {}父类也称为基类,超类子类也被称为派生类继承中子类的特点:子类可以有父类的内容子类还可以有自己特有的内容继承的好处和弊端继承的好处提高了代码的 复用性 (多个类相原创 2020-11-22 16:34:04 · 94 阅读 · 0 评论 -
JAVA 方法重载-重写
JAVA 方法重载-重写方法重载方法重载定义方法重载值同一个类中定义的多个方法之间的关系, 满足条件的多个方法相互构成重载多个方法在同一个类中多个方法具有相同的方法名多个方法的参数不相同,类型不同或者数量不同方法重载的定义重载仅对应方法的定义, 与方法的调用无关, 调用方式参照标准格式重载仅针对同一个类中方法的名称与参数进行识别, 与返回值无关, 换句话说不能通过返回值来判断两个方法是否相互构成重载与返回值无关在调用时候,Java虚拟机会通过参数的不用来区分同名的方法原创 2020-11-22 16:34:34 · 65 阅读 · 0 评论 -
JAVA 方法
JAVA 方法1.方法概述假如一个代码中有这样三行代码,这三行代码实现一个比较两个数中较大值并输出,如果要多次用到这三个代码块,重复编写太麻烦了,有没有什么办法可以解决这个问题呢?//定义两个变量int a = 10;int b = 20;//获取两个数中的较大值int max = a > b ? a:b;//输出结果System.out.println("max: " + max);我们把这三个代码打包成一个整体,就形成了一个方法[外链图片转存失败,源原创 2020-12-16 09:42:57 · 90 阅读 · 0 评论 -
JAVA 日期类
JAVA 日期类Date 类概述和构造方法Date类代表了一个特定的时间,以毫秒的精度方法名说明public Date ( )分配一个Date对象,并初始化,以便代表它分配的时间,精确到毫秒public Date (long date)分配一个Date对象,并将其初始化,并将其初始化为表示从标准基准时间起指定的毫秒数public class DateDemo01 { public static void main(String[] args) {原创 2020-12-16 09:42:10 · 133 阅读 · 0 评论 -
JAVA 异常
JAVA 异常异常概述异常: 就是程序出现了不正常的情况异常体系#mermaid-svg-YtXgBmiTpvSnoT9C .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-YtXgBmiTpvSnoT9C .label text{fill:#333}#mermaid-svg-YtXgBmiTpvSnoT9原创 2020-12-16 09:41:22 · 62 阅读 · 0 评论 -
JAVA 方法
JAVA 方法1.方法概述假如一个代码中有这样三行代码,这三行代码实现一个比较两个数中较大值并输出,如果要多次用到这三个代码块,重复编写太麻烦了,有没有什么办法可以解决这个问题呢?//定义两个变量int a = 10;int b = 20;//获取两个数中的较大值int max = a > b ? a:b;//输出结果System.out.println("max: " + max);我们把这三个代码打包成一个整体,就形成了一个方法[外链图片转存失败,源原创 2020-12-11 09:35:38 · 60 阅读 · 0 评论 -
JAVA 基本类型包装类
JAVA 基本类型包装类基本类型包装类概述将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据常见的操作之一: 用于基本数据类型与字符串之间的转换基本数据类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoubleDoublecharCharacterbooleanBooleanIntegaer 类的概述和使用Integer:包装一个对象原创 2020-12-08 11:17:12 · 95 阅读 · 0 评论 -
JAVA 冒泡排序
JAVA 冒泡排序Arrays排序: 将一组数据安装固定的规则进行排列冒泡排序: 一种排序的方式,对要进行排序的数据中相邻的数据进行两两比较,将将达的数据放在后面,依次对所有的数据进行操作,直至所有数据按照要求完成排序冒泡排序:如果有N个数据进行排序,总共需要比较N-1次每一次比较完毕,下一次的比较就会少一个数据参与//用两个for循环完成冒泡排序 //用两个for循环完成冒泡排序 for (int x = 0; x < arr.length-1; x++) { for原创 2020-12-06 11:46:47 · 66 阅读 · 0 评论 -
IDEA优化
IDEA优化日常使用 必备快捷键(★★)查找快捷键介绍Ctrl + F在当前文件进行文本查找Ctrl + R在当前文件进行文本替换Shift + Ctrl + F在项目进行文本查找Shift + Ctrl + R在项目进行文本替换Shift + Shift快速搜索Ctrl + N查找classCtrl + Shift + N查找文件Ctrl + Shift + Alt + N查找symbol(查找某个方法名)跳转切换原创 2020-12-06 10:39:57 · 78 阅读 · 0 评论 -
JAVA 常用API
JAVA 常用API查看方法源码选中方法,按下Ctrl + BMathMath类概述:Math包含执行单抽数字运算的方法没有构造方法,如何使用类中的成员呢?看类的成员是否都是静态的,如果是,通过类名就可以直接调用Math类的常用方法方法名说明public static int abs (int a)返回参数的绝对值public static double ceil (double a)返回大于或等于参数的最小double值,等于一个整数public原创 2020-12-06 10:39:27 · 80 阅读 · 0 评论 -
JAVA 接口
JAVA 接口接口的特点:接口用关键字interface修饰public interface 接口名 { }类实现接肯用implements表示public class 类名 implements 接口名 { }接口不能实例化接口如何实例化呢?参照多态的方式,通过实现类对象实例化,这叫接口多态多态的形式:具体类多态,抽象类多态,接口类多态多态的前提:有继承或者实现关系;有方法重写;有父类(类/接口)引用指向(子/实现)类对象接口的实现类要么重写接口中的所有方法要原创 2020-12-03 13:15:12 · 69 阅读 · 0 评论 -
JAVA 抽象类
JAVA 抽象类抽象类概述在Java中,一个 没有方法体 的方法应该定义为 抽象方法 ,而类中如果有 抽象方法 ,该类必须定义为 抽象类关键字:abstract抽象类的特点抽象类和抽象方法必须使用 abstract 关键字修饰public abstract class 类名 { }public abstract void 方法名 ( );抽象类中不一定有抽象方法,有抽象方法的类一定是抽象类抽象类不能实例化抽象类如何实例化?参照多态的方式,通过子类对象实例化,这叫抽象原创 2020-12-02 15:10:01 · 61 阅读 · 0 评论 -
JAVA 修饰符
JAVA 修饰符包的使用和概述包(package)其实就是文件夹作用:对类进行分类管理包的定义格式:格式:package 包名; (多级包用 . 分开)带包的Java类编译和执行手动建包:按照以前的格式编译java文件手动创建包吧class文件放到包的最里面带包执行自动建包:javac -d. 文件名.java导包的概述和使用import java.util.Scanner;Scanner sc = new Scanner(System.in);-原创 2020-12-01 14:43:00 · 75 阅读 · 0 评论 -
JAVA 集合进阶
JAVA 集合进阶1.Collection1.1集合知识回顾集合类的特点:提供一种存储空间科比的存储模型,存储的数据容量可以随时发生变化1.2集合类体系结构#mermaid-svg-Qx6ids42tWmNwokq .label{font-family:'trebuchet ms', verdana, arial;font-family:var(--mermaid-font-family);fill:#333;color:#333}#mermaid-svg-Qx6ids42tWmNwokq .la原创 2020-12-24 16:56:46 · 194 阅读 · 1 评论