核心内容摘要
StructBERT零样本分类-中文-base快速部署:3条命令完成服务启停与状态监控
本系列可作为JAVA学习系列的笔记文中提到的一些练习的代码小编会将代码复制下来大家复制下来就可以练习了方便大家学习。
点赞关注不迷路您的点赞、关注和收藏是对小编最大的支持和鼓励本文篇幅较长建议先收藏再食用系列文章目录JAVA学习 DAY1 初识JAVAJAVA学习 DAY2 java程序运行、
注意事项、转义字符JAVA学习 DAY3 注释与编码规范讲解JAVA学习 DAY4 DOS操作讲解及实例JAVA学习 DAY5 变量数据类型 [万字长文一篇搞定]JAVA学习 DAY6 运算符JAVA学习 DAY7 程序逻辑控制【万字长文一篇搞定】JAVA学习 DAY8 方法【万字长文一篇搞定】JAVA学习 DAY9 数组【万字长文一篇搞定】JAVA学习 DAY10 类和对象【万字长文一篇搞定】JAVA学习 DAY11 类和对象_续1【万字长文一篇搞定】JAVA学习 DAY12 继承和多态【万字长文一篇搞定】JAVA学习 DAY13 抽象类和接口【万字长文一篇搞定】深度剖析 Java 图书管理系统设计与实现类、接口与对象的实战应用JAVA学习 DAY15 Java String类JAVA学习 DAY16 Java 异常Java 基础全攻略从语法到实战项目简单
总结拓展文章Sublime安装指导只需四步图文详解汉诺塔问题从递归思想到代码实现零基础也能看懂Java避坑指南千万别在构造方法中调用重写的方法附代码案例执行流程全解析Java 接口学习核心难点深度解析深入剖析 Java 中的深拷贝与浅拷贝原理、实现与最佳实践目录系列文章目录拓展文章前言
Java 语言入门与环境搭建
初识 Java
第一个 Java 程序与运行机制
Java 基础语法核心
注释、标识符与关键字
数据类型与变量
运算符
程序逻辑控制
输入输出
方法的使用
Java 调试案例讲解
数组的定义与使用
面向对象核心特性
类和对象一
类和对象二
继承
多态
常用类与异常处理
字符串 - String 类
异常
常用工具类介绍
实战项目图书系统
图书系统项目一前置知识
图书系统项目二模块划分与用户模块
图书系统项目三书籍模块
图书系统项目四业务逻辑框架完善
图书系统项目五管理员业务实现
图书系统项目六普通用户业务与共用方法实现前言小编作为新晋码农一枚会定期整理一些写的比较好的代码作为自己的学习笔记会试着做一下批注和补充如转载或者参考他人文献会标明出处非商用如有侵权会删改欢迎大家斧正和讨论Java 作为一门跨平台、面向对象的编程语言应用场景广泛从基础语法到实战项目的学习路径清晰且连贯。
本文将对 2 Java 基础相关内容进行简单概括覆盖语言基础、核心特性、工具类及实战项目帮助快速梳理 Java 基础体系。
Java 语言入门与环境搭建
初识 Java核心围绕 Java 语言的基础认知展开包括 Java 的定义、JavaSE 与 JavaEE 的区别JavaSE 是基础平台JavaEE 面向企业级应用、核心应用领域企业级系统、Web 开发、Android、大数据等、发展简史源自 1991 年 “绿色计划”1995 年正式发布及 11 大核心特性简单性、面向对象、分布式等同时介绍了 JDK 的安装与环境配置。
第一个 Java 程序与运行机制以 HelloWorld 程序为切入点讲解 Java 程序的核心结构源文件、类、方法运行流程先通过 javac 编译为.class 字节码文件再由 JVM 解释执行并明确 JDK、JRE、JVM 的关系JDK 包含 JREJRE 包含 JVM同时列出入门常见错误文件名与类名不一致、main 方法拼写错误等。
Java 基础语法核心
注释、标识符与关键字注释分为单行注释//、多行注释/*/、文档注释/* */文档注释可通过 javadoc 工具生成说明文档。
标识符用户自定义名称类名、方法名等需遵循 “字母、数字、下划线、$” 组成不能以数字开头、不与关键字冲突的规则同时有命名规范类名大驼峰、方法名小驼峰等。
关键字Java 预先定义的保留字如 public、class、static 等按功能分为访问权限修饰符、类 / 方法修饰符等类别用户不能用于自定义标识符。
数据类型与变量字面常量固定不变的值分为字符串常量、整型常量、浮点数常量等 6 类。
数据类型基本数据类型四类八种byte、short、int、long、float、double、char、boolean和引用数据类型明确各基本类型的内存占用与取值范围。
变量存储可变数据的容器讲解定义语法、各类型变量整型、浮点型、字符型、布尔型的使用规则以及类型转换自动类型转换、强制类型转换和类型提升的规则。
运算符涵盖 Java 中所有常用运算符算术运算符四则运算、-、*、/、%、增量运算符、- 等、自增 / 自减运算符、--明确整数除法、取模运算的规则。
关系运算符、!、、 等结果为 boolean 类型需区分 “” 与 “” 的区别。
逻辑运算符短路与、||短路或、!非强调短路求值特性。
位运算符、|、~、^直接操作二进制位适用于底层开发。
移位运算符左移、右移、无符号右移可优化乘除 2 的 n 次方运算。
条件运算符唯一三目运算符表达式 1? 表达式 2: 表达式 3简化条件判断。
程序逻辑控制顺序结构按代码书写顺序逐行执行是基础结构。
分支结构if 语句单分支、双分支、多分支和 switch 语句switch 适用于多值匹配需注意 case 常量唯
break 不可省略等规则。
循环结构while 循环循环次数不确定、for 循环循环次数确定、do-while 循环至少执行一次配合 break终止循环和 continue跳过当前循环控制流程。
综合应用判断素数、打印水仙花数等经典案例。
输入输出输出System.out.println带换行、System.out.print不带换行、System.out.printf格式化输出支持多种占位符% d、% f、% s 等。
输入使用 Scanner 类读取键盘输入支持字符串、整数、浮点数等类型讲解多组输入处理及
常见问题如先读整数后读字符串的换行符问题。
实战猜数字游戏综合输入输出、循环、条件判断功能。
方法的
使用方法定义与意义封装特定功能的代码片段实现模块化、复用性定义语法包含修饰符、返回值类型、方法名、参数列表、方法体。
方法调用需通过 “方法名 参数列表” 调用有返回值的方法需接收返回值。
实参与形参Java 为值传递形参是实参的拷贝修改形参不影响实参。
方法重载同一类中方法名相同、参数列表不同个数、类型、顺序与返回值无关。
递归方法调用自身需满足递归出口和递推公式示例包括求阶乘、斐波那契数列等。
Java 调试案例讲解介绍调试的概念与常见方式重点讲解 IDEA 调试工具的使用打断点、启动调试、逐过程F
逐语句F
强制步入、跳出ShiftF8等操作以及条件断点、查看调用堆栈等实用功能。
数组的定义与使用数组概念存储多个相同类型元素的连续内存空间用于批量存储数据。
数组创建与初始化动态初始化指定长度和静态初始化指定元素明确默认值规则。
数组使用通过下标访问元素注意不越界遍历方式for 循环、for-each。
数组是引用类型讲解 JVM 内存分布堆、虚拟机栈等引用变量存储对象地址。
数组应用作为方法参数 / 返回值、数组拷贝、顺序查找、二分查找、冒泡排序、数组逆序以及二维数组规则与不规则的使用。
面向对象核心特性
类和对象一面向对象认知Java 是纯面向对象语言一切皆对象通过对象交互完成功能对比面向过程的差异。
类的定义用 class 关键字包含属性成员变量和方法成员方法。
对象实例化通过 new 关键字创建对象使用 “对象。
属性 / 方法” 访问成员。
this 关键字指向当前对象解决形参与成员变量同名问题访问成员变量和方法。
对象初始化默认初始化成员变量有默认值、就地初始化、构造方法初始化与类名相同无返回值支持重载用户未定义时编译器生成默认无参构造。
类和对象二包组织类的方式避免类名冲突讲解导入包import、自定义包package 语句、常见系统包java.lang、java.util 等。
封装面向对象三大特性之一通过 private 修饰成员提供 public 的 get/set 方法访问降低耦合性、提高安全性。
static 关键字修饰成员变量类变量所有对象共享和成员方法类方法不能访问非静态成员静态代码块用于初始化静态成员。
代码块普通代码块方法内、构造代码块类内初始化实例成员、静态代码块类内初始化静态成员仅执行一次。
继承继承概念通过 extends 关键字子类继承父类的成员实现代码复用解决共性抽取问题。
父类成员访问子类优先访问自身成员无则访问父类同名时用 super 关键字访问父类成员。
子类构造方法必须先调用父类构造默认 super () 或显式 super (参数)且为构造方法第一条语句。
访问限定符protected 关键字允许同一包或不同包子类访问配合 private、default、public 实现封装。
继承方式支持单继承、多层继承不支持多继承final 关键字可修饰类不可继承、方法不可重写、变量常量。
组合与继承并列的代码复用方式体现 “has-a” 关系优先于继承使用。
多态多态实现条件继承体系、子类重写父类方法、父类引用指向子类对象。
方法重写子类重写父类非静态、非 private、非 final 方法方法原型返回值、方法名、参数列表一致访问权限不低于父类。
向上转型与向下转型向上转型子类对象赋值给父类引用简化代码向下转型需用 instanceof 判断避免类型转换异常。
多态优势降低圈复杂度、提高可扩展性避免大量 if-else。
常用类与异常处理
字符串 - String 类String 类特性不可变对象内部存储在字节数组中字符串常量池用于复用字符串。
常用方法字符串比较equals、compareTo、查找charAt、indexOf、转换数值与字符串互转、大小写转换、替换、拆分、截取、去除空格等。
StringBuffer 与 StringBuilder可变字符串StringBuffer 线程安全StringBuilder 效率高适用于频繁修改字符串的场景。
异常异常概念与体系异常是程序运行时的不正常状态顶层类为 Throwable分为 ErrorJVM 无法解决的严重问题和 Exception可处理的异常。
异常分类编译时异常受检查异常和运行时异常非受检查异常。
异常处理throw手动抛出异常、throws声明方法可能抛出的异常、try-catch捕获并处理异常、finally无论是否异常都执行用于资源清理。
自定义异常继承 Exception 或 RuntimeException用于业务相关异常场景。
常用工具类介绍日期相关类Date 类早期日期类部分方法过时、LocalDateTime 类Java8 引入支持日期创建、获取年月日时分秒、日期运算、格式化等。
BigDecimal 类处理高精度小数运算避免 double 精度丢失支持加减乘除运算除法需指定精度和舍入模式。
实战项目图书系统
图书系统项目一前置知识设计模式单例模式饿汉式、懒汉式确保类只有一个实例、工厂模式简单工厂、工厂方法解耦对象创建与使用、代理模式静态代理控制对象访问如权限检查。
jar 包使用介绍 jar 包的概念、作用以及项目中引入 jar 包的步骤。
图书系统项目二模块划分与用户模块模块划分分为用户模块、书籍模块、工具模块、常量模块LibrarySystem 为程序入口。
用户模块抽象 User 类包含姓名、ID、角色属性抽象 display 方法AdminUser管理员和 NormalUser普通用户子类实现各自操作菜单引入工厂模式创建用户对象代理模式控制权限。
图书系统项目三书籍模块Book 类定义书籍属性书 ID、书名、作者、类别等实现 toJSON 方法序列化为字符串、Comparable 接口用于排序。
Library 类管理书籍数据实现数据持久化通过文件存储包含加载文件数据到内存、将内存数据写入文件的功能。
AnalyzingBook 类解析书籍对象与 JSON 字符串的相互转换。
图书系统项目四业务逻辑框架完善ProxyUser 类完善业务逻辑分发根据用户角色管理员 / 普通用户和操作选择调用对应方法。
AdminUser 类完善管理员业务方法上架、修改、下架图书等的数据准备工作。
NormalUser 类设计借阅信息存储PairOfUidAndBookId 类完善借阅、归还图书的数据准备。
单例模式ScannerSingleton 和 LibrarySingleton确保 Scanner 和 Library 类全局唯一实例。
图书系统项目五管理员业务实现详细实现管理员核心业务添加图书检查权限、准备数据、调用 Library 方法存储、更新图书根据 ID 查找并修改、下架图书覆盖删除、查看借阅次数、统计热门图书、按类别 / 作者统计图书、移除上架超一年的图书等。
图书系统项目六普通用户业务与共用方法实现普通用户业务借阅图书检查书籍是否可借、记录借阅信息、归还图书更新书籍状态、删除借阅记录、查看个人借阅情况。
共用方法查找图书、显示所有图书、退出系统供管理员和普通用户共用。