命名之美:探索Java的标识符与命名规范

目录

​编辑

前言

一、Java关键字:

class:

public、private、protected:

static:

final:

void:

int、double、char、boolean:

if、else、switch:

for、while、do:

try、catch、finally:

return:

extends、implements:

二、 Java标识符:

命名规则如下:

符合规则的名称:

不符合规则标识符:

三、Java命名规范:

Java的一些命名规范 

我的其他博客


前言

编程世界如同一片浩瀚的领域,其中充满了规范、创意和无尽的可能性。在这个数字化的时代,Java作为一门强大而广泛应用的编程语言,扮演着连接现实与虚拟的桥梁。然而,要在这个编码的舞台上表演得游刃有余,除了深刻理解语法和逻辑外,更需要掌握良好的命名规范与标识符设计。

本文将深入探讨Java命名规范,介绍关键字、标识符的概念,以及如何正确应用这些规范来编写清晰、可读性强、易于维护的代码。通过理解和遵循Java的命名规范,我们能够更好地沟通、合作,提高代码的质量,让我们的程序在这个数字化的舞台上闪耀光芒。

一、Java关键字:

Java关键字是在编程语言中具有特殊含义的保留字,不能被用作标识符(变量、方法、类等的名称)。以下是Java中的一些关键字:

  1. class(类): 声明类。
  2. public、private、protected: 访问修饰符,用于限定类、方法和变量的访问范围。
  3. static: 表示静态变量或方法,属于类而不是实例。
  4. final: 表示不可改变的变量、方法或类。
  5. void: 表示方法没有返回值。
  6. int、double、char、boolean: 数据类型关键字,用于声明变量的类型。
  7. if、else、switch: 条件控制关键字。
  8. for、while、do: 循环控制关键字。
  9. try、catch、finally: 异常处理关键字。
  10. return: 用于从方法中返回值。
  11. extends、implements: 用于类的继承和接口的实现。
  1. class:

    • 用于声明一个类,是Java程序的基本组织单元。
  2. public、private、protected:

    • 访问修饰符,用于限定类、方法和变量的访问范围。
      • public:可以被任何类访问。
      • private:只能被定义它们的类访问。
      • protected:可以被同一包内的类和子类访问。
  3. static:

    • 用于声明静态变量或方法,属于类而不是实例。静态成员在类加载时被初始化。
  4. final:

    • 表示不可改变的变量、方法或类。
      • 对于变量,表示一旦被赋值后不可再修改。
      • 对于方法,表示方法不可被子类重写。
      • 对于类,表示类不可被继承。
  5. void:

    • 表示方法没有返回值。
  6. int、double、char、boolean:

    • 数据类型关键字,用于声明变量的类型。
  7. if、else、switch:

    • 条件控制关键字,用于控制程序的流程。
  8. for、while、do:

    • 循环控制关键字,用于控制循环结构。
  9. try、catch、finally:

    • 异常处理关键字,用于捕获和处理异常。
  10. return:

    • 用于从方法中返回值。
  11. extends、implements:

    • 用于类的继承和接口的实现。

这些关键字构成了Java语言的基础,通过合理使用它们,程序员可以有效地组织代码、控制程序逻辑、处理异常情况,并实现更复杂的软件功能。理解这些关键字的含义和用法是Java编程的基础之一。

二、 Java标识符:

  1. 区分大小写: Java是大小写敏感的,myVarmyvar是不同的标识符。
  2. 由字母、数字、下划线和美元符号组成: 但标识符不能以数字开头。
  3. 不能使用Java关键字: 不能将Java关键字用作标识符。
  4. 最佳实践: 使用有意义的名称,采用驼峰命名法(camelCase)。

命名规则如下:

  1. 区分大小写: Java是大小写敏感的,因此myVarmyvar被视为两个不同的标识符。

  2. 由字母、数字、下划线和美元符号组成: 标识符可以以字母、下划线(_)或美元符号($)开头,后面可以跟随字母、数字、下划线和美元符号。

  3. 不能以数字开头: 标识符不能以数字开头,但可以包含数字。

  4. 不能使用Java关键字: 标识符不能使用Java中已经定义的关键字,因为关键字具有特殊的含义,被用于语言的语法结构。

  5. 最佳实践: 为了提高代码的可读性,使用有意义的标识符名,并采用驼峰命名法(camelCase)。

符合规则的名称:

  • myVariable
  • _count
  • $totalAmount
  • calculateTotalAmount
  • MyClass

不符合规则标识符:

  • 3total(以数字开头)
  • my-variable(包含连字符)
  • class(关键字)

合理的标识符命名是编写清晰、易读且易维护的代码的关键。

三、Java命名规范:

