c02章.s03节.标识符和编程规范

标识符和编程规范

[toc]

一. Java 标识符

Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。

关于 Java 标识符,有以下几点需要注意:

  • 所有的标识符都应该以字母(A-Z 或者 a-z),美元符($)、或者下划线(_)开始
  • 首字符之后可以是字母(A-Z 或者 a-z),美元符($)、下划线(_)或数字的任何字符组合
  • 关键字不能用作标识符. (关键字就是Java有特定意义的名字,下面会列出。)
  • 标识符是大小写敏感的,这就意味着标识符 Hello 与 hello 是不同的。
  • 合法标识符举例:age、$salary、_value、__1_value、sayHelloWorld、SayHello
  • 非法标识符举例:123abc、-salary

说明,一般命名使用大小写的字母就可以了。偶尔会用到数字作为结尾。

二. 命名规则

首先要求程序中的各个要素都遵守命名规则,然后在编码中严格按照编码格式编写代码。命名规则包括以下几点。

2.1 包(package)的命名规则

包(package)的名称由一个小写字母序列组成。比如常见的方式:groupId + artifactId+ functionName

groupId: 一般比如机构 org.apache , org.springframework, 或者公司 com.microsoft.

artifactId: 就是项目的名字,可以一层到两层。开源的机构有很多项目,一般一个项目就有一个名字,同时作为包名。

比如 org.springframework.boot

functionName: 比如名字是controller(控制器),还是repository(数据层),这些后面代码看看就明白了。

说明:本项目的报名采用了汉字方式,这是不得已,为了方便大家阅读学习。实际项目中必须使用小写字母。

2.2 类(class)的命名规则

类(class)的名称最好由大写字母开头,其他字母都由小写的单词组成。如果类名由若干单词组成,那么每个单词的首字母应该大写,例如 MyEasyJavaBook

注意:源文件名必须和类名相同。文件名的后缀为 .java。(如果文件名和类名不相同则会导致编译错误)。源文件就是新建的类文件,新建好后,手工修改类名与文件名不一致,是错误的。

2.3 方法的命名规则

所有的方法名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。

2.4 变量的命名规则

所有的变量名都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。

类的实例的名称变量,一般与类名相同,首字母改为小写。

2.5 常量的命名规则

常量的名称都大写,并且指出完整含义,让人一眼看明白这个变量的意思最好。常量后面会讲。

2.6 参数的命名规则

所有的参数都应该以小写字母开头。如果方法名含有若干单词,则后面的每个单词首字母大写。参数后面会讲。

2.7 数组的命名规则

数组的命名使用“类型[] 数组名”的形式,以小写字母开头。数组后面会讲。

所有的 Java 程序由 public static void main(String[] args) 方法开始执行。main方法中的参数形式就是一个字符串数组。

以下NameRules为命名规则示例:

import a01.Java语言核心技术.c02.基础概念和语法.s02.第一个类和对象.Book;

import java.time.LocalDateTime;
import java.util.Date;

public class NameRules { //类的命名,大写字母开头,多个字母,后面的字母同样大写字母开头。
    final static double CIRCLE_PI = 3.1415926; //定义了一个常量,圆周率。常量的命名都是大写字母,表明含义。
    String variableDefinitionWay; //变量的命名规则。以小写字母开头。

    //方法的命名规则, 以及参数的命名规则。
    public void functionDefinitionWay(String argDefinitionWay) {
        System.out.println("方法以小写字母开头。");
        System.out.println("参数以小写字母开头。");
    }

    public static void main(String[] args) {
        System.out.println("测试import,当前时间:" + new Date());
        System.out.println("测试import,当前时间(新方式):" + LocalDateTime.now());
        Book bookHongLouMeng = new Book();//有时候变量名,实例名命名按照需要,定义的有意义,而不需要额外注释。
        System.out.println("测试import,打印当前对象的内存地址:" + bookHongLouMeng);
    }
}

三 编码格式

