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. mysql研究跟进

    count(1)对比 count(*) count(N),N指的是列的序列号,innodb引擎下一般为主键列:count(*),mysql优化器也会将统计列自动优化.所以日常使用区别不大 阿里规范里的 ...

  2. 微信 PC HOOK

    一.概述 Web端有开源代码,但新用户登录不了 PC端也有开源代码,新老用户都能登录 市场上已有的产品:发卡机器人.多群转发机器人.营销管理机器人 基本的功能:收发消息,加人加群,收账抢红包 二.原理 ...

  3. C#语法基础----变量 符号 数据转换

    变量的作用:为了更好的管理内存数据,不同类型的数据存放在不同的内存块中. 变量的特点:不同数据类型占用的存储空间大小不一样. 变量的意义:内存地址是一串十六进制数,非常不好记忆,通过变量可以快速找到数 ...

  4. (转)Ioc控制反转和依赖注入

    转载地址:https://zhuanlan.zhihu.com/p/95869440 控制反转控制反转(Inversion of Control,简称IoC),是面向对象编程中的一种设计思想,其作用是 ...

  5. python大作业二

    一.存入csv 上次爬取到了所需要的内容,但是没有存入到csv中,这次存入了csv文件中,代码如下: import requests from bs4 import BeautifulSoup imp ...

  6. [bzoj3456]城市规划:多项式,分治

    Description 刚刚解决完电力网络的问题, 阿狸又被领导的任务给难住了. 刚才说过, 阿狸的国家有n个城市, 现在国家需要在某些城市对之间建立一些贸易路线, 使得整个国家的任意两个城市都直接或 ...

  7. swoole是多进程还是多线程

    由于PHP语言不支持多线程,因此Swoole使用多进程模式.在多进程模式下存在进程内存隔离,在工作进程内修改global全局变量和超全局变量时,在其他进程是无效的. 进程隔离 $fds 虽然是全局变量 ...

  8. 解决python安装第三方库超时问题

    这里说明一下,配置文件中的url还可以换成下面的URL 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.u ...

  9. CSAPP lab1——位运算

    本次为一次计算机系统实验,就是使用一些基本的运算符来实现函数功能. ps做这些题让我想起大一上学期刚学二进制时被鹏哥支配的痛苦. 知识准备: 1.负数等于正数取反加一. 2.左移一位相当于将这个数扩大 ...

  10. Selenium(十九):unittest单元测试框架(五) Page Object设计模式

    1. Page Object设计模式 Page Object是Selenium自动化测试项目开发实践的最佳设计模式之一,它主要体现在对界面交互细节的封装,这样可以使测试方案更关注于业务而非界面细节.从 ...