注释
- 单行注释:通常用于解释单行代码的作用。
- 多行注释:通常用于解释一段代码的作用。
- 文档注释:通常用于生成 Java 开发文档。
单行可以相互嵌套,多行可以嵌套单行,多行不可嵌套多行。注释不会参与编译,编译后的字节码文件中不会保留任何注释信息,注释是为了提高代码的可读性和可维护性。同时,在使用注释时,要遵循一定的规范:
- 内容准确: 注释内容要和代码一致,匹配,并在代码修改时及时更新
- 斜体样式 篇幅合理: 注释既不应该太精简,也不应该长篇大论
- 使用中文: 一般国内公司都要求使用中文写注释
- 积极向上: 注释中不要包含负能量
标识符
在程序中有用户给类、方法、变量所取的名称,称之为标识符,标识符的命名应该遵循以下:
- 硬性规则
○ 只能包含数字、字母、下划线和$符号
○ 不能以数字开头
○ 不能与关键字冲突
○ 区分大小写 - 软性建议
○ 类名:使用大驼峰,即每个单词的首字母大写
○ 方法名和变量名:使用小驼峰,即首字母小写,后面每个单词的首字母小写
关键字
Java关键字是Java预定义的一组具有特殊含义的标识符,它们对于编译器来说具有特定的意义,用于表示编程语言的语法结构、控制流程、访问修饰符、异常处理、数据类型等重要概念。Java关键字是Java语言的基石,不能作为变量名、方法名、类名、包名或参数名使用。下面是Java中的一些主要关键字,按功能分类概述:
数据类型关键字
- boolean: 表示布尔类型,仅有两种值:true 和 false。
- byte: 8位带符号整数类型。
- short: 16位带符号整数类型。
- int: 32位带符号整数类型。
- long: 64位带符号整数类型。
- char: 16位Unicode字符类型。
- float: 单精度浮点数类型。
- double: 双精度浮点数类型。
- void: 表示方法无返回值。
访问控制与修饰符关键字
- public: 表示类、方法或成员变量对所有其他类都是可访问的。
- private: 表示类、方法或成员变量仅对其所在的类内部可访问。
- protected: 表示类、方法或成员变量对其所在包内所有类以及其子类可访问。
- static: 表示类的成员(变量、方法或嵌套类)属于类本身,而不是类的实例。
- final: 用于修饰类(不可继承)、方法(不可重写)或变量(只读,一旦赋值后不能更改)。
- abstract: 用于声明抽象类或抽象方法,抽象方法没有具体实现,需要子类去实现。
- strictfp: 用于确保浮点运算遵循严格的IEEE 754规范,保证跨平台的一致性。
程序控制关键字
- if,else: 用于条件分支结构。
- switch, case, default: 构建多分支选择结构。
- for, while, do…while: 循环控制结构。
- break, continue: 分别用于跳出循环或跳过当前循环迭代。
- return: 从方法中返回一个值或结束方法执行。
异常处理关键字
- try, catch, finally: 用于异常处理语句,捕获并处理可能出现的异常。
- throw: 显式抛出一个异常对象。
- throws: 在方法签名中声明该方法可能抛出的异常类型。
类、接口与包相关关键字
- class: 定义一个类。
- interface: 定义一个接口,包含一组抽象方法。
- extends: 表示类继承另一个类。
- implements: 表示类实现一个或多个接口。
- package: 定义包,用于组织和管理类文件。
- import: 引入其他包中的类或全部类。
其他关键字
- this: 引用当前对象。
- super: 引用当前对象的超类。
- null: 表示引用类型的空值。
- instanceof: 判断对象是否属于某个类或其子类的实例。
- synchronized: 用于同步代码块或方法,确保同一时刻只有一个线程能够访问。
- transient: 修饰变量,表示该变量不应被序列化。
- volatile: 修饰变量,指示JVM保证对该变量的读取操作不会被编译器优化,始终保持从主内存中获取最新值。
另外,Java中有两个保留关键字,它们在当前版本中并未使用,但可能在未来版本中被赋予特定含义:
- const: 保留字,目前未使用,理论上可用于声明常量。
- goto: 保留字,目前未使用,传统上用于无条件跳转,但在现代Java中不推荐使用。