问个简单的问题,java中保留字和关键字的区别

wuy13862574600 2008-02-26 09:25:53
问个简单的问题,java中保留字和关键字的区别
开始以为关键字和保留字一个意思
结果今天笔试碰到这样的一个题,还好确认goto是保留字
别人说保留字是备以后java升级用的,是这样的吗?
怎么感觉goto的保留只是因为向下兼容才保留的啊。。。
...全文
2571 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
junjie123junjie 2012-05-02
  • 打赏
  • 举报
回复
goto constant
fei_xiang3210 2010-01-14
  • 打赏
  • 举报
回复
学习一下
expet 2008-11-04
  • 打赏
  • 举报
回复
学习一下
linjingqin 2008-03-03
  • 打赏
  • 举报
回复
保留字在现在的JAVA语言中还没看见被用过,它是不被用的,你不要用它就行了。。呵呵
guxiangzhang 2008-02-29
  • 打赏
  • 举报
回复
来学习的1
  • 打赏
  • 举报
回复
目前版本的Java(JDK 6.0)中有53个标识符,其中50个是关键字,3个是值(true, false, null)
在50个关键字有两个被保留了,goto和const,这两个是不能在程序中做为标识符使用的,估计这两个
也不大会使用了。

被保留的原因,可能是降低Java语法的学习曲线,基本语法与C语言的语法十分地相似,,摒弃了一些
导致结构不良的东西吧。

Java中标识符的列表和更详细的说明可以看看下面的链接:

http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.9
MuBeiBei 2008-02-26
  • 打赏
  • 举报
回复
一般书上都是简单的一提,只是说goto是保留字
网络咖啡 2008-02-26
  • 打赏
  • 举报
回复
保留字就是关键字,只是goto这个关键字保留了用途罢了
SINODATA_QJF 2008-02-26
  • 打赏
  • 举报
回复
JAVA中保留字和关键字的区别就是:

保留字是J2SDK的预留"关键字",也就是在版本的升级中,
不排除使保留字向关键字转型的可能,但是当前版本还不使用,
一旦我们用上,就会报错;而关键字是当前就已经在使用的字符

而兼容一般要涉及数据类型,即就是所定义新的数据类型会比当前的
数据类型所占的字节数更大
For_suzhen 2008-02-26
  • 打赏
  • 举报
回复
百度上一搜

Java 关键字列表 (依字母排序 共51组):
abstract, assert,boolean, break, byte, case, catch, char, class, const, continue, default, do, double, else, enum,extends, final, finally, float, for, if, implements, import, instanceof, int, interface, long, native, new, package, private, protected, public, return, short, static, strictfp, super, switch, synchronized, this, throw, throws, transient, try, void, volatile, while
Java 保留字列表 (依字母排序 共14组) : Java保留字是指现有Java版本尚未使用 但以后版本可能会作为关键字使用。
byValue, cast, false, future, generic, inner, operator, outer, rest, true, var , goto ,const,null
linqiang0816 2008-02-26
  • 打赏
  • 举报
回复
学习了,参考这个地址的解释:<a href="http://iamin.blogdriver.com/iamin/872969.html">http://iamin.blogdriver.com/iamin/872969.html</a>

正确识别java语言的关键字(keyword)和保留字(reserved word)是十分重要的。Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或者表示程序的结构等。保留字是为java预留的关键字,他们虽然现在没有作为关键字,但在以后的升级版本中有可能作为关键字。
ooo19841080xinxin 2008-02-26
  • 打赏
  • 举报
