Java中的名称命名规范
包名:多单词组成时所有字母都小写:xxxyyyzzz
类名、接口名:多单词组成时,所有单词的首字母大写:XxxYyyZzz
变量名、方法名、参数名:多单词组成时,第一个单词首字母小写,第二个单词开始每个单词首字母大写:xxxYyyZzz
常量名:所有字母都大写。多单词时每个单词用下划线连接:XXX_YYY_ZZZ
源文件名:源文件名必须和类名相同。当保存文件的时候,你应该使用类名作为文件名保存(切记Java是大小写敏感的),文件名的后缀为.java。(如果文件名和类名不相同则会导致编译错误)。
Java标识符
Java所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。所以标识符其实就是在程序中自定义的名词,或者说是给类、接口、方法、变量等起名字时使用的字符序列。
组成规则:英文大小写字母、数字字符、美元符($)、下划线(_)
关于Java标识符,有以下几点需要注意:
1)所有的标识符都应该以字母(A-Z或者a-z),美元符($)、或者下划线(_)开始,不能以数字开头
2)关键字及保留字不能用作标识符,但能包含关键字以及保留字
3)标识符是大小写敏感的,长度无限制
4)标识符不能包含空格
5)在起名字时,为了提高阅读性,要尽量有意义,“见名知意”
Java关键字
关键字:被Java语言赋予特定含义,用做专门用途的字符串(单词)。关键字都是小写的,jdk1.2多了strictfp(经准浮点型),关键字 jdk1.4多了assert(断言)关键字,jdk1.5多了enum(枚举) 关键字。
保留字:其实就是还没有赋予特殊含义,但是准备日后要使用过的单词。例如 goto、const 和 null作为保留字存在,目前并不使用(在Java中没有任何的意义)
Java关键字一览表
访问权限修饰符(3) |
private | 私有的 |
protected | 受保护的 | |
public | 公共的 | |
类、方法和变量修饰符(13) | abstract | 声明抽象 |
class | 类 | |
extends | 扩允,继承 | |
final | 最终值,不可改变的 | |
implements | 实现(接口) | |
interface | 接口 | |
native | 本地,原生方法(非Java实现) | |
new | 新,创建 | |
static | 静态 | |
strictfp | 严格,精准 | |
synchronized | 线程,同步 | |
transient | 短暂 | |
volatile | 易失 | |
程序控制语句(12) | break | 跳出循环 |
case | 定义一个值以供switch选择 | |
continue | 继续 | |
default | 默认 | |
do | 运行 | |
else | 否则 | |
for | 循环 | |
if | 如果 | |
instanceof | 实例 | |
return | 返回 | |
switch | 根据值选择执行 | |
while | 循环 | |
错误处理(6) | assert | 断言表达式是否为真 |
catch | 捕捉异常 | |
finally | 有没有异常都执行 | |
throw | 抛出一个异常对象 | |
throws | 声明一个异常可能被抛出 | |
try | 捕获异常 | |
包相关(2) | import | 引入 |
package | 包 | |
Java基本数据类型(8) | boolean | 布尔型 |
byte | 字节型 | |
char | 字符型 | |
double | 双精度浮点 | |
float | 单精度浮点 | |
int | 整型 | |
long | 长整型 | |
short | 短整型 | |
变量引用(3) | super | 父类,超类 |
this | 本类 | |
void | 无返回值 | |
保留关键字(3) | goto | 是关键字,但不能使用 |
const | 是关键字,但不能使用 | |
null | 空 |
Java注释
用于注解说明解释程序的文字就是注释,注释中的字符将被Java编译器忽略。
其作用主要是提高代码的阅读性,是调试程序的重要方法。
Java中的注释类型:
单行注释:以 // 开头,行末结尾
多行注释:以 /* 开头,以 */ 结尾
文档注释(Java特有):以 /** 开头,以 */ 结尾
/**
* 这是一个文档注释的示例
* @author Java从入门到出门
* @since v1.0
*/
public class HelloWorld {
/*
* 这是一个多行注释的示例
* 一般会有多行注释的内容
*/
public static void main(String []args){
// 这是单行注释的示例
System.out.println("Hello World");
}
}
注意:
1)对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
2)多行注释里面不允许有多行注释嵌套。
3)文档注释内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。
Java注释规范
一般来说,对于一份规范的程序源代码而言,注释应该占到源代码的 1/3 以上。因此,注释是程序源代码的重要组成部分,一定要加以重视。
1)类和接口的注释放在class或者interface关键字之前,import关键字之后,使用“/** */”注释方式。
/**
* <一句话功能简述>
* <功能详细描述>
* @author [作者](必须)
* @see [相关类/方法](可选)
* @since [产品/模块版本](必须)
* @deprecated (可选)
*/
2)类属性的注释放在属性前面
/**
* 注释内容
*/
private String personName;
3)公共(public)和保护(protected)方法注释内容:列出方法的一句话功能简述、功能详细描述、输入参数、输出参数、返回值、异常等。
/**
* <一句话功能简述>
* <功能详细描述>
* @param [参数1] [参数1说明]
* @param [参数2] [参数2说明]
* @return [返回类型说明]
* @exception/@throws [异常类型][异常说明]
* @see [类、类#方法、类#成员]
* @since [起始版本]
* @deprecated
*/
注意:异常注释用@exception或@throws表示,在JavaDoc中两者等价,但推荐用@exception标注Runtime异常,用throws标注非Runtime异常。异常的注释必须说明该异常的含义及什么条件下抛出该异常。
4)代码注释使用 // 进行,与其描述的代码相近,对代码的注释应放在其上方,并与其上面的代码用空行隔开,注释与所描述内容进行同样的缩进。
// 声明并初始化变量a
int a = 12;
// 给变量a重新赋值
a = 21;
注意事项及其他建议:
1)修改代码时修改相应的注释,以保证注释和代码的一致性,不再有用的注释要删除。
2)注释的内容要清楚、明了,含义准确,防止注释二义性。
3)避免在注释中使用缩写,特别是不常用缩写。
4)一些复杂的代码一定要用注释进行说明。
Java空行
空白行,或者有注释的行,Java编译器都会忽略掉。
Java源程序组成
package 语句,该部分至多只有一句,必须放在源程序的第一句。
import 语句,该部分可以有若干import语句或者没有,必须放在所有的类定义之前。
public classDefinition,公共类定义部分,至多只有一个公共类的定义,Java语言规定该Java源程序的文件名必须与该公共类名完全一致。
classDefinition,类定义部分,可以有0个或者多个非public修饰的类定义。
interfaceDefinition,接口定义部分,可以有0个或者多个接口定义。
/*把编译生成的所有.class文件放到包javawork.helloworld中*/
package javawork.helloworld;
//告诉编译器本程序中用到系统的util包
import java util.*;
/*告诉编译器本程序中用到用户自定义的包javawork.newcentury*/
import javawork.newcentury;
/*公共类HelloWorldApp的定义,名字与文件名相同*/
public class HelloWorldApp{......}
/*第一个普通类TheFirstClass的定义*/
class TheFirstClass{......}
/*第二个普通类TheFirstClass的定义*/
class TheSecondClass{......}
/*定义一个接口TheFirstInterface*/
interface TheFirstInterface{......}
/*定义二个接口TheFirstInterface*/
interface TheSecondInterface{......}