JAVA入门之基础语言

在上一章文章中,读者已经了解了如何搭建Java 开发环境及Java 程序的开发过程。从本篇文章开始讲解Java 的基本语言。这些基本语言的语法和其他一些编程语言相比有些是类似的,但还有很多不同之处,读者最好花一定的时间来了解这些最基本的语法。

第一部分  基础语言要素

一个 Java 程序是由很多部分组成,其中任何一个单词都有它存在的意义。这些单词就是a构成一个Java 程序的基本语言要素。本节就来讲解这些基本语言要素,包括标识符、关键字、分隔符和注释等。

一、标识符

标识符是程序员为自己定义的类、方法或者变量等起的名称,在 Java 语言中规定标识符由大小写字母、数字、下划线(_)和美元符号($)组成,但是不能以数字开头。不能使用Java 语言中的关键字。例如HelloWorld、Hello_World、$HelloWorld 都是合法的标识符。

但是如下几种就不是合法的标识符。

  • 555HelloWorld(以数字开头)。
  • ¥HelloWorld(具有非法字符¥)。

在 Java 中标识符是严格区分大小写的,Hello 和HELLO 是完全不同的标识符。

正确的标识符不一定是一个好的标识符。在一个大型的程序中,经常要定义上百个标识符,如果没有好的标识符命名习惯,就很可能造成混乱。所以标识符的命名要表达含义,例如定义一个学生类,就使用Student 来进行命名,而不要为了省事定义为SD。除此之外,还应有一些根据不同标识符定义的习惯。

  • 包名:使用小写字母。
  • 类名和接口名:通常定义为由具有含义的单词组成,所有单词的首字母大写。
  • 方法名:通常也是由具有含义的单词组成,第一个单词首字母小写,其他单词的首字母都大写。
  • 变量名:成员变量和方法相同,局部变量全部使用小写。
  • 常量名:全部使用大写,最好使用下划线分隔单词。

二、关键字

1.访问修饰符关键字

  • public:所修饰的类、方法和变量是公共的,其他类可以访问该关键字修饰的类、方法或者变量。
  • protected:用于修饰方法和变量。这些方法和变量可以被同一个包中的类或者子类进行访问。
  • private:同样修饰方法和变量。方法和变量只能由所在类进行访问。

2.类、方法和变量修饰符关键字

  • class:告诉系统后面的单词是一个类名,从而定义一个类。
  • interface:告诉系统后面的单词是一个接口名,从而定义一个接口。
  • implements:让类实现接口。
  • extends:用于继承。
  • abstract:抽象修饰符。
  • static:静态修饰符。
  • new:实例化对象。

还有几种并不常见的类、方法和变量修饰符,例如native、strictfp、synchronized、transient和volatile 等。

3.流程控制关键字

流程控制语句包括if-else 语句、switch-case-default 语句、for 语句、do-while 语句、break语句、continue 语句和ruturn 语句,这都是流程控制关键字。还有一个关键字应该也包括在流程控制关键字中,那就是instanceof 关键字,用于判断对象是否是类或者接口的实例。

4.异常处理关键字

异常处理的基本结构是try-catch-finally,这三个单词都是关键字,异常处理中还包括throw 和throws 这两个关键字。assert 关键字用于断言操作中,也算是异常处理关键字。

5.包控制关键字

包控制关键字只有两个,分别是import 和package。inport 关键字用于将包或者类导入到程序中;pachage 关键字用于定义包,并将类定义到这个包中。

6.数据类型关键字

Java 语言中有8 种基本数据类型,每一种基本数据类型都需要一个关键字来定义,除布尔型(boolean)、字符型(char)、字节型(byte)外,还有数值型。数值型又分为short、int、long、flort 和double。

7.特殊类型和方法关键字

super 关键字用于引用父类,this 关键字用于应用当前类对象。void 关键字用于定义一般方法,该方法没有任何返回值。在HelloWorld 程序中的main 方法前就有该关键字。

8.没有使用的关键字

在关键字家族中有两个另类,那就是const 和goto。在前面已经知道关键字是系统使用的单词,但是对于这两个另类虽然是关键字,但是系统并没有使用他们。这是初学者应特别注意的地方,在一些考试或者公司面试中经常会问到这个问题。最后说一个显而易见,但是很多人注意不到的问题,那就是所有的关键字都是小写的,如果采用了大写,那就肯定不是关键字。

