java关键字以前没什么注意,因为是很基础的东东。只是今天做SCJP题目,一看答案吓我大跳,翻转了我以往的错误观念。查阅了不少资料终于弄清楚了。题目如下:
Which are not Java keywords?
A. TRUE B. sizeof C. const D. super E. void
答案A,B 解析 (我印象中一直认为true ,null也为java关键字,其实是)
A: 不是,Java中有true,但是这也不是关键字而是字面量(literal)。
B: 不是,Java中不需要这个操作符,所有的类型(原始类型)的大小都是
固定的。
C、D、E都是,需要说明的是const是java中未被使用的关键字。
以下是java 关键字分类列表:(共50个,供大家参考)
访问控制:
private 私有的
protected 受保护的
public 公共的
类、方法和变量修饰符
abstract 声明抽象
class 类
extends 扩允,继承
final 终极,不可改变的
implements实现
interface 接口
native 本地
new 新,创建
static 静态
strictfp 严格,精准
synchronized 线程,同步
transient 短暂
volatile 易失
程序控制语句
break 跳出循环
continue 继续
return 返回
do 运行
while 循环
if 如果
else 反之
for 循环
instanceof 实例
switch 开关
case 返回开关里的结果
default 默认
错误处理
catch 处理异常
finally 有没有异常都执行
throw 抛出一个异常对象
throws 声明一个异常可能被抛出
try 捕获异常
包相关
import 引入
package 包
基本类型
boolean 布尔型
byte 字节型
char 字符型
double 双精度,
float 浮点
int 整型
long 长整型
short 短整型
null 空
true 真
false 假
变量引用
super 父类,超类
this 本类
void 无返回值
识别java语言的关键字,特别要注意不要和其他语言如c/c++的关键字混淆。其中 const和goto是java的保留字。所有的关键字都是小写的,还有要注意true,false,null, friendly,sizeof不是java的关键字,但是你不能把它们作为java标识符用。
这里可能有不少朋友都和我一样有误解,但是这是java的游戏规则,查了sun官
方解释才敢相信。切记java中true ,false , null在java中不是关键字,也不是保留字,它们只是显式常量值,但是你在程序中不能使用它们作为标识
符。为什么?我也不知道,但这是sun公司的java规定,你要玩它的游戏不想遵守它的规则都不行呀。
可以参考网址
http://java.sun.com/docs/books/tutorial/java/nutsandbolts/_keywords.html
为了方便我直接复制过来了,原方如下:
Java Language Keywords
Here's a list of keywords in the Java programming language. You cannot use any of the following as identifiers in your programs. The keywords const and goto are reserved, even though they are not currently used. true, false, and null might seem like keywords, but they are actually literals; you cannot use them as identifiers in your programs.
abstract | continue | for | new | switch |
assert*** | default | goto* | package | synchronized |
boolean | do | if | private | this |
break | double | implements | protected | 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 |
* |
| not used |
** |
| added in 1.2 |
*** |
| added in 1.4 |
**** |
| added in 5.0 |
潇湘易水寒
2010/5/16