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

SE语法总结博文(附思维导图)

Java中的规范

注释

//单行注释
/*多行注释
*/
/**文档注释
*/

命名规范

命名时可以包含:字母、数字以及 下划线和 $ 符号等等。
但是不能以数字开头,也不能是关键字,且严格区分大小写。
类名:每个单词的首字母大写(大驼峰);
方法名:首字母小写,后面每个单词的首字母大写(小驼峰);
变量名:也用小驼峰;
包名:也用小驼峰;
接口名:大驼峰,一般加上首个字母写大写I;
异常名:大驼峰,一般最后以单词Exception结尾。

数据类型与变量

具体介绍在这篇文章:数据类型与变量详解

八大基本数据类型

整数:byte short int long;
浮点数:float double;
字符:char;
布尔类型:boolean;
除了int和char的包装类是Integer和character,其它都是将首字母大写,如long对应Long。

引用数据类型

类class;接口interface;数组[ ];字符串变量String。

变量

简单说一下规则:

访问修饰限定符 数据类型 变量名 =

如果是引用数据类型在等号后面就跟相应的实例化
是基本数据类型直接赋值就行

运算符

运算符的详细解析在这篇文章:运算符详解

算数运算符

加: +
减 :-
乘:*
除:/
取余:%
在除法时两边为整数结果为整数,Java中小数可以取余。

增量运算符

+=,-=,*=,/=,%=。
其实就是对算数运算符使用的一个简写,如a = a + 10和a += 10两个等价。

自增/减运算符

++ ,–。
口诀:前置先加加/减减,在运算;后置置先运算,再加加/减减。

关系运算符

相等 ==
不等 !=
大于 >
小于 <
大于等于 >=
小于等于 <=

逻辑运算符

逻辑与 &&
逻辑或 ||
逻辑非 !
注意逻辑短路现象,就是逻辑运算符两边的表达式只执行前面就决定了值,后面表达式就不会执行。

位运算符

按位与 & :对应位有0就是0
按位或 | :对应位有1就是1
按位异或 ^ :对应位相同位0,不同为1
按位取反 ~ :0,1互换

移位运算符

左移 <<
右移 >>
无符号右移 >>>

条件运算符(3目运算符)

表达式1?表达式2:表达式3

程序逻辑控制

程序逻辑控制的详细解析在这篇文章:程序逻辑控制详解

顺序结构

分支结构

if-else语句,switch-case语句。

循环结构

while循环,do-while循环,for循环。注意continue(除该次循环进入下一次)和break(出循环)的区别。

方法

详解方法在这篇文章:方法详解

方法定义格式

修饰符 返回值类型 方法名(参数表列){
}

方法重载

方法名同,参数一定要有不同,返回值无关。

递归

自己调用自己,使用时注意结束条件。

数组

详细讲解数组在这篇文章:数组详解

定义格式

类型 [] 数组名 = ;
在等号右边3种方式
1.{}
2.new 类型[]{}
3.new 类型[]          //长度不能省

二维数组定义格式

类型 [][] 数组名 = ;
在等号右边3种方式:
1.{{},{},{},······}
2.new 类型[][]{{},{},{},······}
3.new 类型[][]     //行不能省

遍历

使用循环遍历。

类和对象

类与对象的详解写了多篇文章,在写到具体内容时再给出详解文章链接。

类定义格式,类实例化

类定义以及实例化详解文章:类定义,实例化详解

class 类名{//成员变量//成员方法
}

通过new关键字实例化对象。

this引用

我们通常在类中成员方法用this来引用当前成员,防止成员与形参同名报错。

构造方法

方法名与类名一样的成员方法,在实例化对象时会自动调用。

封装

详细介绍封装在这篇文章:封装详解
封装就是访问限定修饰符给的不一样,让类,类的成员的访问权限不一样。

访问修饰限定符

private,default,protected,public。
在这里插入图片描述

static关键字

就记住static修饰的不依赖对象就行。

继承

详解继承在这篇文章:详解继承
继承之间使用关键字extends,子类会继承父类的一切。如果一个类不希望被继承就使用final修饰。

super

子类调用父类成员可以使用关键字super。

多态

向上转型和向下转型

将子类向父类转型为向上转型。

将父类向子类转型(强转)为向下转型。
向下转型要注意父类(有多个子类)是该子类转型过来的,一般使用instanceof关键字来判断。

重写

