首页/新闻资讯/正文详情

Java学习日记 2026.09.23

发布时间:2026/9/24 12:53:23 来源:云帆数科 栏目:资讯中心
Java学习日记 2026.09.23
今天结束了javase的最后阶段上节课剩余的异常的finally以及处理流程还有常用工具类的介绍。一.finally不管是否发生异常finally里的代码一定会被执行一般finally里执行的是善后的操作或一些资源清理的扫尾工作补充try-catch中try后可写小括号可把finally合并起来如try {return 10;}finally {return 20;}⇒ 返回的是20即使遇到return了finally也还是会执行虽然可以运行但工作中最好不要在finally中写return语句异常的处理流程如果有多个异常报错应该先看第一行的这才是根本原因⇒ 异常信息调用栈建议从上往下排除异常如果向上一直传递都没有合适的方法处理异常最终就会交给JVM处理程序就会异常终止流程总结1. 程序先执行try中的代码2. 如果try中的代码出现异常就会结束try中的代码看和catch中的异常类型是否匹配3. 如果找到匹配的异常类型就会执行catch中的代码4. 如果没有找到匹配的异常类型就会将异常向上传递到上层调用者5. 无论是否找到匹配的异常类型finally中的代码都会被执行到在该方法结束之前执行6. 如果上层调用者也没有处理的了异常就继续向上传递7. 一直到main方法也没有合适的代码处理异常就会交给JVM处理此时程序就会异常终止二.自定义异常类要继承Exception这个类 — 默认自定义的异常类是一个受查异常/编译异常要继承RuntimeException这个类 — 此时这个异常类是非受查异常/运行异常⇒ 运行异常一般是代码写错参数传错、空指针、输入错、越界、类型转换错误等编译异常一般是外部环境问题文件不存在、网络断开、IO失败等三.常用工具类介绍1、日期相关类(1) Date类早期用于表示日期和时间的类位于java.util包中Date date new Date(123,2,5);① Date默认的时间是1900年起计算的 → 实际是19001232023用来确定年份② 2代表3月0代表1月实际输出为3月③ 代表实际的日期(2) LocalDateTime类创建对象时直接实例化不行有3种方式① LocalDateTime now LocalDateTime.now();② LocalDateTime now LocalDateTime.of(创建指定日期)③ LocalDateTime now LocalDateTime.parse(2023-05-07T10:30:00); 通过字符串创建指定日期其常用方法① 获取当前日期 .now() 方法② .getYear().getMonthValue().getDayOfMonth().getHour().getMinute().getSecond()分别获取年月日时分秒③ 创建指定日期 .of() 方法④ 根据字符串创建日期String date 2026-10-01 10:30:21需要创建一个自定义的日期时间格式化器DateTimeFormatter date1 DateTimeFormatter.ofPattern(yyyy-MM-dd HH:mm:ss)LocalDateTime date2 LocalDateTime.parse(date, date1)⑤ 日期运算LocalDateTime date LocalDateTime.now();LocalDateTime datePlus date.plusDays(1);增加plus减少minus• .plusWeeks• .plusMonths• .plusYears⑥ 根据当前时间获取指定时间LocalDateTime date1 date.with(TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY))当前所在周的周一/周天.with(TemporalAdjusters.firstDayOfMonth()).with(TemporalAdjusters.lastDayOfMonth())当前所在月的第1天/最后1天2、BigDecimal类用来对超过16位有效位的数进行精确的运算(1) 常用的构造方法BigDecimal(int)/(double)/(long)/(string)不建议可能会丢失精度更推荐用String去创建(2.99)(2) 常用方法 — 加减乘• .add() 加• .subtract() 减• .multiply() 乘除法①(抛出了异常try-catch捕捉一下)指定精度和舍入模式BigDecimal □ □.divide(□,4,RoundingMode.HALF_UP)运算结果小数部分保留4位HALF_UP四舍五入0.5向上舍入还有其他的舍入模式②使用MathContext□.divide(□, new MathContext(4,RoundingMode.HALF_UP))适用于 财务计算货币金额、利息计算科学测量需要保留固定有效位数高精度工程计算税率、费率、汇率换算

相关推荐

CM311-5免拆刷安卓9实战指南:GK6323V100C芯片适配与双通道刷机
CM311-5免拆刷安卓9实战指南:GK6323V100C芯片适配与双通道刷机

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 12:53:17

电流检测方案选型指南:从低侧采样到霍尔传感器的工程实践
电流检测方案选型指南:从低侧采样到霍尔传感器的工程实践

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 12:53:17

工控现货:工业自动化备件的精准匹配与零风险兼容
工控现货:工业自动化备件的精准匹配与零风险兼容

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 12:53:17

RS485混合采集与多模态数据融合在车间环境监测中的应用
RS485混合采集与多模态数据融合在车间环境监测中的应用

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:28:07

洁净实验室以太网温湿度变送器选型与点位布设实战指南
洁净实验室以太网温湿度变送器选型与点位布设实战指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:28:07

为什么RTC晶振总是32.768kHz?从数学原理到低功耗设计
为什么RTC晶振总是32.768kHz?从数学原理到低功耗设计

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:28:01

DeepSeek私有化部署CT辅助诊断落地指南
DeepSeek私有化部署CT辅助诊断落地指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:28:01

Y700二代9008线刷终极指南:救砖+性能升级双实战
Y700二代9008线刷终极指南:救砖+性能升级双实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:28:01

CADe SIMU电气控制电路仿真入门:零风险验证继电器逻辑
CADe SIMU电气控制电路仿真入门:零风险验证继电器逻辑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/24 13:28:01

基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程
基于YOLOv8的渔船作业监控系统:从环境搭建到边缘部署全流程

简介:这是一套面向计算机、人工智能、自动化等专业学生与教师的毕业设计级项目资源,围绕YOLOv8实现渔船作业监控系统,可用于毕设、课程设计、大作业或项目立项演示。压缩包共97个文件,约24.21MB,以70个Python源码文件为… · 2026/9/24 0:00:13

1D-CNN时间序列建模实战:从Conv1d原理到工业落地
1D-CNN时间序列建模实战:从Conv1d原理到工业落地

简介:面向时间序列数据建模的一维卷积神经网络完整实现,适合深度学习入门者及需要快速验证时序模型的研究者,能够从音频、文本、传感器或股价等序列中挖掘局部特征与时间依赖。压缩包体积很小,只有3KB,内含3个Python脚… · 2026/9/24 0:00:26

柔软的L:汉语语流中被忽视的舌肌张力控制
柔软的L:汉语语流中被忽视的舌肌张力控制

1. 这个“L”不是字母表里的L,而是舌尖上的L最近在几个方言群和语音教学社群里,反复看到有人发一句:“也说字母L:柔软的长舌”。初看以为是英语发音课笔记,点开才发现全是方言爱好者、播音系学生、语言康复师甚至戏曲演… · 2026/9/24 0:00:44

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码