当前位置: 首页 > news >正文

java_基础语法及用法

文章目录

  • 一、java基础
    • 1.1 JAVAEE的13个规范
  • 二、java基础语法
    • 2.1 final
    • 2.2 static
    • 2.3 异常
  • 三、java基础用法
    • 3.1 时间格式化
    • 3.2 java计时

一、java基础

1.1 JAVAEE的13个规范

JAVA EE的十三种规范

二、java基础语法

2.1 final

1.被final修饰的类不可以被继承
2.被final修饰的方法不可以被重写
3.被final修饰的变量不可以被改变

2.2 static

被static修饰的方法和变量是和这个类关联在一起的,被类的所有实例对象所共享

2.3 异常

“抓抛”模型:

1.抛:异常的生成方式

1.1 自动抛:程序执行过程中一旦出现异常,就会在出现异常的代码处,自动生成对应异常类的对象并抛出.
1.2 手动抛:程序执行过程中,在不满足指定条件的情况下,我们主动使用“throw + 异常类的对象”方式,手动将异常类的对象抛出

2.抓:异常的处理方式

 2.1 自己抓:try-catch-finally2.2 交给别人抓:throws

异常的两种处理方式:1.try-chatch-finally 2.throws

		/*try {可能出现异常的代码全部包在try的大括号里}catch (Exception e){e.printStackTrace(); // 打印详细异常信息(常用)e.getMessage();}finally {一定要执行的语句,eg:关闭资源等}*/
public class ExceptionHandleTest {/*public static void main(String[] args) throws Exception {try {method(); // 方法调用过程中,main()方法是最后一层,必须在main()方法中处理其他方法throws上来的异常}catch(){}finally{}}public static void method() throws Exception{可能出现异常的代码 // 将出现的异常throws给调用method方法的方法去}*/}

手动抛出异常
在实际开发中,如果出现不满足具体场景的代码问题,有必要手动抛出一个指定类型的异常对象
比如:有一个Student类,有个id属性,要求不能为负数。这种场景从java层面来说没有问题,因为变量可以为负数,但是在具体的开发场景中就不行了,因此要根据实际开发场景要求,手动抛出异常

1.手动抛出运行时异常,可以不做处理

public class ExceptionHandleTest {public static void main(String[] args) throws Exception {Student student = new Student();student.regist(-10);}}class Student {private int id;public void regist(int id) {if(id >= 0){this.id = id;}else{throw new RuntimeException("输入的id为负数");}}
}

2.手动抛出的不是运行时异常,必须进行处理

public class ExceptionHandleTest {public static void main(String[] args) throws Exception {Student student = new Student();student.regist(-10);}}class Student {private int id;public void regist(int id) {if(id >= 0){this.id = id;}else{try {throw new Exception("输入的id为负数");} catch (Exception e) {e.printStackTrace();}}}
}

三、java基础用法

3.1 时间格式化

public class DateTest {public static void main(String[] args) {SimpleDateFormat simpleDateFormat = new SimpleDateFormat();simpleDateFormat.applyPattern("yyyy-MM-dd HH:mm:ss");System.out.println(simpleDateFormat.format(new Date()));}}
sout:2023-07-30 16:38:50

3.2 java计时

java计时

相关文章:

java_基础语法及用法

文章目录 一、java基础1.1 JAVAEE的13个规范 二、java基础语法2.1 final2.2 static2.3 异常 三、java基础用法3.1 时间格式化3.2 java计时 一、java基础 1.1 JAVAEE的13个规范 JAVA EE的十三种规范 二、java基础语法 2.1 final 1.被final修饰的类不可以被继承 2.被final修…...

C# WPF 开源主题 HandyControl 的使用(一)

HandyControl是一套WPF控件库,它几乎重写了所有原生样式,同时包含80余款自定义控件(正逐步增加),下面我们开始使用。 1、准备 1.1 创建项目 C# WPF应用(.NET Framework)创建项目 1.2 添加包 1.3 在App.xaml中引用…...

探索ES高可用:滴滴自研跨数据中心复制技术详解

Elasticsearch 是一个基于Lucene构建的开源、分布式、RESTful接口的全文搜索引擎,其每个字段均可被索引,且能够横向扩展至数以百计的服务器存储以及处理TB级的数据,其可以在极短的时间内存储、搜索和分析大量的数据。 滴滴ES发展至今&#xf…...

指针---进阶篇(二)

指针---进阶篇(二) 前言一、函数指针1.抛砖引玉2.如何判断函数指针?(方法总结) 二、函数指针数组1.什么是函数指针数组?2.讲解函数指针数组3.模拟计算器:讲解函数指针数组 三、指向函数指针数组…...

