当前位置: 首页 > 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)则是一…...

mPLUG在金融领域的应用:票据智能识别系统

mPLUG在金融领域的应用&#xff1a;票据智能识别系统 1. 项目背景与需求 金融行业每天都要处理海量的票据单据&#xff0c;从银行的支票、汇票&#xff0c;到保险公司的保单、理赔单&#xff0c;再到企业的发票、报销单。传统的人工处理方式不仅效率低下&#xff0c;还容易出…...

手把手教你用XTTS v2克隆自己的声音:从录音到生成的完整避坑指南

零基础玩转XTTS v2语音克隆&#xff1a;从录音到生成的保姆级实战手册 1. 语音克隆技术的前世今生 语音合成技术&#xff08;TTS&#xff09;的发展已经走过了数十年的历程。从早期的机械式发音到如今的神经网络语音合成&#xff0c;技术的进步让语音克隆变得越来越自然。XTTS …...

YOLOv12惊艳效果展示:注意力机制让目标检测更精准

YOLOv12惊艳效果展示&#xff1a;注意力机制让目标检测更精准 1. 突破性效果预览 YOLOv12的出现彻底改变了我们对实时目标检测的认知。这款基于注意力机制的全新架构&#xff0c;在保持YOLO系列标志性速度的同时&#xff0c;将检测精度推向了前所未有的高度。让我们先看几个令…...

告别插件冲突!手把手教你手动安装Obsidian动态目录插件(Dynamic Table of Contents)

告别插件冲突&#xff01;Obsidian动态目录插件手动安装全指南 为什么需要手动安装动态目录插件&#xff1f; Obsidian作为一款强大的知识管理工具&#xff0c;其插件生态让用户能够高度自定义工作流。然而&#xff0c;插件间的兼容性问题常常成为用户痛点。许多用户习惯使用Fl…...

高效判断点在多边形内的算法:Winding Number与Crossing Number的对比与实践

1. 为什么需要判断点在多边形内&#xff1f; 判断一个点是否位于多边形内部是计算几何中的经典问题&#xff0c;这个看似简单的需求在实际开发中随处可见。比如地图应用中判断用户位置是否在某个行政区域内&#xff0c;游戏开发中检测子弹是否击中目标&#xff0c;CAD软件中确定…...

Python异步I/O终极避坑清单(2025版):涵盖SSL/TLS握手、数据库连接池、信号处理、子进程通信、日志异步刷盘等9大高危场景

第一章&#xff1a;Python异步I/O并发模型本质与事件循环演进Python异步I/O的核心在于避免阻塞式系统调用对线程的独占&#xff0c;转而通过单线程协作式调度实现高吞吐I/O密集型任务。其本质并非“多线程并行”&#xff0c;而是基于事件驱动的**非阻塞I/O 回调/协程调度 事件…...

告别打包烦恼:Qt Installer Framework 4.6 保姆级教程,从配置到生成exe安装包

Qt Installer Framework 4.6 终极实战指南&#xff1a;从零构建专业级安装包 当你终于完成了一个Qt应用的开发&#xff0c;编译了Release版本&#xff0c;甚至用windeployqt处理了依赖&#xff0c;接下来面临的挑战是如何将这些文件打包成一个专业的安装程序。这正是Qt Instal…...

浦语灵笔2.5-7B错误排查:常见问题与解决方案大全

浦语灵笔2.5-7B错误排查&#xff1a;常见问题与解决方案大全 1. 开场&#xff1a;为什么你总在部署时卡住&#xff1f; 刚下载完浦语灵笔2.5-7B模型&#xff0c;满怀期待地准备跑通第一个图像理解任务&#xff0c;结果终端里跳出一串红色报错——显存不足、模块找不到、token…...

GLM-OCR公式识别效果展示:LaTeX格式精准渲染,学术党必备工具

GLM-OCR公式识别效果展示&#xff1a;LaTeX格式精准渲染&#xff0c;学术党必备工具 作为一名经常需要处理学术文献的研究人员&#xff0c;我深知公式识别的痛点。那些复杂的数学表达式&#xff0c;要么手动输入到LaTeX里费时费力&#xff0c;要么用传统OCR工具识别后变成一堆…...

LabelMe图像标注自动化:基于模板匹配的实现方法

LabelMe图像标注自动化&#xff1a;基于模板匹配的实现方法 LabelMe是一款强大的图像多边形标注工具&#xff0c;支持多边形、矩形、圆形、线条、点和图像级标志的标注。本文将介绍如何利用模板匹配技术实现LabelMe图像标注的自动化&#xff0c;帮助用户快速提升标注效率&…...