1.java编程的规范
编程规范是对编程的一种约定,主要作用是增强代码的可读性和可维护性,便于代码重用。
首先要求程序中的各个要素都遵守命名规则,然后在编码中严格按照编码格式编写代码。命名规则包括以下几:
①包的名称由一个小写字母序列组成,都是由小写单词组成的。例如heapsort等。
②类的名称由首字母要大写。类的实例的名称由一个小写字母开头,后面的单词由大写字母开头。例如JFrame myFrame = new JFrame(),其中myFrame就是JFrame这个类的实例名字。
③常量:被final修饰的变量,初始化一次后,就不能再次被赋值。
命名规范:为了和变量区别,一般都用大写字符。大写字母和下划线_。例如final int MAX_SPEED = 5
④参数的名称无其他具体规定。
⑤数组的命名使用“类型[] 数组名”的形式。
编码格式规定如下:
①程序最开始编写导入包和类语句,即 import 语句。import 语句可以有多行,编写完 import 语句后空一行。
②定义 public 类,顶格书写。类的主体左括号“{”不换行书写,右括号“}”顶格书写。
③定义 public 类中的变量,缩进书写。
④定义方法用缩进书写,方法的左括号“{”不换行书写,右括号“}”和方法首行第一个字符对齐。方法体要再次缩进书写,最后一个变量定义和第一个方法定义之间、方法和方法之间最好空一行。
提示:在单一的语句后有“;”,在一对括号“{}“之外无“;”。方法调用名和紧跟在其后的左括号“(”无空格,该左括号和其后的标识符之间无空格。多个参数之间的逗号和前一个参数紧靠,与后一个参数空一格。
2.java的标识符的命名方式
Java 中标识符是为方法、变量或其他用户定义项所定义的名称。标识符可以有一个或多个字符。在 Java 语言中,标识符的构成规则如下:
标识符由数字(09)和字母(AZ 和 a~z)、美元符号($)、下划线(_)以及 Unicode 字符集中符号大于 0xC0 的所有符号组合构成(各符号之间没有空格)。
1、标识符的第一个符号为字母、下划线_和美元符号$ ,后面可以是任何字母、数字、美元符号或下划线。在C语言中,第一个符号则没有美元符号。Java 区分大小写,因此 myvar 和 MyVar 是两个不同的标识符。
提示:标识符命名时,切记不能以数字开头,也不能使用任何 Java 关键字作为标识符,而且不能赋予标识符任何标准的方法名,C语言中是一样的道理。
标识符分为两类,分别为关键字和用户自定义标识符。
关键字是有特殊含义的标识符,如 true、false 表示逻辑的真假。
用户自定义标识符是由用户按标识符构成规则生成的非保留字的标识符,如 abc 就是一个标识符。
提示:使用标识符时一定要注意,或者使用关键字,或者使用自定义的非关键字标识符。(即要么使用关键字,要么使用自定义的非关键字的标识符)此外,标识符可以包含关键字,但不能与关键字重名,即不可以用关键字作为标识符。
例如以下合法与不合法标识符。
合法标识符:date、$2011、date、D$date 等。
不合法的标识符:123.com(第一个符号以数字开头,所以错误)、2com、for(与关键字同名,错误)、if (同上)等。
3.注释
java中的注释有三种:单行注释、多行注释、文档注释。
1、单行注释:
以双斜杠“//”标识,只能注释一行内容,用在注释信息内容少的地方。例如int top = -1;//栈顶指针
2、多行注释
包含在“/*”和“*/”之间,能注释很多行的内容。为了可读性比较好,一般首行和尾行不写注释信息(这样也比较美观好看)。
注意:多行注释可以嵌套单行注释,但是不能嵌套多行注释和文档注释。
3、文档注释
包含在“/**”和“*/”之间,也能注释多行内容,一般用在类、方法和变量上面,用来描述其作用。注释后,鼠标放在类和变量上面会自动显示出我们注释的内容。
注意:文档注释能嵌套单行注释,不能嵌套多行注释和文档注释,一般首行和尾行也不写注释信息。
4.基本数据类型
因为之前犯过错了,所以这里做个标记,如果方法中的参数引用类型,那么将会改变自身的值,但是基本类型就不可以。如下面的代码:
public static void main(String[] args) {
// System.out.println("hello java world");
int[] arr = { 2,3,4,5};
System.out.print("没有更改之前:");
System.out.println(arr[1]);
getChange(arr);
System.out.print("更改之后:");
System.out.println(arr[1]);
}
public static void getChange(int[] arr) {
arr[1] = 9;
}
结果是:
public static void main(String[] args) {
// System.out.println("hello java world");
int a = 5;
System.out.print("a没有更改之前:");
System.out.println(a);
getChange(a);
System.out.print("a更改之后:");
System.out.println(a);
}
public static void getChange(int a) {
a = 9;
}
结果:
这里值得说一下的是,对于float以及long类型变量初始化时可能会出现的问题:
1、在java中,小数默认为double类型的,所以float类型的变量在初始化的时候需要在数值的后面加上f,或者进行类型转换,从而使得double转成float类型。否则,如果不这样写的话,那么就会发生报错,无法正常运行程序。
2、在java中,默认整数是一个int类型的,所以对long进行初始化的时候,可以直接赋值,这时候并不是因为可以直接这样写,而是因为发生了隐式类型变换,从而使得int转成long类型,因此程序可以正常运行。同样的,如果不发生类型转换,那么需要在数字的后面加上l/L即可。
对应的程序如下:
public class Test{
public static void main(String[] args) {
long l = 2;
/*
这样写的话,那么就会发生报错,“不兼容的类型,从double转换到float可能会有损失”
并且会在错误提示中给出Cast to float的提示,提示需要将这个小数转成float才可以
float f = 1.22;
*/
float f = (float)1.22;//由double类型转成float类型
float f2 = 1.22f;//在数字后面加上f即可
System.out.println("l = " + l +", f = " + f + ",f2 = " + f2);
}
}
排版可能不是很好,请大家见谅哈。