Java中的关键字和标识符
来源:互联网 发布:福顺达对讲机写频软件 编辑:程序博客网 时间:2024/05/02 02:53
一.Java中对goto关键字的处理
在Java中,我们不能使用goto关键字,而是使用循环标签,但是为了避免程序员自行使用goto,所以保留了goto作为一个关键字。类似的关键字还有const。
二.true、false、null是否是关键字
在Java中,true、false、null都不是关键字,而是字面常量(也称为直接量),其中,true和false是布尔类型的字面常量,null是引用类型的字面常量。这三个字面常量也不能作为标识符使用。
三.Java中的关键字
关键字含义abstract表明类或者成员方法具有抽象属性assert用来进行程序调试boolean基本数据类型之一,布尔类型break提前跳出一个块byte基本数据类型之一,字节类型case用在switch语句之中,表是其中的一个分支catch用在异常处理中,用来捕捉异常char基本数据类型之一,字符类型class类const保留关键字,没有具体含义continue回到一个块的开始处default默认,例如,用在switch语句中,表明一个默认的分支do用在do-while循环结构中double基本数据类型之一,双精度浮点数类型else用在条件语句中,表明当条件不成立时的分支enum枚举extends表明一个类型是另一个类型的子类型,这里常见的类型有类和接口final用来说明最终属性,表明一个类不能派生出子类,或者成员方法不能被覆盖,或者成员域的值不能被改变finally用于处理异常情况,用来声明一个基本肯定会被执行到的语句块float基本数据类型之一,单精度浮点数类型for一种循环结构的引导词goto保留关键字,没有具体含义if条件语句的引导词implements表明一个类实现了给定的接口import表明要访问指定的类或包instanceof用来测试一个对象是否是指定类型的实例对象int基本数据类型之一,整数类型interface接口long基本数据类型之一,长整数类型native用来声明一个方法是由与计算机相关的语言(如C/C++/FORTRAN语言)实现的new用来创建新实例对象package包private一种访问控制方式:私用模式protected一种访问控制方式:保护模式public一种访问控制方式:共用模式return从成员方法中返回数据short基本数据类型之一,短整数类型static表明具有静态属性strictfp用来声明FP_strict(单精度或双精度浮点数)表达式遵循IEEE 754算术规范super表明当前对象的父类型的引用或者父类型的构造方法switch分支语句结构的引导词synchronized表明一段代码需要同步执行this指向当前实例对象的引用throw抛出一个异常throws声明在当前定义的成员方法中所有需要抛出的异常transient声明不用序列化的成员域try尝试一个可能抛出异常的程序块void声明当前成员方法没有返回值volatile表明两个或者多个变量必须同步地发生变化while用在循环结构中四.Java标识符的定义规则1.大多数人理解的Java标志符的定义规则:
(1).标识符由字母、数字、货币符号(¥、$)、连接符号(_)组成。
(2).标识符的首字母可以是字母、货币符号与连接符号,但是不能为数字。
(3).标识符不能与Java中的关键字相同。
(4).标识符不能与Java中预定义的字面常量名称相同(如true、false、null)。
上面的规则在大部分时候是正确的,但是要注意这里的字母不只是传统中的26个英文字母,而是Unicode字符集,Unicode字符集的取值范围是U+0000~U+10FFFF,但是不是每一个Unicode值都与一个字符相对应,这就意味着不是整个Unicode字符集都可以作为Java中的标识符。还有就是不能作为Java标识符首字母的字符集,也不仅仅是简单的0~9这10个数字。那么我们怎么判断一个Unicode是否可以作为Java标识符呢?在Character中有这样两个方法可以进行判断:
public static boolean isJavaIdentifierStart(char ch);判断对应的字符是否可以作为Java的标识符的首字符
public static boolean isJavaIdentifierPart(char ch);判断对应的字符是否可以作为Java的标识符
由于Unicode字符集的扩展,为了能够处理增补字符(U+10000~U+10FFFF),在jdk1.5中增加了两个方法,也用于此作用:
public static boolean isJavaIdentifierStart(int codePoint);判断代码点对应的字符是否可以作为Java的标识符的首字符
public static boolean isJavaIdentifierPart(int codePoint);判断代码点对应的字符是否可以作为Java的标识符
2.现在,我们重新定义一下标识符的定义规则:
(1).标识符的首字母对应的代码点必须使得Character类的isJavaIdentifierStar()方法返回值为true,后续的字符对应的代码点必须使得Character类的isJavaIdentifierPart()的返回值为true。
(2).标识符不能与Java中的关键字相同。
(3).标识符不能和Java中预定义的字面常量名称相同。
(4).标识符的长度必须在系统所支持的范围内。
五.注意符号“$”的使用
在定义Java标识符的时候,我们可以使用$,并且可以使用它作为标识符的首字母,但是我们需要注意$这个符号可以在内部类中使用,所以当我们使用$作为关键字字符时,需要考虑到这一点。
public class User$Vip {public static void main(String[] args) {}}class User{class Vip{void print(){System.out.println("vip");}}}
上面这个例子就是因为类标志符中使用$,与内部类中的$冲突,所以编译的时候会报错,提示User.Vip类重复了。其原因是在编译为class文件的时候,会存在两个User$Vip.class,所以会报错。
六.标识符的最大长度
在Java语言规范中,对于Java标志符的长度是没有限制的,但是在Java虚拟机规范中,标识符是有长度限制的。在class文件中,代表标识符的常量字符串存储在CONSTANT_Utf8_info表中,这个表用了两个字节的来表示字符串的长度。所以最大表示65535.
- Java中的关键字和标识符
- Java中的标识符和关键字
- java中的关键字和标识符
- Java中的变量、常量、关键字和标识符
- java标识符和关键字
- JAVA 标识符和关键字
- Java标识符和关键字
- java关键字和标识符
- java关键字和标识符
- Java标识符和关键字
- Java标识符和关键字
- java关键字和标识符
- Java关键字和标识符
- Java标识符和关键字
- java中的标识符、关键字、数据类型
- java标识符、关键字和数据类型
- 04.java标识符和关键字
- java中标识符和关键字
- window.location.reload与window.location.href
- 思维盛宴之设计模式-构建者模式Builder Pattern
- 为什么虚构函数不允许抛出异常
- autofs简介
- mysql sql优化实例1(force index使用)
- Java中的关键字和标识符
- sicily 1381. a*b
- [LeetCode]Pascal's Triangle
- 17.用JavaScript实现如下效果:一个div的宽度从其初始宽度1px,每秒增长1px,直到变到100px,再从100px每秒减少1px,直到变回到1px,如此反复5次后,该变化停止,并将其最
- 通过Java插入MYSQL的DATETIME类型
- ORA-02020的处理,dblink超出数量的设置
- 达内学习日志Day30:分组查询
- 简单工厂设计模式
- 继承与构造方法~继续话痨~~