为了提高代码的可读性和维护性,Java采用一套命名规范,其中包括:

  1. 类名: 使用首字母大写的驼峰命名法。例如:MyClass
  2. 方法名: 使用首字母小写的驼峰命名法。例如:calculateTotal()
  3. 变量名: 同样使用首字母小写的驼峰命名法。例如:myVariable
  4. 常量名: 全部大写,用下划线分隔单词。例如:MAX_SIZE
  5. 包名: 全部小写,用点分隔。例如:com.example.project

Java的一些命名规范 

  1. 类名: 使用首字母大写的驼峰命名法。例如,MyClass

  2. 方法名: 使用首字母小写的驼峰命名法。例如,calculateTotalAmount()

  3. 变量名: 同样使用首字母小写的驼峰命名法。例如,myVariable

  4. 常量名: 全部大写,用下划线分隔单词。例如,MAX_SIZE

  5. 包名: 全部小写,用点分隔。例如,com.example.project

  6. 标识符命名规范:

    • 标识符应具有描述性,能够清晰表达其用途。
    • 避免使用单个字符作为标识符,除非是临时变量。
    • 不要使用Java关键字作为标识符。
  7. 避免使用缩写: 在命名时避免使用缩写,除非是广泛接受的缩写,或者缩写是非常常见的。例如,使用calculateTotalAmount而不是calcTotalAmt

  8. 命名要有意义: 使命名反映实体的用途和含义,让其他程序员能够轻松理解代码的含义。

以下是一些符合Java命名规范的示例:

  • 类名:CustomerService
  • 方法名:calculateTotalAmount()
  • 变量名:itemPrice
  • 常量名:MAX_SIZE
  • 包名:com.example.project

通过遵循这些规范,可以编写出一致、易读且易维护的Java代码,提高代码质量和团队协作效率。

我的其他博客

探索灵活性与可维护性的利器:策略(Strategy)模式详解-CSDN博客

深入探讨敏捷开发项目管理流程与Scrum工具:构建高效团队与卓越产品的秘诀-CSDN博客

vue的生命周期-CSDN博客

什么是tomcat?tomcat是干什么用的?-CSDN博客

Linux 压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法-CSDN博客

腾讯-轻量应用服务器centos7中宝塔安装MySQL8.0出现内存不足-CSDN博客

JVM的类的生命周期-CSDN博客

多线程------Future异步任务-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/230287.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

01到底应该怎么理解“平均负载”

1、如何了解系统的负载情况? 每次发现系统变慢时, 我们通常做的第⼀件事, 就是执⾏top或者uptime命令, 来了解系统的负载情况。 ⽐如像下⾯这样, 我在命令⾏⾥输⼊了uptime命令, 系统也随即给出了结果。 …

微服务组件OpenFeign的学习

OpenFeign 添加依赖OpenFeign的简单使用OpenFeign日志配置OpenFeign超时时间配置 添加依赖 <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency>OpenFeign的…

思码逸关钦杰:聊聊研效管理中的数据操纵

3月25日&#xff0c;思码逸咨询总监、研发过程提效专家关钦杰在 QECon 质效城市论坛【深圳站】分享了主题为《聊聊研效管理中的数据操纵》的演讲。 以下内容根据关钦杰老师分享内容整理&#xff1a; 在生活中&#xff0c;当我们去描述客观事实的时候&#xff0c;我们经常要用…

【Source Insight4.0】解决注释中文乱码

本来用的好好的&#xff0c;结果今天创建一个新的项目就出现注释中文乱码&#xff01;&#xff01;&#xff01; 然后上网查找说要修改为【Default encoding” &#xff1a;改成System Default(Windows ANSI) 或者Chinese Simplified(GB2312)】但是我的并没有效果。 最后是选…

Spring Boot Logging中文文档

本文为官方文档直译版本。原文链接 Spring Boot Logging中文文档 引言日志格式控制台输出彩色输出 文件输出文件轮转日志级别日志组使用日志关机钩子自定义日志配置Logback 扩展特定配置文件的配置环境属性 Log4j2 扩展特定配置文件的配置环境属性查找Log4j2 系统属性 引言 Sp…

Frida05 - 高级API用法

参考文档 https://api-caller.com/2019/03/30/frida-note/ https://frida.re/docs/javascript-api/#frida 数组打印 测试代码&#xff1a; private static class Bean {String a;int b;float c; }private void test() {Bean[] beans new Bean[3];beans[0] new Bean();be…

深度学习笔记_6经典预训练网络LeNet-18解决FashionMNIST数据集

1、 调用模型库&#xff0c;定义参数&#xff0c;做数据预处理 import numpy as np import torch from torchvision.datasets import FashionMNIST import torchvision.transforms as transforms from torch.utils.data import DataLoader import torch.nn.functional as F im…

