Java语言规格说明1程序结构Java语言的源程序代码由一个或多个编译单元Word格式.docx

上传人:b****5 文档编号:16070406 上传时间:2022-11-18 格式:DOCX 页数:18 大小:27.03KB
下载 相关 举报
Java语言规格说明1程序结构Java语言的源程序代码由一个或多个编译单元Word格式.docx_第1页
第1页 / 共18页
Java语言规格说明1程序结构Java语言的源程序代码由一个或多个编译单元Word格式.docx_第2页
第2页 / 共18页
Java语言规格说明1程序结构Java语言的源程序代码由一个或多个编译单元Word格式.docx_第3页
第3页 / 共18页
Java语言规格说明1程序结构Java语言的源程序代码由一个或多个编译单元Word格式.docx_第4页
第4页 / 共18页
Java语言规格说明1程序结构Java语言的源程序代码由一个或多个编译单元Word格式.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

Java语言规格说明1程序结构Java语言的源程序代码由一个或多个编译单元Word格式.docx

《Java语言规格说明1程序结构Java语言的源程序代码由一个或多个编译单元Word格式.docx》由会员分享,可在线阅读,更多相关《Java语言规格说明1程序结构Java语言的源程序代码由一个或多个编译单元Word格式.docx(18页珍藏版)》请在冰豆网上搜索。

Java语言规格说明1程序结构Java语言的源程序代码由一个或多个编译单元Word格式.docx

Java语言提供了3种形式的注释:

//text从//到本行结束的所有字符均作为注释而被编译器忽略。

/*text*/从/*到*/间的所有字符会被编译器忽略。

/**text*/

当这类注释出现在任何声明之前时将会作特殊处理,它们不能再用在代码的任何地方。

这类注释意味着被括起来的正文部分,应该作为声明项目的描述,而被包含在自动产生的文档中。

2.2标识符

标识符的首字符必须是一个字母,下划线("

_"

)或美元符号("

$"

)。

后面的字符也可是数字0-9。

Java使用泛代码字符集,为了便于识别好一合法标识符,下面列出它的“字母”:

*大写字母“A”~“Z”

*小写字母“a”~“z”

*泛代码(Unicode)

中所有字符编码在十六进制数00C0之前的字符。

标识符中,首字母后的字符可以是任意的。

当然,Unicode区段中那些被保留作特殊字符的除外。

由此,“garton”及“MjΦlner”都是合法标识符,但是,包括诸如“π”的字符串却不是合法的。

2.3关键字

下面的标识符被保留用作关键字,他们不能作任何其它的用途。

abstractdefaultgoto*nullsynchronized

booleandoifpackagethis

breakdoubleimplementsprivatethreadsafe

byteelseimportprotectedthrow

byvalve*extendsinstanceofpublictransient

casefalseintreturntrue

catchfinalinterfaceshorttry

charfinallylongstaticvoid

classfloatnativesuperwhile

const*fornewswitch

continue

其中,加*标记后是被保留但当前却未使用的。

2.4字面量

字面量(literal)是某些类型值的基本表述,这些类型包括整型,浮点型,布尔量,字符及字符串。

2.4.1整型字面量

整数可有三种表示形式:

十进制,八进制和十六进制。

一个十进制整型字面量由一系列的数字组成,但它的第一个数字不能是0(有时十进制数字也可象下面讲的那样加后缀)。

整数也可表达成八进制或十六进制形式。

以0开头的整型字面量,意味着它是一个十六进制的。

十六进制整数可以包括数字0-9以及字母a-f及A-F。

八进制整数中则只能是出现数字0-7。

在超过32位所能表示的范围之前,整型字面量的类型即为int,否则为long型。

一个整型字面量可通过加后缀L或l而强迫成long型。

下面的均为合法的整型字面量。

22L0777

2.4.2浮点字面量

一个浮点字面量可包括以下部分:

一个十进制整数,一个小数点“.”,小数部分(另外一个十进制整数),指数部分,一个类型后缀。

指数部分是一个e或E后跟一个整数。

浮点字面量至少包含有一个数字,外加或者一个小数点或者一个e(或E),下面举一些浮点字面量的例子:

3.14153.1E12.1e122E12

就象在后面描述的那样,Java语言有两种浮点类型:

float及double,用户可按以下写法区分:

2.0d或2.0Ddouble型

2.0f或2.0F或2.0float型

2.4.3布尔字面量

布尔(boolean)字面量有两个值:

true及false。

2.4.4字符字面量

字符字面量是一个由单引号括起的字符(或者是由一组字符来表述一个字符)。

字符属于char类型,并且均从泛代码字符集中得来。

而下面列出的转义序列则用来描述一些非图形字符,它们以反斜杠“\”开始以作转义用。

续行符头<

newline>

\

换行NL(LF)\n

垂直制表符HT\t

退格BS\b

回车CR\r

