Java语言也和其它编程语言一样,使用标识符作为变量、对象的名字。也提供了一系列的关键字用以实现特别的功能。本小节将详细介绍Java语言的标识符和关键字等内容。

1.分隔符

Java语言里的分号“;”、花括号“{}”、方括号“[]”、圆括号“()”、空格、圆点“.”都具有特殊的分隔作用,因此被统称为分隔符。

Ø  分号

Java语言中对语句的分隔不是使用回车来完成的,Java语言采用分号“;”作为语句的分隔,因此每个Java语句必须使用分号作为结尾。Java程序允许一行书写多个语句,每个语句之间以分号隔开即可;一个语句也可以跨多行,只要在最后结束的地方使用分号结束即可。

例如下面语句都是合法的Java语句:

int age = 23; String name = "Snape";

String hello = "Hello" +

"Ling!" +

"I miss you!";

值得指出的是,Java语句可以跨越多行书写,但一个字符串、变量名不能跨越多行。例如,下面的Java语句是错误的:

String xdl = "兄弟连         //字符串不能跨越多行

IT教育";

String java                  //变量名不能跨越多行

ee = "JavaEE";

不仅如此,虽然Java语法允许一行书写多个语句,但从程序可读性角度来看,应该避免在一行书写多个语句。

Ø  花括号

花括号的作用就是定义一个代码块。一个代码块指的就是“{”和“}”所包含的一段代码,代码块在逻辑上是一个整体。对Java语言而言,类定义部分必须放在一个代码块中,方法体部分也必须放在一个代码块中。除此之外,有一个“{”出现则必然有一个“}”,反之亦然。

Ø  方括号

方括号的主要作用是用于访问数组元素,方括号通常紧跟数组变量名之后,而方括号里指定希望访问的数组元素的索引。例如如下代码:

arr[3] = 3;        //这行代码试图为名为arr的数组的第四个元素赋值

Ø  圆括号

圆括号是一个功能非常丰富的分隔符:定义方法时必须使用圆括号来包含所有的形参声明,调用方法时也必须使用圆括号来传入实参;不仅如此,圆括号还可以将表达式中某个部分括成一个整体,保证这个部分优先计算;除此之外,圆括号还可以作为强制类型转换的运算符。

Ø  空格

Java语言使用空格分隔一条语句的不同部分。Java语言是一门格式自由的语言,所以空格几乎可以出现在Java程序的任何地方,也可以出现任意多的空格,但不要使用空格把一个变量名隔开成两个,这将导致程序出错。

Java语言中的空格包含空格符“Space”、制表符“Tab”、和回车“Enter”等。

除此之外,java源代码还会使用空格来合理缩进Java代码,从而提供更好的可读性。

Ø  圆点

圆点通常用作类/对象和它的成员(包括成员变量、方法和内部类)之间的分隔符,表明调用某个类或某个实例的指定成员。

2.Java标识符命名规则

标识符就是用于给程序中变量、类、方法命名的符号。Java语言的标识符必须以字母、下划线“_”、美元符号“$”开头,后面可以跟任意数目的字母、数组、下划线“_”和美元符号“$”。此处的字母并不局限于26个英文字母,甚至可以包含中文字符、日文字符等。

由于Java支持Unicode字符集,因此Java的标识符可以使用unicode所能表示的多种语言的字符。Java语言是区分大小写的,因此abc和ABC是两个不同的标识符。

使用标识符时,需要注意如下规则:

ü  标识符可以由字母、数字、下划线“_”和美元符号“$”组成,其中数字不能开头。

ü  标识符不能是Java的关键字或保留字,但是可以包含关键字和保留字。

ü  标识符不能包含空格。

ü  标识符中可以使用中文,但是强烈不建议使用。

3.Java关键字

Java语言中有一些具有特殊用途的单词被称为关键字(keyword),当定义标识符时,不要让标识符和关键字相同,否者将引起错误。例如下面的代码将无法通过编译。

int boolean;  //试图定义一个名为boolean的变量,但boolean是关键字不能作为标识符

Java的关键字都是小写的,TRUE、FALSE和NULL都不是Java关键字。

Java目前一共包含了50个关键字,如表3.1所示。

表1  Java关键字

上面的50个关键字中,enum是从Java 5新增的关键字,用于定义一个枚举。而goto和const这两个关键字也被称为保留字(reserved word),保留字的意思是,Java现在还未使用这两个关键字,但是可能在未来的Java版本中使用这两个关键字;不仅如此,Java还提供了三个特殊的直接量(literal):true、false和null;Java语言的标识符也不能使用这三个特殊的直接量。

