首页 > 编程语言 >Java的标识符与编码规范

Java的标识符与编码规范

时间:2023-01-11 18:00:38浏览次数:42  
标签:编码 Java 代码 关键字 命名 标识符

一、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中的保留字和关键字。

下面给大家举个栗子,看看标识符是否合法:

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的标识符与编码规范_保留字_02

有的小伙伴可能会惊呼,Java中有这么多的关键字啊?!我怎么记得下来?其实,你不用专门去记这些关键字,以后我们每一天都要编写代码,这些关键字自然而然就会被你记住了!

另外在上面这些关键字中,有几个用来修饰类的方法和属性的关键字,我们把它们称为修饰符,主要有两类修饰符:

访问控制修饰符:default、public、protected、private
非访问控制修饰符:final、abstract、static、synchronized

目前这个阶段,希望大家先记住4个”访问控制修饰符“即可,其他的我们再慢慢学习和掌握。

2. 保留字

Java中还有一些没有定义特定用途,但保留备用的关键字,如goto、const等,被称为保留字。也就是说,有些关键字现在暂时没有用到,但有可能以后会用到,为了”以备不时之需“,Java预留了一些关键字,这就是保留字。这些保留字与关键字一样,也不能被我们用来定义标识符!

三、编码规范

除了以上这些关于标识符的命名规则和规范之外,还希望大家从今天开始,在编码时要养成良好的编码规范。我这里所谓的编码规范,是指在编写代码时希望大家遵守的一些”建议“。当然,这些规范如果你不遵守,代码并不会出错,但有可能会被你的领导和同事diss,说你”不讲究“。今天先给大家说两个会伴随我们整个开发生涯的常见编码规范。

1. 代码缩进

在Java代码中,每一个层级的代码都应该使用tab键(制表位)进行间隔,间隔4个字符。比如下面的代码:

Java的标识符与编码规范_Java_03

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

Java的标识符与编码规范_Java_04

上图这种"{ }"花括号配对方式,不是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记事本工具,这个工具用起来比较费劲。在下一篇文章中,会按递进的顺序,给大家介绍几个效率更高的开发工具。

五、今日作业

第一题

在评论区说说Java标识符命名有哪些要求?

第二题(多选)

以下Java标识符,命名错误的是?

A| a1b2c3

B| 123abc

C| _123abc

D| &123abc

第三题

Java的代码缩进,应该缩进几个字符?评论区给出你的答案吧。

标签:编码,Java,代码,关键字,命名,标识符
From: https://blog.51cto.com/u_14573321/6002509

相关文章

  • JAVA中JSON嵌套报错:Cannot deserialize instance of `java.util.ArrayList` out of ST
      org.springframework.http.converter.HttpMessageNotReadableException:JSONparseerror:Cannotdeserializeinstanceof`java.util.ArrayList`outofSTART_O......
  • 学Java报培训班靠谱不?
    其实各位还在观望要不要入门的同学们,建议先不考虑培训,先考虑下自己靠谱不。刮了一阵风:1、所有大牛都是科班出来的,一股脑推荐自学;2、所有培训没找到好工作的都是受害者;3、所......
  • Java进阶篇——springboot2源码探究
    1.@EnableAutoConfiguration除了元注解之外,EnableAutoConfiguration包含了两大重要部分:1)@AutoConfigurationPackage注解该注解只导入了一个内部类:AutoConfigurationPac......
  • Java开发|移动开发|算法工程师……20-50K,欢迎投递
    FreemenAPP作为一款专注于程序员招聘求职的平台,主旨在于帮助更多的IT程序员技术能有一个更加便捷和轻松的求职环境,帮助更多IT程序员解决生活和工作之间的矛盾,增加程序员收......
  • JavaScript严格模式(use strict)
    一、什么是严格模式(strictmode)JavaScript严格模式即在严格模式下运行。严格模式下,你将不能使用未声明的变量。注意,严格模式需要浏览器的支持:Internetexplorer10+、Fire......
  • Java中字符串的拼接与性能
    在JAVA中拼接两个字符串的最简便的方式就是使用操作符+了。如果你用+来连接固定长度的字符串,可能性能上会稍受影响,如果你是在循环中来+多个字符串的话,性能将指数倍的下降。......
  • java getResource() 方法执行规律展示
    结论getClassLoader().getResource(Strings)读取的是当前项目的根目录;getResource(Strings)读取的时class类存在的目录getClassLoader().getResource(Strings)......
  • Java 解析 带 T Z 的 UTC 时间格式 日期
    直接上代码吧publicstaticvoidmain(String[]args)throwsParseException{SimpleDateFormatdf=newSimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")......
  • Failed to parse multipart servlet request; nested exception is java.lang.Runtime
    这个是本地测试导入Excel的时候报的错NoSuchFileException找不到文件异常,看后边文件名大概知道这个就是临时文件生成失败,导致springcloud项目找不到文件 解决方案:在......
  • Java上的try catch并不影响性能
     先说结论,未有异常发生时,二者性能上几乎没有差别。trycatch关键字在编译器级别上的实现原理:1、类会跟随一张异常表(exceptiontable),每一个trycatch都会在这个表里......