【JavaSE专栏4】关键字、标识符和命名规范

news/2024/11/28 20:53:08/

作者主页:Designer 小郑
作者简介:Java全栈软件工程师一枚,来自浙江宁波,负责开发管理公司OA项目,专注软件前后端开发(Vue、SpringBoot和微信小程序)、系统定制、远程技术指导。CSDN学院、蓝桥云课认证讲师,全栈领域优质创作者。热爱技术、专注业务、开放合作、乐于分享,期待你我共同成长!
主打方向:Vue、SpringBoot、微信小程序

目录

    • 一、Java 关键字
    • 二、Java 标识符
    • 三、命名规范
      • 3.1 基本命名规范
      • 3.2 高级命名规范
        • 3.2.1 类名
        • 3.2.2 方法名
        • 3.2.3 变量名
        • 3.2.4 常量名
        • 3.2.5 包命名
        • 3.2.6 泛型命名
    • 4 课时小结


一、Java 关键字

Java 中的关键字,指的是有特殊含义的小写字符串,不能被定义为变量名称。

关键字是 Java 语言事先写好的特殊标识符,开发人员不能去重定义。

接下来介绍 Java 中的 50 个关键词,在 Java 实战开发中,最常用的关键词已加粗展示。


abstract:表明类或者成员方法具有抽象属性

assert:断言,用来进行程序调试

boolean:基本数据类型之一,声明布尔类型的关键字

break:提前跳出一个块

byte:基本数据类型之一,字节类型

case:用在switch语句之中,表示其中的一个分支

catch:用在异常处理中,用来捕捉异常

char:基本数据类型之一,字符类型

class:声明一个类

const:保留关键字,没有具体含义

continue:回到一个块的开始处

default:默认,例如,用在switch语句中,表明一个默认的分支。Java8 中也作用于声明接口函数的默认实现

do:用在do-while循环结构中

double:基本数据类型之一,双精度浮点数类型

else:用在条件语句中,表明当条件不成立时的分支

enum:枚举

extends:表明一个类型是另一个类型的子类型。对于类,可以是另一个类或者抽象类;对于接口,可以是另一个接口

final:用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变,用来定义常量

finally:用于处理异常情况,用来声明一个基本肯定会被执行到的语句块

float:基本数据类型之一,单精度浮点数类型

for:一种循环结构的引导词

goto:保留关键字,没有具体含义

if:条件语句的引导词

implements:表明一个类实现了给定的接口

import:表明要访问指定的类或包

instanceof:用来测试一个对象是否是指定类型的实例对象

int:基本数据类型之一,整数类型

interface:接口

long:基本数据类型之一,长整数类型

native:用来声明一个方法是由与计算机相关的语言实现的

new:用来创建新实例对象

package:包

private:一种访问控制方式:私用模式

protected:一种访问控制方式:保护模式

public:一种访问控制方式:共用模式

return:从成员方法中返回数据

short:基本数据类型之一,短整数类型

static:表明具有静态属性

strictfp:用来声明单精度或双精度浮点数表达式,遵循IEEE 754算术规范

super:表明当前对象的父类型的引用或者父类型的构造方法

switch:分支语句结构的引导词

synchronized:表明一段代码需要同步执行

this:指向当前实例对象的引用

throw:抛出一个异常

throws:声明在当前定义的成员方法中所有需要抛出的异常

transient:声明不用序列化的成员域

try:尝试一个可能抛出异常的程序块

void:声明当前成员方法没有返回值

volatile:表明两个或者多个变量必须同步地发生变化

while:用在循环结构中

另外还有3个特殊直接量:true、false、null,也不能作为标识符哦!

在这里插入图片描述


二、Java 标识符

在 Java 程序中,标识符指我们自己定义的内容

比如类、方法的名字和变量的名字。

标识符的命名规则如下:

  1. 由字母、数字、下划线_和美元符号$组成,如 test1_
  2. 不能以数字开头,如 0aaa6988 这样的标识符是不允许的。
  3. 大小写敏感,如 a668A668 这样的两个标识符是不同的。
  4. 长度没有限制,你可以命名 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 的标识符。
  5. 不能使用 Java 中的关键字或保留字,如 intdouble 这样的标识符是不允许的。

在这里插入图片描述


三、命名规范

3.1 基本命名规范

基本命名规范是所有 Java 开发者必须要遵守的,否则代码无法完成编译。

  • 类名和接口名:每个单词首字母需要大写。
  • 包名:多个单词组成的所有小写字母。
  • 变量名,函数名:多个单词组成的时候,除了第一个单词外,其他的单子首字母大写(驼峰)。
  • 常量名:多个单词组成,所有单词全部大写,单词之间用下划线分隔开。

3.2 高级命名规范

高级命名规范是为了提高代码的可读性,根据开发经验指定的,不遵守也可以完成代码编译,但还是建议遵守。

3.2.1 类名

  1. 通常是见名知意的名词:如 UserTeacher
  2. 首字母大写。
  3. 多个单词时,采用驼峰命名法:如 AlgorithmDevelopment(算法开发)。
  4. 不建议使用中文缩写来命名,如 SuanFaKaiFa(算法开发),是不建议的。
  5. 测试类一般以 Test 结尾,实现类一般以 Impl 结尾,异常类一般以 Exception 结尾