重写的格式:方法名,参数表列,返回类型(可以是父子类关系)都要相同。
重写的条件:继承体系下,方法不被private,static,final修饰;重写方法权限>=被重写方法。
重写重载区别:
在这里插入图片描述

抽象类

详解抽象类在这篇文章:抽象类详解

abstract关键字

被abstract修饰的类叫抽象类,修饰的方法叫抽象方法。
抽象类与普通类的区别就是可以包含抽象方法。

抽象方法

抽象方法可以没有具体实现,但是被子类继承一定要被重写。

因为抽象方法是必须被重写的,所以重写条件也适用。

接口

详解接口在这篇文章:接口详解

interface关键字

使用interface关键字修饰类就是接口,
‘子类’用implement实现接口。

接口特性

里面的方法默认为public abstract修饰。只能有default修饰的具体方法,JDK9后可以有private修饰的方法。
接口不能被实例化。

内部类

详解内部类在这篇文章:内部类详解

静态内部类,实例内部类,局部内部类,匿名内部类。

比较器

详解比较器在这篇文章:比较器详解

Comparable接口

一般要实现Comparable接口,重写CompareTo方法来比较。

Comparator接口

实现Comparator接口然后重写compare方法就可以实现自己的比较条件。

深拷贝与浅拷贝

详解深拷贝与浅拷贝在这篇文章:深拷贝与浅拷贝详解

拷贝都要实现Cloneable接口。
深拷贝与浅拷贝的区别就是深拷贝是重新开辟空间,浅拷贝是直接指向原来的空间。

String常用操作

详解String常用操作在这篇文章:String常用操作详解

要记住对String的改变都不会对原字符串进行改变。

异常

详解异常常用操作在这篇文章:

异常分类:运行时异常和编译时异常。

throw抛异常,try捕获异常,catch处理异常。

自定义异常:实现类然后继承运行时异常(RunTimeException)或 编译时异常(Exception)。

思维导图

在这里插入图片描述

相关文章:

SE语法总结博文(附思维导图)

Java中的规范 注释 //单行注释 /*多行注释 */ /**文档注释 */命名规范 命名时可以包含&#xff1a;字母、数字以及 下划线和 $ 符号等等。 但是不能以数字开头&#xff0c;也不能是关键字&#xff0c;且严格区分大小写。 类名&#xff1a;每个单词的首字母大写(大驼峰)&…...

STM32面试题