Redis——Redis常用命令

Redis提供了丰富的命令&#xff0c;可以对数据库和各种数据类型进行操作&#xff0c;这些命令可以在Windows和Linux中使用。 1、键值相关命令 1.1、KEYS KEYS用于返回满足pattern的所有key&#xff0c;pattern支持以下通配符&#xff1a; *&#xff1a;匹配任意字符。&…

Python教程81:函数的位置参数、默认参数、动态参数、关键字参数(入门必看)

1.形式参数&#xff08;Formal Parameters&#xff09;和实际参数&#xff08;Actual Parameters&#xff09;是函数或方法定义和调用过程中的两个重要概念。举个例子&#xff0c;在下面的greet函数中&#xff0c;当我们调用greet(“李白”)时&#xff0c;"李白"就是…

electron这样使用更安全

背景&#xff1a; electron大家平时为了方便使用&#xff0c;或是一些网上demo的引导&#xff0c;会让渲染进程的业务界面支持直接使用nodejs&#xff0c;这种开发方式有一定的安全隐患&#xff0c;如果业务界面因为xss之类的漏洞被注入其他代码&#xff0c;危害非常大&#x…

Spring之容器:IOC(3)

学习的最大理由是想摆脱平庸&#xff0c;早一天就多一份人生的精彩&#xff1b;迟一天就多一天平庸的困扰。各位小伙伴&#xff0c;如果您&#xff1a; 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持&#xff0c;想组团高效学习… 想写博客但无从下手&#xff0c;急需…

华为云CodeArts Repo常见问答汇总

1.【Repo】codearts Repo最大支持上传文件大小 答&#xff1a;参考链接 https://support.huaweicloud.com/productdesc-codehub/codehub_pdtd_0005.html • 单文件上传大小限制&#xff08;评论中上传附件&#xff09;<50MB。 • 单文件上传大小限制&#xff08;代码…

某联合产权交易所持续购买监控易产品的维保服务,提升IT运维保障能力

在信息化时代&#xff0c;企业信息化的程度已经成为影响其核心竞争力的重要因素。某联合产权交易所&#xff08;以下简称“交易所”&#xff09;作为行业领导者&#xff0c;一直以来都积极推进信息化建设&#xff0c;致力于提升运维管理水平&#xff0c;以适应日益激烈的市场竞…

Rust 嵌入式开发

Rust 进行嵌入式开发: https://xxchang.github.io/book/intro/index.html # 列出所有目标平台 rustup target list# 安装目标平台工具链 rustup target add thumbv7m-none-eabi# 创建工程 cargo new demo && cd demo cargo add cortex-m-rt cargo add panic-halt carg…

二十九、获取文件属性及相关信息

二十九、获取文件属性及相关信息QFileInfo QFileInfo 提供有关文件在文件系统中的名称 位置 &#xff08;路径&#xff09;、访问权限及它是目录还是符号链接、等信息。文件的大小、最后修改/读取时间也是可用的。QFileInfo 也可以被用于获取信息有关 Qt resource . QFileInf…

科技的成就(五十四)

511、线路板按层数来分的话分为单面板&#xff0c;双面板&#xff0c;和多层线路板三个大的分类。线路板按特性来分的话分为软板(FPC)&#xff0c;硬板(PCB)&#xff0c;软硬结合板(FPCB)。是当代电子元件业中最活跃的产业&#xff0c;其行业增长速度一般都高于电子元件产业3个…

算法模板之双链表图文详解

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;算法模板、数据结构 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. ⛳️使用数组模拟双链表讲解1.1 &#x1f514;为什么我们要使用数组去模拟双链表…

使用java调用python批处理将pdf转为图片

你可以使用Java中的ProcessBuilder来调用Python脚本&#xff0c;并将PDF转换为图片。以下是一个简单的Java代码示例&#xff0c;假设你的Python脚本名为pdf2img.py&#xff1a; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader…

Powershell summaries with types of scales of summaries

tiny,small,medium, large and huge scale of Powershell summaries I) many kinds of Tiny summaries of Powershell1.1) Powershell能干嘛&#xff1f; I) many kinds of Tiny summaries of Powershell 1.1) Powershell能干嘛&#xff1f; 此外&#xff0c;关于PowerShell脚…

Java数组(2)

我是南城余&#xff01;阿里云开发者平台专家博士证书获得者&#xff01; 欢迎关注我的博客&#xff01;一同成长&#xff01; 一名从事运维开发的worker&#xff0c;记录分享学习。 专注于AI&#xff0c;运维开发&#xff0c;windows Linux 系统领域的分享&#xff01; 本…