走纸换页FF\f

反斜杠\\\

单引号'

\'

双引号"

\"

八进制数0ddd\ddd

十六进制数0xdd\xdd

泛代码字符0xdddd\udddd

2.4.5串字面量

串字面量是双引号引起的零个或多个字符的序列。

每个串字面量被看作是一个串对象,而并非是一个字符的数组,例如“abc”创建了一个新的串类的实例。

下面的都是合法的串字面量:

"

\\空串

\"

\\只包含一个双引号的串

Thisisastring"

Thisisa\

two-linestring"

2.5运算符及特殊分隔符

下面这些字符在Java源程序中作运算符或分隔符用:

+—!

%^&

*|~/>

<

(){}[];

?

:

,·

=

另外,下面这些复合字符被用作运算符:

++--==<

=>

=!

=<

<

>

>

+=-=*=/=&

=/=

^=%=<

=‖&

&

后面还要在运算符一节中作详细介绍。

3.类型

任何一个变量或表达式都有一个类型,类型决定变量可能的取值范围,决定对这些值允许的操作,以及这些操作的意义是什么。

Java语言中提供了内置定义类型,程序员也可以利用类及界面(interface)机制构造新类型。

Java语言有两种类型:

简单类型和复合类型。

简单类型指那些不能再分割的原子类型。

如:

整型、浮点型、布尔型、字符型均为简单类型。

复合类型建立在简单类型的基础上。

Java语言有三种复合类型:

数组、类及界面。

3.1数值类型

3.1.1整数类型

整数与C及C++中相似,但有两点区别:

其一,所有的整数类型均是独立于机器的;

其二,对某些传统的定义作出改变,以反映自C问世以来所带来的变化,四种整数类型分别具有8位、16位、32位及64位的宽度,并且均是有符号的(signed)。

如下所示:

宽度

类型名

8

byte

16

short

32

int

64

long

一个变量的类型不会直接影响它的存储的分配,类型仅仅决定变量的算术性质以及合法的取值范围。

如果把一个超出合法范围的值赋给一变量,那么这个值将是对合法值域取模后的值。

3.1.2浮点类型

关键字float表示单精度(32位),而double则表示双精度(64位),两个float型数运算的结果仍是float型,若有其中之一为double型,则结果为double型。

3.1.3字符类型

Java全部使用泛代码字符集,因此char类型数据被定义成一个16位的无符号整数。

3.2布尔类型

当一个变量的取值或为ture或为false,或者是当一个方法的返回值为ture或false时,它?

nbsp;

嵌际遣级嘈偷摹A硗猓叵翟怂愕慕峁嗍遣?

尔型的。

布尔值不是数值型,因此不能用强制类型转换把它们转化成数值。

3.3数组

数组在Java语言中属第一类对象。

由它们代替了指针运算,所有的对象(包括数组)都可通过标识来引用。

即使被当作数运算,标识的值也不应被破坏。

通过new运算符可创建一个数组。

chars[]=newchar[30];

数组第一元素的下标为0,在声明中指定维数是不允许的。

每次都必须显式地用new分配数组:

inti[]=newint[3];

Java语言不支持多维数组,但是,程序员却可以创建数组的数组。

inti[][]=newint[3][4];

至少有一维要明确给定,而其它维则可在以后再确定。

例如:

inti[][]=newint[3][]

是一个合法的声明。

除了在变量名及方法名后跟方括号这种C风格的声明之外,Java语言允许方括号跟在数组类型之后,下面两行是等价的:

intiarray[];

int[]iarray;

同样地,方法声明也一样:

bytef(intn)[];

byte[]f(intn);

运行时检查下标保证它们是合法的:

inta[]=newint[10];

a[5]=1;

a[1]=a[0]+a[2];

a[-1]=4;

//运行时引发一个ArrayIndexOutOfBoundsException(数组下标越界)异常

a[10]=2;

//运行时引发一个ArrayIndexOutOfBoundsException(数组下标越界)异常

数组的大小必须使用整数表达式:

intn;

floatarr[]=newfloat[n+1]

数组的长度可通过.length查找:

inta[][]=newint[10][3];

println(a.length)//打印出10

println(a[0].length)//打印出3。

3.3.1数组细节

定义的数组都是Object类的一个子类的实例,在类的层次结构中有一个被称为Array的子类,它有一个实例变量“length”。

对每一个基本类型,都有一个相应的Array的子类。

同理,每一个类也都有一个相应的Array子类存在。

newThread[n]创建一个Thread[]的实例。

如果类A是类B的超类,那么,A[]是B[]的超类,见下图:

Object

ArrayA

int[]float[]A[]B

B[]

因此,可以把数组赋给一个Object变量。

Objecto;

inta[]=newint[10];

o=a;

并且可通过强制类型转换把object变量赋给一数组变量。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 幼儿教育 > 少儿英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1