STM32面试题通常涉及STM32微控制器的特性、功能、应用以及编程知识。以下是一些可能的面试问题: STM32微控制器的基本介绍: STM32微控制器是由哪家公司生产的?STM32微控制器主要应用于哪些领域?STM32的特性和功能: STM32微控制器有哪些主要特性?请描述STM32的GPIO(通用输…...

【单片机】DS2431芯片,读写128个字节,程序

ds2431pt&r stm32读写程序&#xff1a; 部分程序&#xff1a; #include "sys.h" #include "delay.h" #include "usart.h"#include <stdio.h> #include <stdlib.h> #include <string.h>#include "sys.h" #incl…...

[DDR4] DDR 简史

依公知及经验整理&#xff0c;原创保护&#xff0c;禁止转载。 专栏 《深入理解DDR4》 存和硬盘&#xff0c;这对电脑的左膀右臂&#xff0c;共同扛起了存储的重任。内存以其超凡的存取速度闻名&#xff0c;但一旦断电&#xff0c;内存中的数据也会消失。它就像我们的工作桌面&…...

前端 CSS 经典:在 Vue3 中使用渐进式图片

1. 什么是渐进式图片 当我们网站会加载很多图片的时候&#xff0c;有些图片尺寸很大&#xff0c;加载就会很慢&#xff0c;会导致页面长时间陷入白屏状态&#xff0c;用户体验很不好。所以可以使用渐进式图片&#xff0c;先给用户展示模糊图&#xff0c;这些图尺寸小&#xff…...

毕业了校园卡怎么改套餐?

毕业了校园卡怎么改套餐&#xff1f; 毕业生校园卡99元套餐变更8元保号套餐教程 学弟学妹们恭喜毕业呀&#x1f393; 校园卡绑定了好多东西注销不掉又不想交高额月租的看过来。 今天一招教你更改校园卡套餐。 中国移动/电信/联通App 打开App&#xff0c;在首页右上角点击人工…...

每一个男人都曾有一个机器人的梦想

每一个男人都曾有一个机器人的梦想 我也有 每一个男人都曾有一个机器人的梦想。对于我来说&#xff0c;这个梦想始于童年时代&#xff0c;那时变形金刚风靡一时&#xff0c;几乎所有80后的孩子都为之疯狂。我是80后中的一员&#xff0c;那时候的科技还远没有如今这般发达&#…...

中望CAD 2025 (ZW3D2025) 简体中文修改版

名称&#xff1a;中望CAD 2025 (ZW3D2025) 简体中文修改版 描述&#xff1a;一款三维CAD设计工具&#xff0c;运行破解补丁ZW3D2025-2024-Patch执行修补。 链接&#xff1a;夸克网盘分享 &#x1f4c1; 大小&#xff1a;3.2GB &#x1f3f7; 标签&#xff1a;#PC软件 #CAD #设…...

CAN 通讯

波特率 波特率&#xff08;Baud Rate&#xff09;是指数据通信中每秒传输的符号&#xff08;或脉冲&#xff09;的数量。在CAN&#xff08;Controller Area Network&#xff09;通信中&#xff0c;波特率通常表示每秒传输的位数&#xff08;bit per second&#xff0c;bps&…...

第零篇——数学到底应该怎么学?

目录 一、背景介绍二、思路&方案三、过程1.思维导图2.文章中经典的句子理解3.学习之后对于投资市场的理解4.通过这篇文章结合我知道的东西我能想到什么&#xff1f; 四、总结五、升华 一、背景介绍 宏观讲解数学定位&#xff0c;数学学习方式方法&#xff0c;再次详细学习…...

Spring Boot顶层接口实现类注入项目的方法

1、背景 在项目中&#xff0c;我们通常会具有同一特性的业务类定义一个顶层接口&#xff0c;让业务类实现这个接口&#xff0c;通过接口规范来管理这些类。我们将这些实现接口的业务类交托给Spring容器接口后&#xff0c;有时候需要根据业务类型来选择动态选择对应的业务类阿里…...

JDBC介绍-AI问答(通义千问)

一、JDBC介绍 介绍JDBC JDBC&#xff08;Java Database Connectivity&#xff09;是Java中用于连接和操作关系型数据库的标准API&#xff08;应用程序编程接口&#xff09;。它是由Sun Microsystems&#xff08;现在是Oracle的一部分&#xff09;开发&#xff0c;并随Java Deve…...

Spring AI探索

Spring AI概述 该Spring AI项目旨在简化包含人工智能功能的应用程序的开发&#xff0c;避免不必要的复杂性。 该项目从著名的 Python 项目&#xff08;例如 LangChain 和 LlamaIndex&#xff09;中汲取灵感&#xff0c;但 Spring AI 并非这些项目的直接移植。该项目的成立基于…...

【代码随想录算法训练Day39】LeetCode 62.不同路径、LeetCode 63.不同路径II

Day39 动态规划第二天 LeetCode 62.不同路径 二维dp数组的含义&#xff1a;走到位置为(i,j)的格子的走法为dp[i][j]种。 递推公式&#xff1a;dp[i][j]dp[i-1][j]dp[i][j-1]。 初始化&#xff1a;dp[i][0]和dp[0][j]都赋值为1. 递归顺序&#xff1a;从左往右&#xff0c;从上…...

浙大版PTA Python程序设计 题目与知识点整理(综合版)

目录 第一章 一、高级语言程序的执行方式 二、变量赋值与内存地址 三、字符编码 3.1 Unicode 3.2 ASCII&#xff08;American Standard Code for Information Interchange&#xff09; 四、编程语言分类按照编程范式分类 4.1 面向过程语言 4.2 面向对象语言 五、原码…...

HTML表单深度解析:构建互动的网页界面

表单是HTML中用于收集用户输入信息的重要元素&#xff0c;是网页与用户交互的关键组件。以下是一个典型的HTML表单示例&#xff0c;我们将会详细解析其中的各个元素及属性含义。 <form action"https://xx.xxx.xx/search" target"_self" method"ge…...

git 分支管理规范

分支命名 master 分支 master 为主分支&#xff0c;也是用于部署生产环境的分支&#xff0c;需要确保master分支稳定性。master 分支一般由 release 以及 hotfix 分支合并&#xff0c;任何时间都不能直接修改代码。 develop 分支 develop 为开发环境分支&#xff0c;始终保持…...

Spring Cloud Gateway 详解:构建高效的API网关解决方案

Spring Cloud Gateway 详解&#xff1a;构建高效的API网关解决方案 Spring Cloud Gateway 是 Spring Cloud 生态系统中用于构建 API 网关的核心组件。它基于 Spring WebFlux 构建&#xff0c;旨在提供简单且有效的方式来路由和增强 API 请求。以下是 Spring Cloud Gateway 的详…...

基于Quartus Prime18.1的安装与FPGA的基础仿真教程

Quartus是一种美国科技公司Intel&#xff08;英特尔&#xff09;公司开发的FPGA&#xff08;现场可编辑门阵列&#xff09;设计编译软件&#xff0c;用作设计、仿真、综合和布局、支持多种编程语言&#xff0c;包括VHDL、Verilog等&#xff0c;并具有丰富的功能和工具库&#x…...

AJAX 和 XML:现代 Web 开发的关键技术

AJAX 和 XML:现代 Web 开发的关键技术 引言 在当今的 Web 开发领域,AJAX 和 XML 是两项至关重要的技术。AJAX(Asynchronous JavaScript and XML)允许网页在不重新加载整个页面的情况下,与服务器交换数据和更新部分网页内容。而 XML(eXtensible Markup Language)则是一…...

TDengine 快速体验(Docker 镜像方式)

简介 TDengine 可以通过安装包、Docker 镜像 及云服务快速体验 TDengine 的功能&#xff0c;本节首先介绍如何通过 Docker 快速体验 TDengine&#xff0c;然后介绍如何在 Docker 环境下体验 TDengine 的写入和查询功能。如果你不熟悉 Docker&#xff0c;请使用 安装包的方式快…...

label-studio的使用教程(导入本地路径)

文章目录 1. 准备环境2. 脚本启动2.1 Windows2.2 Linux 3. 安装label-studio机器学习后端3.1 pip安装(推荐)3.2 GitHub仓库安装 4. 后端配置4.1 yolo环境4.2 引入后端模型4.3 修改脚本4.4 启动后端 5. 标注工程5.1 创建工程5.2 配置图片路径5.3 配置工程类型标签5.4 配置模型5.…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上&#xff0c;你可以使用apt包管理器来安装NFS服务器。打开终端并运行&#xff1a; sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享&#xff0c;例如/shared&#xff1a; sudo mkdir /shared sud…...

【Oracle APEX开发小技巧12】

有如下需求&#xff1a; 有一个问题反馈页面&#xff0c;要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据&#xff0c;方便管理员及时处理反馈。 我的方法&#xff1a;直接将逻辑写在SQL中&#xff0c;这样可以直接在页面展示 完整代码&#xff1a; SELECTSF.FE…...

工业安全零事故的智能守护者:一体化AI智能安防平台

前言&#xff1a; 通过AI视觉技术&#xff0c;为船厂提供全面的安全监控解决方案&#xff0c;涵盖交通违规检测、起重机轨道安全、非法入侵检测、盗窃防范、安全规范执行监控等多个方面&#xff0c;能够实现对应负责人反馈机制&#xff0c;并最终实现数据的统计报表。提升船厂…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

P3 QT项目----记事本(3.8)

3.8 记事本项目总结 项目源码 1.main.cpp #include "widget.h" #include <QApplication> int main(int argc, char *argv[]) {QApplication a(argc, argv);Widget w;w.show();return a.exec(); } 2.widget.cpp #include "widget.h" #include &q…...

深入解析C++中的extern关键字:跨文件共享变量与函数的终极指南

&#x1f680; C extern 关键字深度解析&#xff1a;跨文件编程的终极指南 &#x1f4c5; 更新时间&#xff1a;2025年6月5日 &#x1f3f7;️ 标签&#xff1a;C | extern关键字 | 多文件编程 | 链接与声明 | 现代C 文章目录 前言&#x1f525;一、extern 是什么&#xff1f;&…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

【Redis】笔记|第8节|大厂高并发缓存架构实战与优化

缓存架构 代码结构 代码详情 功能点&#xff1a; 多级缓存&#xff0c;先查本地缓存&#xff0c;再查Redis&#xff0c;最后才查数据库热点数据重建逻辑使用分布式锁&#xff0c;二次查询更新缓存采用读写锁提升性能采用Redis的发布订阅机制通知所有实例更新本地缓存适用读多…...