IT兄弟连 Java语法教程 标识符和关键字的更多相关文章

  1. IT兄弟连 Java语法教程 变量1

    什么是变量 在Java程序中,变量是基本的存储单元.是在程序运行中值可以改变的一块内存区域.变量是通过标识符(变量名).变量类型及可选的初始化器来定义的,此外,所有的变量都有作用域,作用域定义了变量的 ...

  2. IT兄弟连 Java语法教程 Java的发展历程

    只有少数几种编程语言对程序设计带来过根本性的影响.其中,Java的影响由于迅速和广泛而格外突出.可以毫不夸张的说,1995年Sun公司发布的Java1.0给计算机程序设计领域带来了一场变革.这场变革迅 ...

  3. IT兄弟连 Java语法教程 数组 数组的初始化

    Java语言中数组必须先初始化,然后才可以使用.所谓初始化,就是为数组的数组元素分配内存空间,并为每个数组元素赋初始值. 这时有人会问,能不能只分配内存空间,不赋初始值呢?答案是肯定不行的,一旦为数组 ...

  4. IT兄弟连 Java语法教程 Java语法基础 经典面试题

    1.Java语言中有几种基本类型?分别是什么?请详细说明每种类型的范围以及所占的空间大小? Java语言中有8中基本类型,分别是代表整形的byte.short.int和long,代表浮点型的float ...

  5. IT兄弟连 Java语法教程 注释与编码规范

    在程序代码中适当地添加注释可以提高程序的可读性和可维护性.好的编码规范可以使程序更易阅读和理解.下面将介绍Java中的集中代码注释以及应该注意的编码规范. 代码注释 通过在程序代码中添加注释可提高程序 ...

  6. IT兄弟连 Java语法教程 Java语言的其他特性

    Java语言中除了非常重要的跨平台特性外,还有如下几个关键特性: ●  语法简单易学 Java语言的语法简单明了,容易掌握,而且是纯面向对象(OOP)的语言,Java语言的简单性主要体现在以下几个方面 ...

  7. IT兄弟连 Java语法教程 数组 多维数组 二维数组的初始化

    二维数组的初始化与一位数组初始化类似,同样可以使用静态初始化或动态初始化. 1)静态初始化 静态初始化的格式如下: 数组名字 = new 数组元素的类型[][]{new 数组元素的类型[]{元素1,元 ...

  8. IT兄弟连 Java语法教程 数组 多维数组 二维数组的声明

    Java语言里提供了支持多维数组的语法.但是这里还想说,从数组底层的运行机制上来看是没有多维数组的. Java语言里的数组类型是引用类型,因此数组变量其实是一个引用,这个引用指向真实的数组内存,数组元 ...

  9. IT兄弟连 Java语法教程 数组 使用foreach循环遍历数组元素

    从JDK5之后,Java提供了一种更简单的循环:foreach循环,也叫作增强for循环,这种循环遍历数组和集合更加简洁.使用foreach循环遍历数组和集合元素时,无需获得数组或集合的长度,无需根据 ...

随机推荐

  1. leetcode题解:回文数

    判断一个整数是否是回文数.回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数. 示例 1: 输入: 121 输出: true 示例 2: 输入: -121 输出: false 解释: 从左向 ...

  2. Python selenium登录163邮箱示例

    思路:使用python自带的unittest单元测试框架测试163邮箱登录成功的case import unittestfrom selenium import webdriverimport tim ...

  3. Codeforces Round #604(Div. 2,

    // https://codeforces.com/contest/1265/problem/D /* 感觉像是遍历的思维构造题 有思路就很好做的 可以把该题想象成过山车或者山峰...... */ # ...

  4. 一篇和Redis有关的锁和事务的文章

    部分参考链接 Transaction StackExchange.Redis Transaction hashest 正文 Redis 是一种基于内存的单线程数据库.意味着所有的命令是一个接一个的执行 ...

  5. java之类的构造方法

    构造器的特征: 具有和类相同的名称: 不声明返回值的类型: 不能被static.final.synchronized.abstract.native修饰,不能有return语句返回值: 构造器的作用: ...

  6. linux下录屏和回放工具script和scriptreplay

    读书是一个长见识的过程,以前偶尔会用到录屏的工具,很少用想系统的学习一下.最近看了linux shell脚本攻略,发现很多新东西是以前自己没有接触到的.比如,这个非常好用的录屏工具:script,这次 ...

  7. angularjs中directive指令与component组件有什么区别?

     壹 ❀ 引 我在前面花了两篇博客分别系统化介绍了angularjs中的directive指令与component组件,当然directive也能实现组件这点毋庸置疑.在了解完两者后,即便我们知道co ...

  8. Web安全测试学习笔记 - DVWA+PHP环境搭建

    DVWA(Damn Vulnerable Web Application),是一个用PHP编写的,作为Web安全测试练习平台的合法环境(毕竟咱不能为了练习就随便找个网站去攻击...),也就是俗称的靶场 ...

  9. Spring 框架基础(02):Bean的生命周期,作用域,装配总结

    本文源码:GitHub·点这里 || GitEE·点这里 一.装配方式 Bean的概念:Spring框架管理的应用程序中,由Spring容器负责创建,装配,设置属性,进而管理整个生命周期的对象,称为B ...

  10. 周会材料:高并发程序设计<一>

    第一章 几个概念 同步:一次方法调用须等到其返回后才能有后续 异步:一次方法调用后在另一线程执行,调用者可不必等其返回就可进行后续 并发:任务以极短的时间交替进行 并行:任务同时进行 临界区:公共资源 ...