三、注释

注释添加在代码中,是给程序员看的,当系统运行程序,读取注释时会越过不执行。随着技术的发展,现在具有百万行代码的程序已经很常见了,在这样一个大型的代码中,如果没有注释,可想而知对于后面的修改和维护会产生多大的麻烦。在Java 语言中提供了完善的注释机制,具有三种注释方式,分别是单行注释(//)、多行注释(/* */)和文档注释(/** */)。具有良好的注释习惯是一个优秀程序员不可缺少的职业素质。在本书中将主要采用单行注释来对开发的程序进行注释。这有可能并不符合某些公司的开发规范,这里主要是为了讲解知识。读者工作中可以根据自己的开发需要,学习相关的开发规范。

第二部分  基础数据类型

Java 是一门强数据类型语言,Java 程序中定义的所有数据都有一个固定的数据类型。Java中的数据类型基本可以分为两类:基本数据类型(也称原始数据类型)和复合数据类型。在本节中主要讲解基本数据类型,学习数据类型的重点是了解每一种数据类型的取值范围。

一、常量和变量

在正式学习 Java 中的基本数据类型前,先来学习一下数据类型的载体常量和变量。从名称上就可以看出常量和变量的不同,常量表示不能改变的数值,而变量表示能够改变的数值。

二、整数类型

在Java 中用户存放整数的数据类型称为整数类型。整数类型根据占用的内存空间位数不同可以分为4 种,分别是byte(字节型)、short(短整型)、int(整型)和long(长整型),定义数据时默认为int 类型。内存空间位数决定了数据类型的取值范围,表2-1 中给出了整数类型的位数和取值范围的关系。

JAVA入门之基础语言

在 Java 中可以通过3 种方法来表示整数,分别是十进制、八进制和十六进制。其中十进制都已经非常熟悉了。八进制是使用0~7 来进行表示的,在Java 中,使用八进制表示整数必须在该数的前面放置一个“0”。除了十进制和八进制外,整数的表示方法还有十六进制。表示十六进制数值除了0~9 外,还使用a~f 分别表示从10 到15 的数值。表示十六进制时,字母是不区分大小写的,也就是a 表示10,A 也表示10。十六进制同八进制一样,也有一个特殊的表示方式,那就是以“0X”或者“0x”开头。看下面这个使用十六进制表示整数的程序。

三、浮点类型

浮点类型和整数类型一样,也是用来表示数值。整数类型是表示整数,而浮点类型表示的是小数,在Java中不称作小数,而称之为浮点数。浮点类型就是表述Java中的浮点数。Java中的浮点类型分为两种,分别是单精度浮点类型和双精度浮点类型。表2-2给出了两种浮点类型的取值范围。

JAVA入门之基础语言

Java 中默认的浮点类型也是双精度浮点类型。当使用单精度浮点类型时,必须在数值后面跟上F 或者f,这和long 类型是一样的。在双精度浮点类型中,也可以使用D 或者d 为后缀,但是它不是必须的,因为双精度浮点类型是默认形式。

四、字符类型

在开发中,经常要定义一些字符,例如“P”,这时候就要用到字符类型。在Java中,字符类型就是用于储存字符的数据类型。在Java中,有时会使用Unicode码来表示字符。在Unicode码中定义了至今人类语言的所有字符集,Unicode码是通过“\uxxxx”来表示的,x表示的十六进制数值。Unicode编码字符是用16位无符号整数表示的,即有2*16个可能值,也就是0~65535。

Java在运行结果的显示中,会有一些内容不能显示,例如回车、换行等效果。在Java 中为了解决这个问题,定义了转义字符。转义字符通常使用“\”开头,在表2-3 中列出了Java 中的部分转义字符。

JAVA入门之基础语言

 五、布尔类型

在C语言或者其他一些编程语言中,使用数字来表示true和false。在Java中,true和false的待遇明显提高了,为这两个值单独定义了一种数据类型,那就是布尔类型。布尔类型是用于判断逻辑值真假的数据类型。所有的关系运算的返回类型都是布尔类型。布尔类型也大量应用在控制语句中。运算符和控制语句将在后面的介绍中进行讲解。

参考文献:《JAVA从入门到精通》

上一篇:让那些为Webkit优化的网站也能适配IE10(转载)


下一篇:如何在 OS X Yosemite 中安装 Java