回复
学习
编译原理实验三 一、讨论Oberon-0 语言的特点 1、保留字关键字的概念区分 保留字只要是用在程序语言的层次架构用途上,比如说IF,THEN,ELSIF,用在程序 的循环、分支、判断条件、程序块等组织上,它是程序语言预定义的,具某些特殊意 义规范的单词。保留字侧重于强调不能被用户作为定义的名字。 关键字是一个只被用在某一部分的程序编程关键字在程序语言同样有特殊的 意义特征。多用于类型定义,如在Oberon,integer 便是用来定义变量类型的关键 字。还有其他的功能如作为程序语言的某个特定函数的名称,如 write,read等(在 Oberon). 不同的语言的关键字保留字的概念区分是不一样的。例如在C,JAVA, if,else, while 这些都是关键字的范围,而在Oberon 保留字的范围。在C 语言风格的程 序语言,是将程序控制块的那些保留字也一并归为关键字的。(这些关键字不可以作 为变量,函数的名称,也就是不可以作为程序员使用的标示符)。 2、Oberon与C、Java的差别 a) 在每一一个主要的函数过程procedure ,Oberon有begin 和end 来标志,而 在C 和java一般是用花括号来标志。 b) 在定义变量时,Oberon 是在分号之后,也就是最后在给出具体是什么类型的,而 在C、Java一般是在变量的前面就给出了类型,只是 Oberon会先用var说明 这是一个变量。 c) Oberon的可用到数据结构主要有数组,类似C 的结构体,类型选择比较少。 3 二、文法二义性讨论 该文法没有二义性。在其他的语言出现的二义性类型,比如表达式的parsing tree (存在两颗或以上的parsing trees)的二义性,需要用算符优先关系来确定的和if-else 的 匹配问题导致的二义性问题,都在该文法的EBNF定义被消除掉了。 1、对于表达式的二义性处理: simple_expression = ["+" | "-"] term {("+" | "-" | "OR") term} ; term = factor {("*" | "DIV" | "MOD" | "&") factor} ; 从,可以看出*和 DIV、MOD 这些一定在+-之前就进行运算了。通过将表达式的将 +-和*DIV、MOD 等用不同层次的表达式进行定义,消除了这一二义性。 2、对于if-else匹配出现二义性的处理:
JAVA--达内培训笔记】 1、Java之父Golsling 1995年5月23日 Java诞生 1998年12月 1.2版本 Java2 J2SE J2EE J2ME 2004年12月 1.5版本(5.0) Java JavaSE JavaEE JavaME 2、Java SE --- Java标准平台 Java EE --- 企业级平台 Java ME --- 微小平台,用在资源受限的平台上 3、(1)跨平台 --- 一次编译,到处运行 (2)简 单 --- 简化C++,取消了指针,对指针进行了上层的封装,它保证能够通过这个指针(引用),来访问有效的内存单元。 不允许多继承,使继承关系成树装图,每个类都只能由一个父类。 java语言的开发效率高,但执行效率低。(相当于c++的55%) (3)纯面向对象的语言 --- 都要放在类 (4)垃圾回收机制 --- 自动垃圾收集,永远不会出现内存泄露的问题 4、虚拟机 java语言是先编译后解释,java源码是通过编译生成一种特殊的.class的间字节码文件,然后再由JVM进行解释运行。 (编译) (解释) .java ----> .class ---> 可执行文件 所以效率低,是C++的20倍 5、java源代码的main方法的定义写法。main方法是程序的入口。 public class Hello{ //一个源文件只能有一个公开类,而且源文件的文件名与公开类的类名完全一致 public static void main(String[] args){ //程序入口 public static 可以调换顺序 System.out.println("Hello world"); //打印语句 } } 编译命令 javac xxxx.java 源文件的名字,源文件的一个类会对应编译生成一个.class文件 运行命令 java xxxx 类的名字 --- 启动虚拟机 6、环境变量 JAVA_HOME = /opt/jdk1.5.06 JDK 安装路径 --- JDK = JRE {JVM(硬件)+编译器(软件)} +编译器工具+类库 PATH = $Path:$Java_Home/bin:. ClassPath = . 类路径 7、包 --- 分类放置,减少命名空间 包名.类名 表示一个类的全限定名 java xxx.xxx.ClassA --- 运行时要在包结构的上一层目录来运行。 javac -d . xxxx.java --- 编译的时候,按照包结构存放字节码文件,此命令生成的.class文件在当前目录 package xxx.xxx,包的定义在一个程序只能由一个 import xxx.xxx.xxx.ClassA; --- 在程序声明ClassA类,使用的时候不需加包名,使用同一包内的类时,不用引入 import p1.p2.p3.p4.p5.*; --- 声明p5包所有的类,不能代表其子包 系统会在每个java程序隐含导入了java.lang这个包 8、java的注释, 单行注释 //...... 多行注释 /* .......*/ 文档注释/** ........

(换行标签)*/,用javadoc命令可以根据原码的文档注释生成注释文档(html格式)。文档注释可以使用html标签。 javadoc -d 路径(指定注释文档的保存路径) xxx.java 文档注释一般写在类定义之前,方法之前,属性之前。 在文档注释可以用 @author 表示程序的作者,@version 表示程序的版本,前两个注释符号要写在类定义之前,用于方法的注释@param 对参数进行注释,@return 对返回值进行注释 @throws对抛出异常的注释。 10、标识符规则 --- 类,方法,变量,同时也是包名的规范 由字母(汉语的一个汉字是一个字母),数字,下划线和货币符号组成,不能以数字开头。 大小写敏感 没有长度限制,不能有空格 不能使用Java关键字保留字 java关键字 goto和const在java虽然不再使用但是还作为保留字存在 java没有sizeof这个关键字了,java的boolean类型的值只能用true和false,且这两个也是关键字 enum 枚举 assert 断言 一个标识符尽量符合语义信息,提高程序可读性 类 名 :每个单词首字母大写, 变量和方法 :第一个单词小写,后边的每个单词首字母大写 包 名 :全部小写 常 量 :全部大写 11、局部变量:定义在方法的变量 (1)先赋值后使用 (2)从定义变量的代码块开始到代码块结束 (3)在同一范围内不允许两个局部变量发生命名冲突 * * * *

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