3.2 分隔符和标识符
在Java中,有一类特殊的符号称为分隔符,包括空白分隔符和普通分隔符。
3.2.1 知识准备:空白分隔符
空白分隔符包括:空格、回车、换行和制表符Tab键。空白分隔符的主要作用是分隔标识符,帮助Java编译器理解源程序。例如:
int a;
若标识符int和a之间没有空格,即inta,则编译程序会认为这是用户定义的标识符,但实际上该语句的作用是定义变量a为整型变量。
另外,在代码的编排时,适当的空格和缩进可以增强代码的可读性。看看下面HelloAndroid.java这段代码。
public class HelloAndroid{ public static void main(String args[]){ System.out.println("Hello Android!"); } }
在这个程序中,用到了大量的用于缩排的空格(主要是制表符和回车),如果不使用缩排空格,这个程序可能会是如下的模样。
public class HelloAndroid{ public static void main(String args[]){ System.out.println("Hello Android!"); } }
相比较上一个程序,这个程序没有使用制表符来做缩排,显然在层次感上差了很多,甚至,还可能是如下情况。
public class HelloAndroid{public static void main(String args[]){System.out.println("Helol Android!");}}
这个程序可读性更差了:所有的语句都写在同一行上。在语法上,这个程序是正确的,但是,在可读性上,没有比这更差的了。因此,在写程序的时候,一定要灵活地使用空格来分隔语句或者做格式上的缩排等。但是,也要小心不要滥用它,所以使用空白分隔符要遵守以下规则:
□ 任意两个相邻的标识符之间至少有一个分隔符,以便编译程序能够识别;变量名方法名等标识符不能包含空白分隔符。
□ 空白分隔符的多少没有什么含义,一个空白符和多个空白符的作用相同,都是用来实现分割功能的。
□ 空白分隔符不能用非普通分隔符替换。
3.2.2 知识准备:普通分隔符
普通分隔符具有确定的语法含义,有如下7种普通分隔符,如表3-1所示。
表3-1 分隔符功能说明表
3.2.3 知识准备:Java语言标识符的组成规则
在Java中,标识符是赋予变量、类或方法的名称。程序通过这些名称来访问或修改某个数据的值。标识符可从一个字母、下画线(_)或美元符号($)开始,随后也可跟数字。在这里,字母的范围并不局限于26个英文字母,而是包括任何一门语言中的表示字母的任何Unicode字符。标识符未规定最大长度。
在定义和使用标识符时需要注意,Java语言是大小写敏感的。比如,“abc”和“Abc”是两个不同的标识符。
在定义标识符的时候,需要注意以下问题:
(1)标识符不能有空格。
(2)标识符不能以数字开头。
(3)标识符不能是Java关键字。
(4)不能有@、#等符号。
问:定义标识符可以用中文吗?
答:可以使用中文名称作为标识符,但是并不建议这么做。因为在Java中,使用中文容易引起一些编码方面的问题。
3.2.4 任务二:综合使用Java分隔符和标识符
1.任务描述
编写程序,输出手机开机问候语,体会Java分隔符的作用和标识符的使用规范。
2.技能要点
□ 了解各类分隔符的功能。
□ 掌握标识符命名规范。
3.任务实现过程
(1)编写一个类名为OpenGreetings,类中定义了一个方法 theDate(),用于打印日期和开机问候语。在main()方法中调用theDate方法,并传入当天的日期作为参数。
(2)声明并初始化日期变量时,注意标识符的命名规则,当使用@开头,数字开头或者关键字时会报错。
源文件:OpenGreetings.java
public class OpenGreetings { public static void main(String[] args) { int day = 20, month = 5, year = 2011; //以下3种命名标识符不合法 //int @day; int 12abc; int private; OpenGreetings og = new OpenGreetings(); og.theDate(day, month, year); } public void theDate(int theDay,int theMonth,int theYear){ String greetings = "Welcome To Android World~!"; System.out.println("Today is "+theYear+"/"+theMonth+"/"+theDay+"\n"+greetings); } }
(3)运行程序,运行结果如下:
Today is 2011/5/20 Welcome To Android World~!