3.2.2 方法名

  1. 通常是见名知意的名词,驼峰命名,首字符小写。
  2. 返回数据的方法一般加 get 前缀,如 getUserListgetMyData
  3. 设置的方法一般加对应的动词作为前缀,如 addUserupdateUser
  4. 查询的方法一般加 selectfind 作为前缀。
  5. 带有条件的方法一般使用 by 前缀命名。
  6. 带有判断性质的方法一般使用 is 前缀命名。
  7. 带有测试性质的方法一般使用 test 前缀命名。

3.2.3 变量名

  1. 通常是见名知意的名词,首字符小写,驼峰命名,如 userNameuserMobile
  2. 不建议使用中文缩写来命名,不建议使用下划线作为连接。

3.2.4 常量名

  1. 通常是见名知意的名词,字符全部大写,如 USER_SIZEARRAY_LENGTH
  2. 多个单词之间使用“_”进行分隔,不建议使用中文缩写来命名,枚举类同理。

3.2.5 包命名

  1. 使用小写英文字母进行命名。
  2. 多层包之间用点进行分隔。
  3. 一般采用域名倒写的方式进行命名,如 cn.zwz.entity
  4. 一般控制器层使用 controller,服务层使用 service,数据链路层使用 mapper,实体类使用 entity

3.2.6 泛型命名

  • U / S 标识,通常表示任意类型。
  • ? 标识,通常表示不确定的Java类型。
  • N 标识,通常表示Number,通常表示数值类型。
  • T 标识,通常表示Type(类型),通常指类。
  • K 标识,通常表示Key(键),通常用于 Map 中。
  • V 标识,通常表示Value(值),通常用于 Map 中,与 K 成对出现。
  • X 标识,通常表示异常的类型。

4 课时小结

在本课时中学习了 Java 有哪些关键字,以及每个关键词的用途;然后学习了标识符的定义方式和命名规范,包括能通过编译的基础命名规范,和规范化的高级命名规范。在下一个课时中将讲解 Java 的数据类型和取值范围。

在这里插入图片描述


http://www.ppmy.cn/news/19313.html

相关文章

JVM快速入门学习笔记(三)

9. 栈 栈:8大基本类型对象引用 栈运行原理:栈帧 程序正在执行的方法,一定在栈的顶部 9.1 JVM数据区 先上一张Java虚拟机运行时数据区中堆、栈以及方法区存储数据的概要图,如下所示: 9.2 堆 堆是存储时的单位&…

Linux下动静态库的打包与使用C C++

目录前言为什么用动静态库动态链接与静态链接底层优缺点Linux下的动静态库动静态库的对比打包静态库使用静态库打包动态库使用动态库小结win下打包动静态库前言 为什么用动静态库 我们在实际开发中,经常要使用别人已经实现好的功能,这是为了开发效率和…

OSG三维渲染引擎编程学习之二十八:“第三章:OSG场景组织” 之 “3.10 Switch开关节点”

目录 第三章:OSG场景组织 3.10 Switch开关节点 3.10.1 Switch介绍 3.10.2 Switch示例 第三章:OSG场景组织 在OSG中存在两个树:场景树、渲染树。其中,场景树是由一系列节点Node组成,这些节点Node可以是矩阵变换、状态变换,也可以是绘制对象等。场景树反映了场景的空间…

5、基本数据类型

目录 一、整数类型 二、浮点类型 三、字符类型 四、布尔类型 一、整数类型 整数类型用来存储整数数值,即没有小数部分的数值。可以是正数,也可以是负数。整 型数据在Java程序中有3种表示形式,分别为十进制、八进制和十六进制。 1.十进…

学习率衰减、局部最优、Batch归一化、Softmax回归

目录1.学习率衰减(Learning rate decay)在训练初期,梯度下降的步伐大一点,开始收敛的时候,小一些的学习率能让步伐小一些。1 epoch 遍历一遍训练集学习率衰减公式:例:假设衰减率decayrate 1,0.2epochNumα…

基本UDP套接字编程

文章目录基本流程recvfrom和sendto函数试着用用基本流程 客户端 创建套接字socket()填充服务器网路信息结构体通信recvfrom()/sendto() 服务器 创建套接字填充服务器网路信息结构体将套接字与服务器网络信息结构体绑定bind()进行通信recvfrom()/sendto() recvfrom和sendto…

GROMACS 教程--水中的溶菌酶

GROMACS 教程–水中的溶菌酶 中文教程:http://jerkwin.github.io/ 英文教程:http://www.mdtutorials.com 此示例将指导新用户完成模拟系统的设置过程,该模拟系统在一盒水和离子中包含蛋白质(溶菌酶)。每个步骤都将包含…

java线程中断 interrupt

1. 线程的状态: new -> 创建完线程,但是还没有启动runnable -> 表示线程是活跃状态terminated -> 表示线程已经结束了线程在sleep的时候是什么状态?time-waited 2. stop 终止线程已经被淘汰 简单来说是因为:使用stop…