目录
1.1Java基本语法
每一种编程语言都有一套自己的语法规则,Java语言也不例外,编写Java程序也需要遵从一定的语法规则,如代码书写。标识符的定义、关键字的使用等。本节将对Java语言的基本语法进行详细讲解
1.1.1Java程序的基本格式
Java程序代码必须放在一个类中,初学者可以简单地把一个类理解为一个Java程序。类使用class关键字定义,在class前面可以有类的修饰符,类的定义格式如下:
修饰符class类名{
程序代码
}
在编写Java程序时,有以下几点需要注意。
(1)Java程序代码可分为结构定义语句和功能执行语句,其中,结构定义语句用于声明一个类或方法,功能执行语句用于实现具体的功能。每条功能执行语句的最后必须用分号(;)结束。如下面的语句所示:
System.out.println("这是第一个Java程序!");
需要注意的是,在程序中不要将英文的分号(;)误写成中文的分号(;),如果写成中文的分号,编译器会报告“illegal character”(非法字符)错误信息。
(2)Java语言是严格区分大小写的。在定义类时,不能将class写成Class,否则编译器会报错。程序中定义一个computer的同时,还可以定义一个Computer,computer和Computer是两个完全不同的符号,在使用时务必注意。
(3)在编写Java程序时,为了便于阅读,通常会使用一种良好的格式进行排版,但这并不是必须的,也可以在两个单词或符号之间插入空格、制表符、换行符等任意的空白字符。例如,下面这段代码的编排方式也是可以的。
public class HelloWorld {public static void
main(String[
] args) {System.out.println(这是第一个java程序!";}}
虽然Java没有严格要求用什么样的格式编排程序代码,但是,考虑到可读性,编写的程序代码整齐美观、层次清晰。常用的编排方式是一行只写一条语句,符号“{”与语句同行,符号“}”独占一行,实例代码如下:
public class HelloWorld {
public static void main (String[] args) {
System.out.println("这是第一个java程序!");
}
}
(4)Java程序中一个连续的字符串不能分成两行书写。例如,下面这条语句在编译时将会报错。
System.out.println ("这是第一个
java程序!");
为了便于阅读,需要将一个比较长的字符串分两行书写,可以先将字符串分成两个短的字符串,然后用加好(+)将这两个字符串连起来,在加号(+)处换行。例如可以将上面的语句修改成如下形式:
System.out.println ("这是第一个"+
"java程序!");
1.1.2Java中的注释
在编写程序时,为了使代码易于理解,通常会在编写代码时为代码添加一些注释。注释是对程序的某个功能或者某行代码的解释说明,它旨在Java源文件中有效,在编译程序时编译器会忽略这些注释信息,不会将其编译到class字节码文件中。
Java中的注释有以下3中类型。
1.单行注释
单行注释用于对程序中的某一行代码进行解释,一般用于注释局部变量。单行注释用符号“//”表示,“//”后面为被注释的内容,具体实例如下:
int c =10; //定义一个整形变量
2.多行注释
多行注释就是注释的内容可以为多行,它以符号“/*”开头,以符号“*/”结尾。多行注释具体实例如下;
/* int c =10;
int x =5; */
3.文档注释
文档注释是以“/**”开头,并在注释内容末尾以"*/"结束。文档注释是对一段代码概括性的解释说明,可以使用javadoc命令将文档注释提取出来省去帮助文档。文档注释具体实例如下:
/**
*@author(qxx1005)
*@version(版本)
*/
1.1.3Java中的标识符
在编程过程中,经常需要在程序中定义一些符号标记一些名称,如包名、类名、方法名、参数名、变量名等,这些符号称为标识符。标识符可以由字母,数字,下划线(_)和美元符号($)组成,但标识符不能以数字开头,不能是Java中的关键字。
下面的标识符都是合法的。
username
username123
user_name
userName
$useraname
而下面的标识符都是不合法的。
123usename
class
98.3
Hello World
Java程序中定义的标识符必须严格遵守上面列出的规制,否则程序在编译时会报错。除了上面列出的规制外,为了增强代码的可读性,建议初学者在定义标识符时还应该遵循以下规则。
(1)包名的所有字母一律小写,如cn.itcast.test。
(2)常量和接口名每个单词的首字母都要大写,如ArrayList、Iterator。
(3)常量名的所有字母都要大写,单词之间用下画线连接,如DAY_OF_MONTH.
(4)变量名和方法名的第一个单词首字母小写,从第二个单词开始每个字母首字母大写,如lineNumber、getlineNumber.
(5)在程序中,应该尽量使用有意义的英文单词定义标识符,以便于阅读。例如,使用userNanme定义用户名,使用password定义密码。
1.1.4Java中的关键字
关键字是编程语言里事先定义好并赋予了特殊含义的单词。与其他语言一样,Java中预留了许多关键字,如class、public等。下面列举Java中所有的关键字。
abstract | continue | for | new | switch |
assert | default | goto | package | synchronized |
boolean | do | if | private | this |
break | double | implement | protectd | throw |
byte | else | import | public | throws |
case | enum | instanceof | return | transient |
catch | extends | int | short | try |
char | final | interface | static | void |
class | finally | long | strictfp | volatile |
const | float | native | super | while |
每个关键字都有特殊的作用,例如,package关键字用于声明包,import关键字用于引入包,class关键字用于声明类。
编写Java程序时,需要注意以下几点。
(1)所有的关键字都是小写的。
(2)不能使用关键字命名标识符。
(3)const和goto是保留关键字,虽然是Java中还没有任何意义,但在程序中不能用来作为自定义的标识符。
(4)true、false和null虽然不属于关键字,但它们具有特殊的意义,也不能作为标识符使用。
1.1.5Java中的常量
常量就是在程序中固定不变的值,是不能改变的数据。例如,数字1、字符‘a’、浮点数3.2等都是常量。在Java中,常量包括整形常量、浮点数常量、字符常量、字符串常量、布尔常量和null常量。
1.整形常量
整形常量是整数类型的数据,有二进制、八进制、十进制和十六进制4中表示形式,具体如下:
- 二进制:由数字0和1组成的数字序列。从JDK7开始,允许使用字面值表示二进制数,前面要以0b或0B开头,目的是与十进制进行区分,如0b01101100/0B10110101.
- 八进制:以0开头并且其后由0~7范围内(包括0和7)的整数组成的数字序列,如0342.
- 十进制:由数字0~9范围内(包括0和9)的整数组成的数字序列,如198.
- 十六进制:以0x或者0X开头并且其后由0~9、A~F(包括0和9、A和F,字母不区分大小写)组成的数字序列,如0x25AF。
需要注意的是,在程序中为了标明不同的进制,数据都有特定的标识,八进制必须以0开头,如0711/0123;十六进制必须以0x或0X开头,如0xaf3、0Xff;整数以十进制表示时,第一位不能是0,本身是0除外。例如,十进制的127,用二进制表示为0b1111111或者0B1111111,用八进制表示为0177,用十六进制表示为0x7F或者0X7F。
2.浮点数常量
浮点数常量就是在数学中的小数,浮点数分为单精度浮点数(float)和双精度浮点数(double)两种类型。其中,单精度浮点数后面以F或f结尾,而双精度浮点数则以D或d结尾。当然,在使用浮点数时也可以在结尾处不加任何后缀,此时JVM会默认浮点数为double类型的浮点数。浮点数常量还可以通过指数形式表示。
浮点数常量具体示例如下:
2e3f
3.6d
0f
3.84d
5.022e+23f
3.字符常量
字符常量用于表示一个字符,一个字符常量要用一对英文半角格式的单引号('')括起来。字符常量可以是英文字母、数字、标点符号和由转义序列表示的特殊字符。具体示例如下:
'a'
'1'
'&'
'\r'
'\u0000'
上面的示例中,‘\u0000’表示一个空白字符,即在单引号之间没有任何字符。之所有能这样表示,是因为Java采用的是Unicode字符集,Unicode字符以\u开头,空白字符Unicode码表中对应的值为'\u0000'。
4.字符串常量
字符串常用于表示一串连续的字符,一个字符串常量要用一对英文半角格式的双引号(" ")括起来,具体示例如下:
"HeeloWorld"
"123"
"Welcome \n XXX"
""
一个字符串可以包含一个字符或多个字符,也可以不包含任何字符,即长度为零。
5.布尔常量
布尔常量即布尔型的值,用于区分事物的真与假。布尔常量有true和false两个值。
6.null常量
null常量只有一个值null,表示对象的引用为空。