【ACCESS精品源码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了ACCESS精品源码-【精品文档】Java语言规格说明1程序结构Java语言的源程序代码由一个或多个编译单元 - 其它管理文献的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
Java语言规格说明 1.程序结构 Java语言的源程序代码由一个或多个编译单元compilation unit组成每个编译单元只能包含下列内容空格和注释除外 一个程序包语句package statement 引入语句import statements 类的声明class declarations 界面声明interface declarations 每个Java的编译单元可包含多个类或界面但是每个编译单元却至多有一个类或者界面是公共的。
Java 的源程序代码被编译之后便产生了Java字节代码bytecode。
Java的字节代码由一些不依赖于机器的指令组成这些指令能被Java的运行系runtime system有效地解释。
Java的运行系统工作起来如同一台虚拟机。
在当前的Java实现中每个编译单元就是一个以.java为后缀的文件。
每个编译单元有若干个类编译后每个类生成一个.class文件。
.class文件是Java虚机器码。
2. 词法问题 在编译的过程中Java源程序代码中的字符被划分为一系列的标记token。
Java编译器可以识别五种标记: 标识符、关键字、字面量、运算符以及特殊分隔符。
注释以及诸如空格、制表符、换行符等字符 都不属于标识之列但他们却常被用来分隔标记。
Java程序的编写采用泛代码Unicode字符集若采用其它的字符集则需在编译前转换成Unicode。
2.1 注释 Java语言提供了3种形式的注释 //text 从//到本行结束的所有字符均作为注释而被编译器忽略。
/ text / 从/到/ 间的所有字符会被编译器忽略。
/ text / 当这类注释出现在任何声明之前时将会作特殊处理它们不能再用在代码的任何地方。
这类注释意味着被括起来的正文部分应该作为声明项目的描述而被包含在自动产生的文档中。
2.2 标识符 标识符的首字符必须是一个字母下划线quot_quot或美元符号quotquot。
后面的字符也可是数字0-9。
Java使用泛代码字符集为了便于识别好一合法标识符下面列出它的“字母” 大写字母“A”“Z” 小写字母“a”“z” 泛代码Unicode 中所有字符编码在十六进制数00C0之前的字符。
标识符中首字母后的字符可以是任意的。
当然Unicode区段中那些被保留作特殊字符的除外。
由此“garton”及“MjΦlner”都是合法标识符但是包括诸如“π”的字符串却不是合法的。
2.3 关键字 下面的标识符被保留用作关键字他们不能作任何其它的用途。
abstract default goto null synchronized boolean do if package this break double implements private threadsafe byte else import protected throw byvalve extends instanceof public transient case false int return true catch final interface short try char finally long static void class float native super while const for new switch continue 其中加标记后是被保留但当前却未使用的。
2.4 字面量 字面量literal是某些类型值的基本表述这些类型包括整型浮点型布尔量字符及字符串。
2.4.1 整型字面量 整数可有三种表示形式 十进制八进制和十六进制。
一个十进制整型字面量由一系列的数字组成但它的第一个数字不能是0有时十进制数字也可象下面讲的那样加后缀。
整数也可表达成八进制或十六进制形式。
以0开头的整型字面量意味着它是一个十六进制的。
十六进制整数可以包括数字0-9以及字母a-f及A-F。
八进制整数中则只能是出现数字0-7。
在超过32位所能表示的范围之前整型字面量的类型即为int否则为long型。
一个整型字面量可通过加后缀L或l而强迫成long型。
下面的均为合法的整型字面量。
2 2L 0777 2.4.2 浮点字面量 一个浮点字面量可包括以下部分: 一个十进制整数一个小数点“.”小数部分另外一个十进制整数指数部分一个类型后缀。
指数部分是一个e或E后跟一个整数。
浮点字面量至少包含有一个数字外加或者一个小数点或者一个e或E下面举一些浮点字面量的例子 3.1415 3.1E12 .1e12 2E12 就象在后面描述的那样Java语言