编码格式规定如下:

  • 程序最开始编写导入包和类语句,即 import 语句。import 语句可以有多行,编写完 import 语句后空一行。
  • 定义 public 类,顶格书写。类的主体左括号“{”不换行书写,右括号“}”顶格书写。
  • 定义 public 类中的变量,缩进书写。
  • 定义方法用缩进书写,方法的左括号“{”不换行书写,右括号“}”和方法首行第一个字符对齐。方法体要再次缩进书写,最后一个变量定义和第一个方法定义之间、方法和方法之间最好空一行。

提示:在单一的语句后有“;”,在一对括号“{}“之外无“;”。方法调用名和紧跟在其后的左括号“(”无空格,该左括号和其后的标识符之间无空格。多个参数之间的逗号和前一个参数紧靠,与后一个参数空一格。

编程规范是对编程的一种约定,主要作用是增强代码的可读性和可维护性,便于代码重用。

一般在手工敲代码的时候,就有意识的编写,即使没用Reformat Code功能,代码也基本保持良好风格。

继续下面内容将提供示例讲解格式规范。

四 代码美化

当代码有点杂乱时,需要美化。可以直接使用开发工具的 《Code》菜单 ,《Reformat Code》 功能 。默认快捷键: Ctrl+Alt+L

以下CodingSpecification代码需要美化,配合标题五撤销和重做的快捷方式,快速查看掌握编码格式的要点:


import a01.Java语言核心技术.c02.基础概念和语法.s02.第一个类和对象.Book;

public class CodingSpecification{
        String variable;//注意观察,变量的格式与空格。

    public void add(int a,int b){
        System.out.println("注意观察,参数的格式与空格。");
    }

    public static void main(String[] args){
        System.out.println("使用开发工具的格式化代码功能,菜单Code-->Reformat Code功能。快捷键Ctrl+Alt+L");
        System.out.println("注意观察,变量的格式与空格。");
            Book book1=new Book();
        System.out.println("保持一个屏幕的合适的宽度--------------------" +
                "保持一个屏幕的合适的宽度--------------------" +
                "保持一个屏幕的合适的宽度--------------------");
    }
}

五 撤销和重做

在IDEA开发工具的《Edit》菜单,有一个Undo xxx 和 Redo xxx功能。作用就是撤销刚刚的一个操作。重做刚刚的操作。不同的操作,xxx代表那个操作名字。

快捷方式分别是 :

Undo撤销:Ctrl+Z

Redo重做:Ctrl + Shift + Z

配合刚刚的格式化工具,来回切换查看变化内容。

部分快捷键可能和系统里的其它软件的快捷键冲突,关闭其它软件即可。

六 Java 关键字

下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。保留字有个大概印象。后面慢慢学。

关键字(或者保留字)是对编译器有特殊意义的固定单词,不能在程序中做其他目的使用。关键字具有专门的意义和用途,和自定义的标识符不同,不能当作一般的标识符来使用。

在开发工具中,当你命名时使用了关键字,会有红色的报错。

类别 关键字 说明
访问控制 private 私有的
protected 受保护的
public 公共的
default 默认
类、方法和变量修饰符 abstract 声明抽象
class
extends 扩充,继承
final 最终值,不可改变的
implements 实现(接口)
interface 接口
native 本地,原生方法(非 Java 实现)
new 新,创建
static 静态
strictfp 严格,精准
synchronized 线程,同步
transient 短暂
volatile 易失
程序控制语句 break 跳出循环
case 定义一个值以供 switch 选择
continue 继续
default 默认
do 运行
else 否则
for 循环
if 如果
instanceof 实例
return 返回
switch 根据值选择执行
while 循环
错误处理 assert 断言表达式是否为真
catch 捕捉异常
finally 有没有异常都执行
throw 抛出一个异常对象
throws 声明一个异常可能被抛出
try 捕获异常
包相关 import 引入
package
基本类型 boolean 布尔型
byte 字节型
char 字符型
double 双精度浮点
float 单精度浮点
int 整型
long 长整型
short 短整型
变量引用 super 父类,超类
this 本类
void 无返回值
保留关键字 goto 是关键字,但不能使用
const 是关键字,但不能使用
null

文章和项目开源地址

一起学习,Java最简单易懂的零基础入门,答疑解惑,关注点赞github开源:https://github.com/BradYan/easy-java

你可能感兴趣的:(c02章.s03节.标识符和编程规范)