Python实现SSA智能麻雀搜索算法优化循环神经网络分类模型(LSTM分类算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 麻雀搜索算法(Sparrow Search Algorithm, SSA)是一种新型的群智能优化算法,在2020年提出&a…...

【go语言基础】结构体struct

主要是敲代码,敲的过程中会慢慢体会。 1.概念 结构体是用户定义的类型,表示若干字段的集合,目的是将数据整合在一起。 简单的说,类似Java中的实体类。存储某个实体属性的集合。 2.结构体声明 注意:结构体名字&…...

显卡服务器适用于哪些场景

显卡(GPU)服务器,简单来说,GPU服务器是基于GPU的应用于视频编解码、深度学习、科学计算等多种场景的快速、 稳定、弹性的计算服务。那么壹基比小鑫告诉你显卡服务器主要的用途有哪一些。 一、运行手机模拟器 显卡服务器可支持…...

MySQL DML 数据操作

文章目录 1.插入记录INSERTREPLACE 2.删除记录3.修改记录4.备份还原数据参考文献 1.插入记录 INSERT 使用 INSERT INTO 语句可以向数据表中插入数据。INSET INTO 有三种形式。 INSET INTO tablename SELECT...INSET INTO tablename SET column1value1,column2value2...INSET…...

服务端与网络相关知识

1. http/https 协议 1.0 协议缺陷: ⽆法复⽤链接,完成即断开,重新慢启动和 TCP 3 次握⼿head of line blocking : 线头阻塞,导致请求之间互相影响 1.1 改进: ⻓连接(默认 keep-alive ),复⽤host 字段指定对应的虚拟站点新增功…...

一分钟上手Vue VueI18n Internationalization(i18n)多国语言系统开发、国际化、中英文语言切换!

这里以Vue2为例子 第一步:安装vue-i18n npm install vue-i18n8.26.5 第二步:在src下创建js文件夹,继续创建language文件夹 在language文件夹里面创建zh.js、en.js、index.js这仨文件 这仨文件代码分别如下: zh.js export de…...

stm32 cubemx can通讯(1)回环模式

文章目录 前言一、cubemx配置二、代码1.过滤器的配置(后续会介绍)2.main.c3.主循环 总结 前言 介绍使用stm32cubemx来配置can,本节讲解一个简答,不需要stm32的can和外部连接,直接可以用于验证的回环模式。 所谓回环模…...

Python基础小项目

今天给大家写一期特别基础的Python小项目,欢迎大家支持,并给出自己的完善修改 (因为我写的都是很基础的,运行速率不是很好的 目录 1. 地铁票价题目程序源码运行截图 2. 购物车题目程序源码运行截图 3. 名片管理器题目程序源码运行…...

Python Opencv实践 - 在图像上绘制图形

import cv2 as cv import numpy as np import matplotlib.pyplot as pltimg cv.imread("../SampleImages/pomeranian.png") print(img.shape)plt.imshow(img[:,:,::-1])#画直线 #cv.line(img,start,end,color,thickness) #参考资料:https://blog.csdn.ne…...

管理者应该编码,但不是在工作时

管理者应该编码吗?这个问题似乎没有一个明确的答案。这场辩论有支持者也有反对者,每一方都有自己的论点。我最近在工作中编写了一个副业项目,这让我重新评估了我在这个问题上的立场。经历了这些之后,我可以说,我的立场已经从管理…...

深度学习常用的python库学习笔记

文章目录 数据分析四剑客Numpyndarray数组和标量之间的运算基本的索引和切片数学和统计方法线性代数 PandasMatplotlibPIL 数据分析四剑客 Numpy Numpy中文网 ndarray 数组和标量之间的运算 基本的索引和切片 数学和统计方法 线性代数 Pandas Pandas中文网 Matplotlib Mat…...

C语言属刷题训练【第八天】

文章目录 🪗1、如下程序的运行结果是( )💻2、若有定义: int a[2][3]; ,以下选项中对 a 数组元素正确引用的是( )🧿3、在下面的字符数组定义中,哪一个有语法错…...

阿里云PolarDB数据库倚天ARM架构详细介绍

阿里云云原生数据库PolarDB MySQL版推出倚天ARM架构,倚天ARM架构规格相比X86架构规格最高降价45%,PolarDB针对自研倚天芯片,从芯片到数据库内核全链路优化,助力企业降本增效。基于阿里云自研的倚天服务器,同时在数据库…...

pytest 编写规范

一、pytest 编写规范 1、介绍 pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点: 1、简单灵活,容易上手,文档丰富;2、支持参数化,可以细粒度地控制要测试的测试用例;3、能够…...

Vue.use和vue.component的区别

Vue.use 注册全局插件vue.use时会将自动将开发者 vue构造函数传入插件,vue.use参数必须是function或者object,object中必须有install方法vue.use会自动判断当前插件时候已经被注册过了,防止重复注册 Vue.component 注册全局组件 为什么有了Vue.component还要用Vue.use呢 V…...

张驰咨询:提高企业竞争力,六西格玛设计公司(DFSS)在行动

六西格玛设计公司(DFSS)是一种专业从事六西格玛设计的企业,其主要作用是为客户提供高效的六西格玛设计服务,以帮助客户实现高品质、低成本和高效率的产品开发过程。六西格玛设计公司通常拥有一支专业的团队,具有丰富的六西格玛设计经验和技术…...

GPT-SoVITS快速部署实战:手把手教你配置PyTorch环境,一键启动WebUI

GPT-SoVITS快速部署实战:手把手教你配置PyTorch环境,一键启动WebUI 你是不是也想试试那个很火的AI语音克隆工具,用自己的声音生成任何想说的话?GPT-SoVITS这个项目确实很吸引人,只需要一小段录音,就能“复…...

把openEuler当微服务跑:Docker Compose编排实战,管理Nginx+MySQL多容器集群

基于openEuler的微服务集群实战:Docker Compose编排NginxMySQL全流程 在云原生技术席卷企业IT基础设施的今天,将操作系统容器化已成为提升资源利用率、加速应用交付的标准实践。openEuler作为面向数字基础设施的开源操作系统,凭借其卓越的多架…...

艾尔登法环终极优化指南:解锁帧率与游戏增强的完整教程

艾尔登法环终极优化指南:解锁帧率与游戏增强的完整教程 【免费下载链接】EldenRingFpsUnlockAndMore A small utility to remove frame rate limit, change FOV, add widescreen support and more for Elden Ring 项目地址: https://gitcode.com/gh_mirrors/el/El…...

别再死记硬背‘电角度=机械角度*极对数’了!用Python模拟一个7对极无刷电机,带你直观理解FOC核心概念

用Python模拟7对极无刷电机:从代码透视FOC核心公式的本质 当你第一次在FOC控制文档中看到"电角度机械角度极对数"这个公式时,是否也曾困惑于它背后的物理意义?传统教材往往直接抛出这个定义,却很少解释为什么多极电机中…...

SDMatte Web界面交互优化点:框选反馈延迟降低、结果预览缩放、批量上传支持

SDMatte Web界面交互优化点:框选反馈延迟降低、结果预览缩放、批量上传支持 1. 产品概述 SDMatte 是一款面向高质量图像抠图场景的 AI 模型,特别适合处理以下专业需求: 主体分离:从复杂背景中精确提取目标物体透明物体提取&…...

如何用Cyberbrain在5分钟内调试复杂的Python循环问题

如何用Cyberbrain在5分钟内调试复杂的Python循环问题 【免费下载链接】Cyberbrain Python debugging, redefined. 项目地址: https://gitcode.com/gh_mirrors/cy/Cyberbrain 调试Python循环问题常常让开发者头疼,尤其是面对多层嵌套或复杂逻辑时,…...

TP4552B低功耗 5V 常开的锂电池充放电解决方案

概述 TP4552B 是一款集成线性充电管理、同步升压转换、电池电量指示和多种保护功能的单芯片电源管理 SOC,为锂电池的充放电提供完整的单芯片电源解决方案。 TP4552B 内部集成了线性充电管理模块、同步升压放电管理模块、电量检测与 LED 指示模块、保护模块。TP4552B…...

gte-base-zh开源可部署优势:支持国产昇腾/寒武纪芯片适配路线

gte-base-zh开源可部署优势:支持国产昇腾/寒武纪芯片适配路线 1. 快速了解gte-base-zh模型 gte-base-zh是由阿里巴巴达摩院训练的中文文本嵌入模型,基于BERT框架构建。这个模型专门为中文文本处理设计,能够将文本转换为高质量的向量表示&am…...

层理岩体的蠕变特性总让人又爱又恨。今儿咱们拿PFC2D整点有意思的——单级加载直接怼到位,分级加载玩心跳分阶段,最后再搞个剪切蠕变收尾。别慌,咱用代码说话

PFC2D层理岩体单级/分级蠕变(含剪切蠕变模拟)先整点基础活,创建层理模型得注意节理面的bond设置。下面这段是生成层理岩体的核心: ball generate box -10 10 -5 5 radius 0.1 0.15 contact cmat default model linearpbond conta…...

写作柚助力高效论文写作之路

临近期末,很多大四学生都开始写论文了,可问题是,大学四年,学校并没有教我们怎么写论文,现在突然让写论文,写开题报告,修改论文,查重降重,写答辩PPT等等。在这毕业季&…...