Java语言标识符的命名规范(超详细讲解)
前言
在上一篇文章中,壹哥带领大家开始编写了第一个 Java 案例,在我们的 cmd 命令窗口中输出了”Hello World“这句话。并且我还给大家留了一个小作业,你做出来了吗?
但是在上一篇文章中,我们学习的”Hello World“案例,里面有一些基础的语法,比如 public、class、static 等,这些到底是啥东东,有什么含义和要求,对于小白来说,可能还都不是很清楚。所以接下来在本文中,壹哥会给大家讲解一下 Java 最基本的语法要求,带大家认识 Java 里的标识符及其命名规范,认识 Java 里的关键字、保留字有哪些。
---------前戏已做完,精彩即开始---------
全文大约【3000】字,不说废话,只讲可以让你学到技术、明白原理的纯干货!本文带有丰富案例及配图视频,让你更好的理解和运用文中的技术概念,并可以给你带来具有足够启迪的思考......
一. Java 标识符
1. 代码回顾
在认识什么是 Java 里的标识符之前,咱们还是先把上节课中的那段代码拿过来复习一下,如下:
public class HelloWorld {
public static void main(String[] args){
System.out.println("Hello World!");
}
}
壹哥之前跟大家解释过上述代码的含义:
public:关键字,表示“公开的”;
class:关键字,表示用来定义一个类;
HelloWorld:类名,要保证和我们的文件名一样;
static:关键字,表示静态的,大家先记住意思,后面我会再细讲;
void:表示方法没有返回值,大家先记住意思,后面我再细讲;
main:主方法的名称,表示程序的入口,固定名称;
String[]:字符串数组类型;
args:方法参数的名称,随意;
System.out.println("Hello World!"):用来输出“Hello World!”这句话。
其实,在这段代码中,有些就属于”标识符“。具体哪些是标识符呢?我们继续往下看!
2. 标识符
首先,我们得认识一下什么是”标识符“。
Java 中的包、类、方法、参数和变量等要素,都需要有个命名,这些名字就是标识符,使用字符串进行表示。
从上述定义中可知,在 Java 中有包、类、方法、参数、变量等几种要素,这些要素都需要命名。而这些名字需要使用字符串来命名,这些字符串就叫作”标识符“。举个栗子,你的名字叫做”二狗“,”二狗“就是标识符!
那么有的小伙伴就动歪脑筋了,既然标识符就是用来命名的字符串,那我是不是可以随便命名?有没有什么要求呢?大家想想,你自己身份证上的姓名可以随便命名吗?是不是会有一定的要求和规范呢?
3. 命名规则(重点)
我们首先要记住 Java 标识符的命名规则,如下:
①. 标识符由 字母(含英、中、日、俄等)、数字、下划线"_" 和 美元符号 $ (音: dollar)组成,如 age、G7、_value、$salary;
②. 不能以数字开头,如 123abc;
③. 严格区分大小写,如 class 与 Class 是不同的;
④. 长度无限制(一般不要超过 15 个字符);
⑤. 不能是 Java 中的保留字和关键字。
下面壹哥给大家举个栗子,看看标识符是否合法:

4. 命名规范
标识符命名习惯:尽量做到见名知意,如 Order 订单类,不要写 a、b、c 这种名称;
变量名/方法名/参数名:首字母要小写。如果名称由多个单词组成,第一个单词的首字母应小写,剩下的单词首字母应大写(驼峰式命名法),例如:xxxYyyZzz、numCounter;
类名: 单词首字母应大写,如果类名由多个单词组成,每个单词的首字母都应大写(帕斯卡命名法),例如:XxxYyyZzz、OrderCancel;
包名: 包名应该小写。由多单词组成时,所有字母也都应小写,例如:xxxyyyzzz、chinaedu;
常量名: 所有字母都应大写,常量名由多单词组成时,每个单词用下划线连接,例如:XXX_YYY_ZZZ、GOOD_LUCK。
5. 规则与规范的区别
规则是必须要遵守的”法则“,属于强制性的,比如交通规则,不遵守就不行,会罚钱扣分出事故!
规范是建议你遵守的”建议“,属于鼓励性的,比如道德规范,建议你能遵守,否则你会让人鄙视!
我们在开发时,必须遵守 Java 标识符的命名规则,尽量遵守 Java 标识符的命名规范。一般在企业开发时,对命名规范都会有自己的特殊要求,我们要按照公司自己的要求进行代码编写。总之,一个合格的程序员,决不能随心所欲的想怎么编码就怎么编码。就好比一个合格的人,也不能在这个社会上随心所欲的”胡作非为“,比如是要遵守特定的规则和规范的!
二. 关键字与保留字
在上面讲解标识符时,壹哥跟大家说过,标识符不能是 Java 自带的关键字和保留字。那到底什么是关键字和保留字呢?
1. 关键字
Java 中有一些被赋予了特定含义,有专门用途的字符串被称为关键字(keyword)。这些关键字全部都是小写的,关键字分类如下:

有的小伙伴可能会惊呼,Java 中有这么多的关键字啊?!我怎么记得下来?其实,你不用专门去记这些关键字,以后我们每一天都要编写代码,这些关键字自然而然就会被你记住了!
另外在上面这些关键字中,有几个用来修饰类的方法和属性的关键字,我们把它们称为修饰符,主要有两类修饰符:
访问控制修饰符:default、public、protected、private
非访问控制修饰符:final、abstract、static、synchronized
目前这个阶段,壹哥希望大家先记住 4 个”访问控制修饰符“即可,其他的我们再慢慢学习和掌握。
2. 保留字
Java 中还有一些没有定义特定用途,但保留备用的关键字,如 goto、const 等,被称为保留字。也就是说,有些关键字现在暂时没有用到,但有可能以后会用到,为了”以备不时之需“,Java 预留了一些关键字,这就是保留字。这些保留字与关键字一样,也不能被我们用来定义标识符!
三. 编码规范
除了以上这些关于标识符的命名规则和规范之外,壹哥还希望大家从今天开始,在编码时要养成良好的编码规范。我这里所谓的编码规范,是指在编写代码时希望大家遵守的一些”建议“。当然,这些规范如果你不遵守,代码并不会出错,但有可能会被你的领导和同事 diss,说你”不讲究“。今天壹哥先给大家说两个会伴随我们整个开发生涯的常见编码规范。
1. 代码缩进
在 Java 代码中,每一个层级的代码都应该使用 tab 键(制表位)进行间隔,间隔 4 个字符。比如下面的代码:

不同层级的代码要间隔 4 个字符,并用花括号"{ }"分割,而且"{ }"要采用上图所示的配对方式。注意不要采用如下方式:

上图这种"{ }"花括号配对方式,不是 Java 的编码风格,不建议大家这样写!虽然没有错误,但不符合绝大多数 Java 程序员的编码习惯和审美要求。你的所有同事都顺时针转圈,你为什么非要逆时针转圈呢?
2. 代码注释
另外,我们要从学编程开始,就养成写注释的习惯。所谓的注释,就是指对代码含义的一段解释性文字。这段文字并不会被编译进字节码中,所以你不用担心会影响执行效率,它只是用来给程序员解释代码含义的。Java 中的注释有 3 种:
单行注释,// 注释内容
多行注释,/* 注释内容 */
文档注释,/* *注释内容 */
注释的使用如下所示:
/**
作者:一一哥
描述:这是一个入门程序
*/
public class Hello{
/**
方法的作用:这是程序的入口
方法的参数:
方法的返回值:
*/
public static void main(String[] args){
//这行代码的含义是在控制台输出内容
System.out.println("注释.....");
/*
以下这段代码的功能是
打印输出一个三角形
*/
System.out.println(".");
System.out.println("..");
System.out.println("...");
System.out.println("....");
System.out.println(".....");
}
}
当然,这里只是先让大家养成一个良好的编码规范,关于注释的具体用法,壹哥会在后面的文章中再详细讲解。
----------正片已结束,来根事后烟----------
四. 结语
至此,壹哥就把 Java 的标识符、关键字、保留字和编码规范给大家讲解完毕。其中标识符的命名规则大家必须要记住,这是本文的重点!所以需要各位牢牢记住 Java 标识符的命名规则有哪些要求?另外要尽量记住常用的命名和编码规范,不要去做违反大多数人习惯的事情!
截止到现在,我们使用的编码工具还都是 windows 系统自带的 txt 记事本工具,这个工具用起来比较费劲。所以在下一篇文章中,壹哥会按递进的顺序,给大家介绍几个效率更高的开发工具,敬请期待下一篇哦。
另外如果你独自学习觉得有很多困难,可以加入壹哥的学习互助群,大家一起交流学习。
五. 今日作业
1. 第一题
在评论区说说 Java 标识符命名有哪些要求?
2. 第二题
以下 Java 标识符,命名错误的是?
A| a1b2c3
B| 123abc
C| _123abc
D| &123abc
3. 第三题
Java 的代码缩进,应该缩进几个字符?评论区给出你的答案吧。
Java语言标识符的命名规范(超详细讲解)的更多相关文章
- Java基础—标识符及命名规范
什么是标识符符? 凡是可以由自己命名的地方都称为修饰符. 例: 项目名 ,包名 ,类名 .方法名 2. 命名规范. ① 不可使用java关键字和保留字,但是可以包含关键字和保留字. ② ...
- 前端模块化IIFE,commonjs,AMD,UMD,ES6 Module规范超详细讲解
目录 为什么前端需要模块化 什么是模块 是什么IIFE 举个栗子 模块化标准 Commonjs 特征 IIFE中的例子用commonjs实现 AMD和RequireJS 如何定义一个模块 如何在入口文 ...
- Java语言基本语法(一)————关键字&标识符(Java语言标识符命名规范&Java语言的包名、类名、接口名、变量名、函数名、常量名命名规则 )
一.关键字 关键字的定义和特点 定义:被Java语言赋予特殊含义,用做专门用途的字符串(单词). 特点:关键字中所有字母均为小写 下面列举一些常用的关键字. 用于定义数据类型的关键字:byte.sho ...
- java中变量和标识符名命名规范
变量存放的是内存地址,当定义一个变量后,我们可以通过变量名找到该内存地址,可以修改该内存区间的值. 标识符的命名规范:首字母:字母,下划线,$符号:其余部分:数字,字母,下划线,$. 标识符应该避开j ...
- C语言文件操作函数大全(超详细)
C语言文件操作函数大全(超详细) 作者: 字体:[增加 减小] 类型:转载 本篇文章是对C语言中的文件操作函数进行了详细的总结分析,需要的朋友参考下 fopen(打开文件)相关函数 open,fc ...
- Java中的名称命名规范:
Java中的名称命名规范:(不遵守,也不会出现编译的错误) 包名:多单词组成时所有字母都小写:xxxyyyzzz 类名.接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz 变量名.方法名: ...
- 5. Java的注释,标识符、标识符的命名规范
什么是标识符符? 凡是可以由自己命名的地方都称为修饰符. 例: 项目名 ,包名 ,类名 .方法名 2. 命名规范. ① 不可使用java关键字和保留字,但是可以包含关键字和保留字. ② ...
- Java基础入门 - 标识符及其命名规范
类名.变量名.方法名都称为标识符 标识符命名规范: 由字母(A-Z或a-z).数字.下划线(_)和美元符($)中的一种或多种组合而成 不可以数字开头 大小写敏感 关键字不能用作标识符 合法标识符如:D ...
- Java编程风格与命名规范整理
基本命名规范 包命名 包名按照域名的范围从大到小逐步列出,恰好和Internet上的域名命名规则相反. 由一组以“.”连接的标识符构成,通常第一个标识符为符合网络域名的两个或者三个英文小写字母. Pe ...
- Java 基础 标识符的命名
java标识符的命名规则和规范 首先,标识符是在Java程序中能够自己进行命名的地方,例如:类名,方法名,接口名,变量名,常量名...等. 命名规则: 1.由26个英文字母的大小写,0-9的数字,_或 ...
随机推荐
- C#之List、Queue、Stack使用EnsureCapacity方法预设数组大小
简介 List.Queue 和 Stack 集合中的 EnsureCapacity方法预设数组大小. 为什么以及何时使用EnsureCapacity 方法 这里我们将首先了解为什么需要使用这种方法以及 ...
- C语言的所有函数
auto 声明自动变量break 跳出当前循环case 开关语句分支char 声明字符型变量或函数返回值类型const 定义常量,如果一个变量被cost修饰,那么他的值就不能再被改变continue ...
- spring的作用
Spring能有效地组织你的中间层对象,无论你是否选择使用了EJB.如果你仅仅使用了Struts或其他的包含了J2EE特有API的framework,你会发现Spring关注了遗留下的问题.Sprin ...
- Selenium+Python上传文件方法大全
转自:https://www.jianshu.com/p/fba37cc5d5e2
- 后台传回来的Map类型的数据在前台中的JS代码中使用
Map<String, String> projectTypeCodeMap = SysCodeUtils.getSysCodeMap(request, CommonFields.XT_P ...
- JetPack Compose 入门还得是官方
官方写的真不错! 和那些所谓"教程"比真的简单高效不罗嗦! 所以还得是官方! 使用 Jetpack Compose 更快地打造更出色的应用 https://developer.an ...
- visio任意图形填充
开发工具->操作->修剪->按住Shift键点击填充图形所有边 同时选中后->组合->开发工具->操作->连接 回到开始选项卡选择填充颜色 中途不要点击其他, ...
- jsp第8个作业
public boolean addMail(Msg msg){ Statement st =null; Connection con=null; try{ //获取连接 con = getConne ...
- NOIP2008普及组
T2]排座椅 横行相同时列数+1,纵行相同时行数+1. 主要是用桶排序,因为范围太大了,用sort会超时 #include<iostream> #include<cstring> ...
- python中将各种类型表达式中的 \ 符号,都看作转义符
python中将各种类型表达式中的 \ 符号,都看作转义符,如 \n 代表换行 \t 代表空tab,还发现 \a 相当于什么都不是,改行末尾的 \ 的意思是该行还没写完,接着下边一行的内容. 转义 ...