Android系统下Java编程详解
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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~!