JavaSE
文章平均质量分 86
JavaSE,适合Java新手及小白学习
卡皮巴拉不躺平
鹅厂WXG打工仔
展开
-
【JavaSE】如何简化Java的异常处理?try-with-resource语句的使用
Java异常处理代码太冗余太长,有没有办法优雅地写出简洁的Java异常处理代码?try-with-resource语句来帮你。原创 2022-06-25 20:07:51 · 260 阅读 · 0 评论 -
【JavaSE】JavaSE系列讲解文章
一、简介JavaSE系列讲解是我本人学习JavaSE过程中所作的笔记,视频教程来源是B站尚硅谷宋红康老师的JavaSE: 尚硅谷Java入门视频教程所作笔记并不是简单复制粘贴老师上课文案和代码,其中穿插了很多我个人的理解和感悟。希望能帮到各位小伙伴。源代码稍后会开源到Github上:链接: 源码二、目录JavaSE目录01-Java入门及背景02-变量、数据类型和运算符03-IDEA的使用04-程序流程控制05-数组 Array06-面向对象(上)原创 2022-05-16 20:59:57 · 213 阅读 · 0 评论 -
【JavaSE】18-Java8的其他新特性
十八、 Java8的其他新特性Java 8 的好处:速度更快代码更少(增加了新语法:Lambda表达式)强大的 Stream API便于并行最大化减少空指针异常:Optional 类Nashorn 引擎,允许在 JVM 上运行 JS 应用。18.1 Lambda表达式Lambda 表达式是 Java 8 中最大的语法变化,以至于 18.2 和 18.3 两节的内容都是基于它发展而来的。18.1.1 为什么要使用Lambda表达式Lambda是一个匿名函数,我们可以把 Lambda原创 2022-05-16 20:40:44 · 409 阅读 · 0 评论 -
【JavaSE】17-Java反射机制
十七、 Java反射机制17.1 Java反射机制概述17.1.1 反射-赋予静态语言动态特性的法宝Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于 Reflection API 取得任何类的内部信息,并能直接操作任意对象的内部属性及方法 。加载完类之后,在堆内存的方法区中就产生了一个 Class 类型的对象 (一个类只有一个 Class 对象) ,这个对象就包含了完整的类的结构信息。我们可以通过这个对象看到类的结构。 这个对象就像一面镜子,透过这个镜子看到类的结原创 2022-05-16 20:37:29 · 1065 阅读 · 0 评论 -
【JavaSE】16-网络编程
十六、 网络编程16.1 网络编程概述网络编程的目的:直接或间接地通过网络协议与其它计算机实现数据交换,进行通讯。网络编程中有两个主要的问题:如何准确地定位网络上一台或多台主机;定位主机上的特定的应用。找到主机后如何可靠高效地进行数据传输。16.2 网络通信要素概述网络编程中的两个主要问题,分别对应以下两个要素:要素一:IP和端口号IP :相当于每台主机的身份证号码,是网络当中唯一定位的一台主机。端口号:区分一台主机上不同的应用程序,哪一个应用程序来进行通信。要原创 2022-05-16 20:34:35 · 1082 阅读 · 0 评论 -
【JavaSE】15- IO流
十五、 IO流本章涉及到 Java 操纵硬盘持久化数据。把内存中的数据输出到计算机硬盘中,叫输出流;把计算机硬盘中的数据输入到内存中,叫输入流。15.1 File类的使用15.1.1 File类的实例化1.File的概念在 Java 中,基于万事万物皆对象的思想,硬盘中的文件要想加载到 Java 中,首先要有一个对象作为容器来盛装文件。这个对象就是 File 类创建的对象。File 类创建的对象既可以指的是硬盘中的单个文件,如 XXX.txt、XXX.docx,也可以指的是整个文件目录 (文件夹)原创 2022-05-16 20:26:59 · 575 阅读 · 0 评论 -
【JavaSE】14-泛型
十四、 泛型14.1 为什么要有泛型泛型就是一个标签。在集合的学习中,一个集合中什么类型的数据都可以放,这其实是不好的。因此在 JDK 1.5 中新增了泛型这个新特性,用来规定集合中元素的类型。通过实际代码来体会有/无泛型的区别:1.在集合中没有使用泛型的情况@Testpublic void test1() { //1.在集合中没有使用泛型的情况 ArrayList list = new ArrayList(); //需求:存放学生的成绩 list.add(76原创 2022-05-16 20:02:03 · 255 阅读 · 0 评论 -
【JavaSE】13-集合
十三、 集合13.1 Java集合框架概述1.集合是什么集合是数据的容器,是数组的延申,简称 Java 容器。说明:此时的存储主要指的是内存层面的存储,不涉及到持久化的硬盘存储。2.数组的特点在介绍集合之前,先回顾一下数组的特点:① 首先,数组一旦初始化以后,其长度就确定了。② 数组一旦定义好,其元素的类型也就确定了。如String[] 、int[]。3.数组的缺点① 一旦初始化以后,其长度就不可修改了。② 数组中提纲的方法非常有限,对于添加、删除、插入数据等操作需要自己手写实现方法原创 2022-05-16 19:59:25 · 389 阅读 · 0 评论 -
【JavaSE】12-枚举类与注解
十二、 枚举类与注解12.1 枚举类的使用其实就是项目三当中的员工状态,如FREE、BUSY、VACATION等状态类的对象。总的来说,当一个类只有有限个数的常量对象时,如季节、星期、性别、订单状态等,我们就优先考虑使用枚举类。如果枚举类中只有一个对象,可以作为单例模式的实现方式。12.1.1 自定义枚举类JDK 5.0 之前自定义枚举类。1.使用步骤① 声明枚举类对象的属性:private final;② 私有化枚举类的构造器;③ 提供枚举对象;④ 提供get()属性的方法;⑤ 重原创 2022-05-16 19:53:36 · 484 阅读 · 0 评论 -
【JavaSE】11- 常用类
十一、 常用类原创 2022-05-16 19:51:30 · 497 阅读 · 0 评论 -
【JavaSE】10-多线程
十、 多线程10.1 基本概念:程序、进程、线程10.1.1 三者的概念程序(program):一段静态的文本代码。进程(process):当程序加载进内存运行起来后,就成了进程。是一个动态的过程:有其自身的生命周期。线程(thread):一个进程里面的一条或者几条执行路径。若一个进程同一时间并行执行多个代码,就是支持多线程的。但是由于线程共享JVM中的方法区和堆,多个线程操作共享的系统资源可能会有冲突,带来安全隐患。10.1.2 线程在虚拟机中的分配每个线程独享一份原创 2022-05-13 16:18:38 · 206 阅读 · 0 评论 -
【JavaSE】09-异常处理
九、 异常处理9.1 异常概述与异常体系结构9.1.1 异常的概念异常就是希望程序出现问题时不要中断,而是捕获到异常。然后继续执行下面的代码。注意:编程时的逻辑错误、语法错误等不算是异常。9.1.2 异常体系结构异常最高的的类是 java.lang.Throwable. 其有222个子类:Error和Exception。异常体系结构分为两大类:Error:是Java虚拟机都无法解决的错误。如栈溢出、堆溢出等。一般无法通过异常处理解决,需要修改代码。Exception:因编程错误或偶然原创 2022-05-13 16:07:22 · 272 阅读 · 0 评论 -
【JavaSE】08-面向对象(下)
八、面向对象(下)8.1 关键字:static8.1.1 static的含义(1\mathbf{1}1) static中文是静态的意思。可以用来修饰类的属性、方法、代码块、内部类。(不可以修饰构造器)8.1.2 static修饰属性:静态变量(1\mathbf{1}1) 属性,按是否使用static修饰,又分为:静态属性 vs 非静态属性(实例变量):实例变量:我们创建了类的多个对象,每个对象都独立的拥有一套类中的非静态属性。当修改其中一个对象中的非静态属性时,不会导致其他对象中同样的属性值原创 2022-05-13 16:03:55 · 179 阅读 · 0 评论 -
【JavaSE】07-面向对象(中)
七、面向对象(中)7.1 继承性7.1.1 继承性的涵义(1\mathbf{1}1) 继承性 (inheritance) 定义 个人理解就是把不同子类中共有的属性和方法抽取出来,定义成一个父类。这样,子类可以通过继承父类,获得父类所有的属性和方法 (包括private的属性和方法),减少代码的冗余,并可以在子类中单独定义自己独有的属性和方法。(2\mathbf{2}2) 继承性的好处① 减少了代码的冗余,提高了代码的复用性。② 便于功能的扩展。③ 为之后多态性的使用,提供了前提。7.原创 2022-05-13 16:00:01 · 277 阅读 · 0 评论 -
【JavaSE】06-面向对象(上)
六、 面向对象(上)6.0 面向对象的三大思想面向对象思想编程内容的三条主线:① 类及类的成员:属性、方法、构造器;代码块、内部类② 面向对象的三大特征:封装性、继承性、多态性③ 其它关键字:this,super,abstract,interface,static,final,package,import6.1 类的成员一:属性6.1.2 属性与局部变量不同点:(1\mathbf{1}1) 属性/成员变量可以在声明前添加权限修饰符。如public/private(2\mathbf原创 2022-05-13 15:53:54 · 176 阅读 · 0 评论 -
【JavaSE】05-数组 Array
五、 数组 Array5.1 数组的概述数组属于“引用数据类型”变量。(引用数据类型包括:数组、类)注意和数组的元素的数据类型区分,数组的元素的数据类型可以是整型、String型、char型等。创建数组对象会在内存中开辟一整块连续的空间,而数组名中引用的是这块连续空间的首地址 。数组的长度一旦确定就不能修改。数组的分类:(1) 按照维度:一维数组 、 二维数组 、 三维数组 ……(2) 按照元素的数据类型分:基本数据类型元素的数组 、 引用数据类型元素的数组(即对象数组)原创 2022-05-13 15:46:56 · 484 阅读 · 0 评论 -
【JavaSE】04-程序流程控制
四、 程序流程控制4.1 分支结构4.1.1 if-else结构① 格式1:一种选择if (条件表达式) { 执行代码块;}② 格式2:两种选择if (条件表达式) { 执行代码块1;}else{ 执行代码块2;}③ 格式3:多种选择if (条件表达式1) { 执行代码块1;}else if (条件表达式2){ 执行代码块2;}......else{ 执行代码块n;}④ 例子代码public class IfTest { public sta原创 2022-05-13 15:36:24 · 237 阅读 · 0 评论 -
【JavaSE】03-IDEA的使用
三、 IDEA的使用3.1 快捷键的使用(1\mathbf{1}1) 快捷复制上一行的代码:Ctrl + D;(2\mathbf{2}2) 快捷输入 static void main(String[] args){} :main再按回车。(3\mathbf{3}3) 快捷输入 System.out.println() :sout再按回车。(4\mathbf{4}4) 快捷注释掉代码:① 鼠标选中需要注释掉的代码;② 键盘同时按下:Ctrl + /;即可注释所有代码。③ 相反,鼠标原创 2022-05-13 15:33:55 · 243 阅读 · 0 评论 -
【JavaSE】02-变量、数据类型和运算符
二、 变量、数据类型和运算符2.1 变量2.1.1 变量的声明type varName [=value][,varName[=value]...];//[ ]中的内容为可选项,即可有可无数据类型 变量名[=初始值] [,变量名[=初始值]…];2.1.2 变量的分类局部变量:成员变量(实例变量):静态变量(类变量):2.1.3 常量常量的声明只需要在变量标识符前加"final"即可,只允许初始化一次。final type varName [=value]2.2 数据类型原创 2022-05-13 15:17:35 · 226 阅读 · 0 评论 -
【JavaSE】01-Java入门及背景
一、Java入门及背景1.1 优势Java最大的优势是跨平台。1.2 版本Java SE:标准版。主要面对个人电脑,初学的时候先学这个Java EE:企业版。主要面向企业服务器,高级阶段学这个。EE版包含SE,比SE增加的功能有,访问/链接数据库、前端网页的嵌入等1.3 Java安装及环境配置1.3.1 JVM, JRE和JDKJVM: Java Virtual Machine (Java虚拟机)。Java语言得以跨平台开发的核心秘诀。SUN公司针对不同操作系统开发了不同的 JVM ,从原创 2022-05-13 15:14:09 · 234 阅读 · 0 评论 -
IDEA的单元测试方法:基于JUnit
IDEA的单元测试方法:基于JUnit原创 2022-03-01 09:46:11 · 1638 阅读 · 0 评论 -
Java Development Kit (JDK) 安装及环境配置
1.3 Java安装及环境配置1.3.1 JVM, JRE和JDKJVM: Java Virtual Machine (Java虚拟机)。Java语言得以跨平台开发的核心秘诀。SUN公司针对不同操作系统开发了不同的 JVM ,从而抹除了平台差异的存在。JRE: Java Runtime Environment (Java运行时环境)。运行Java程序(如,我的世界)需要安装的。包括JVMJDK: Java Development Kit (Java开发工具包)。使用Java编程必须安装。包含JRE原创 2021-10-04 18:17:44 · 8067 阅读 · 1 评论