Java语言系列02——Lexical Grammar (词法)介绍

从词法角度来看,Java源程序由White Space、Comment、Token三部分构成。

White Space

White Space 包括space(空格,可键盘空格键输入)、horizontal tab (水平制表符,可用键盘Tab键输入)、form feed(换页符,键盘没有对应按键)、Line Terminator(行终止符)。

Line Terminator

Line Terminator有LF(换行)、CR(回车)、CR LF三种形式。

Comment

Comment有/* text */ 和//text两种形式。

Token

Token可进一步划分为Identifier(标签符)、Literal(字面量)、Keyword(关键字)、Separator(分隔符)、Operator(运算符)。

Identifier

Identifier有两个要求,一必须以“Java letter“开头,后接0到N个“Java letter-or-digit“;二是不能是关键字、true、false、null。“Java letter”可用Character#isJavaIdentifierStart方法判断,可以是字母(不限于英文字母)、下划线(_)和美元符号($),“Java letter-or-digit”可用Character#isJavaIdentifierPart判断,可是“Java letter”或数字(0-9)

Literal

Literal是指在源码中表示primitive type、String type、null type。可进一步分为:Integer Literal(如:1)、Floating Literal(如1.1)、Boolean Literaal(如true、false)、Character Literal(如’a’)、String Literal(发”abc”)、Null Literal(只有一个null)。后续文章会有详细介绍。

Keyword

Keyword字有50个,后续文章会有详细介绍。
abstract continue for new switch
assert default if package synchronized
boolean do goto 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

true、false似乎是关键字,但技术上是Boolean Literal;
null看起来也似乎是关键字,但技术上是Null Literal。

Separator

Separator有12个,后续文章会有详细介绍。
( ) { } [ ] ; , . … @ ::

Operator

Operator有38个,后续文章会有详细介绍。
= > < ! ~ ? : ->
== >= <= != && || ++ –
+ - * / & | ^ % << >> >>>
+= -= *= /= &= |= ^= %= <<= >>= >>>=

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值