第2章Java语言入门必备_第1页
第2章Java语言入门必备_第2页
第2章Java语言入门必备_第3页
第2章Java语言入门必备_第4页
第2章Java语言入门必备_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、主讲人:n标识符和关键字标识符和关键字 n常量和变量常量和变量 n基本数据类型基本数据类型 n运算符和表达式运算符和表达式 n控制语句控制语句 n注释语句注释语句n数组数组 n本章小结本章小结7.1 图形用户界面的概述2.1.1 标识符标识符 标识符是用来标识符是用来标识标识类名、变量名、方法名、数组名、文件名的有效字符序列。类名、变量名、方法名、数组名、文件名的有效字符序列。也就是说,也就是说,标识符就是一个名字标识符就是一个名字。 标识符以一个字母、下划线(标识符以一个字母、下划线(_)或美元符号()或美元符号($)开始)开始, 随后也可跟数字、字随后也可跟数字、字母、下划线或美元符号。标

2、识符区分大小写,没有长度限制,可以为标识符取母、下划线或美元符号。标识符区分大小写,没有长度限制,可以为标识符取任意长度的名字。任意长度的名字。下面是几个有效的标识符:下面是几个有效的标识符:birthday age_system_varl $max 下面是几个非法的标识符:下面是几个非法的标识符:3max (变量名不能以数字开头)(变量名不能以数字开头)room# (包含非法字符(包含非法字符“#”)class (“class”为保留字)为保留字) 注意:注意:Java较高版本已经支持用汉字作为标识符或标识符的一部分。较高版本已经支持用汉字作为标识符或标识符的一部分。2.1.2 关键字关键字

3、Java中一些赋以中一些赋以特定的含义特定的含义、并用做专门用途的单词称为关键字、并用做专门用途的单词称为关键字.主要用于标识数主要用于标识数据类型名或程序构造(据类型名或程序构造(construct)名。)名。Java的关键字有:的关键字有:(1)类型()类型(Class Type) package, class, abstract, interface, implements, native, this, super, extends, new, import, instanceof, public, private, protected, (2)数据类型()数据类型(data type)

4、 char, double, enum, float, int, long, short, boolean, void, byte(3)控制类型()控制类型(Control Type) break, case, continue, default, do, else, for, goto, if, return, switch, while, throw,throws, try, catch, synchronized, final, finally, transient, strictfp (4)存储类型()存储类型(Storage Type) register, static(5)其它类型

5、()其它类型(Other Type) const, volatile,关键字关键字 的注意事项:的注意事项:(1 1)所有)所有JavaJava关键字都是小写的,例如:关键字都是小写的,例如:truetrue、falsefalse和和nullnull为小写,而为小写,而不是象在不是象在C+C+语言中那样为大写。语言中那样为大写。(2 2)无)无sizeofsizeof运算符,因为所有数据类型的长度和表示是固定的,与平运算符,因为所有数据类型的长度和表示是固定的,与平台无关,不是象在台无关,不是象在C C语言中那样数据类型的长度根据不同的平台而变化。语言中那样数据类型的长度根据不同的平台而变化。

6、这正是这正是JavaJava语言的一大特点。语言的一大特点。(3 3)gotogoto和和constconst虽然从未被使用,但也被作为虽然从未被使用,但也被作为JavaJava关键字保留了下来。关键字保留了下来。 2.2.1 常量常量就是指在程序执行期间其值不能发生变化的数据。如整型常量常量就是指在程序执行期间其值不能发生变化的数据。如整型常量123123,实型常量,实型常量1.231.23,字符常量,字符常量AA,布尔常量,布尔常量truetrue。定义常量的语法如下:定义常量的语法如下:final datatype CONSTNAME=VALUE;final datatype CONST

7、NAME=VALUE;finalfinal是是JavaJava的关键字,表示定义的是常量,的关键字,表示定义的是常量,datatypedatatype为数据类型,为数据类型,CONSTNAMECONSTNAME为常为常量的名称,量的名称,VALUEVALUE是常量的值。是常量的值。【例例2-12-1】定义常量定义常量PIPI,并令,并令PI=3.14PI=3.14。final double PI = 3.14; final double PI = 3.14; 2.2.2 变量变量是变量是JavaJava的基本存储单元。在的基本存储单元。在JavaJava中,使用变量之前需要先声明变量。变量声明

8、通中,使用变量之前需要先声明变量。变量声明通常包括常包括3 3部分,变量类型、变量名和初始值。其中变量的初始值是可选的,声明变部分,变量类型、变量名和初始值。其中变量的初始值是可选的,声明变量的语法格式如下:量的语法格式如下:type identifier = value, identifier = value;type identifier = value, identifier = value;typetype是是JavaJava的基本类型、类或接口类型的名称,的基本类型、类或接口类型的名称,identifieridentifier(标识符)是变量的名,(标识符)是变量的名,=value=

9、value表示用具体的值对变量进行初始化,即把某个值赋给变量。表示用具体的值对变量进行初始化,即把某个值赋给变量。【例例2-22-2】定义定义3 3个个intint型的变量型的变量x1 , y1, z1x1 , y1, z1。int x1,y1,z1; int x1,y1,z1; 2.2.3 变量作用域变量的定义不但包括变量名和变量类型,同时还包括它的作用域,变量的作用域指明变量的定义不但包括变量名和变量类型,同时还包括它的作用域,变量的作用域指明可以访问该变量的程序代码的范围。按作用域来分,变量可分为以下几种:局部可以访问该变量的程序代码的范围。按作用域来分,变量可分为以下几种:局部变量、类

10、成员变量、方法参数和异常处理参数。变量、类成员变量、方法参数和异常处理参数。 (1 1)局部变量定义在方法中或方法内的一个代码块中,其作用域为它所在的)局部变量定义在方法中或方法内的一个代码块中,其作用域为它所在的代码块。代码块。(2 2)方法参数用于将方法外的数据传递给方法,其作用域就是方法的整个方)方法参数用于将方法外的数据传递给方法,其作用域就是方法的整个方法体。上面例子中的变量法体。上面例子中的变量x x,就是作用域整个,就是作用域整个sumsum方法中。方法中。(3 3)类成员变量的定义在类里面,但不在类里面的某个方法中,其作用域为)类成员变量的定义在类里面,但不在类里面的某个方法中

11、,其作用域为整个类。整个类。(4 4)异常处理参数将数据传递给异常处理代码,其作用域是异常处理部分。)异常处理参数将数据传递给异常处理代码,其作用域是异常处理部分。2.3.1 基本数据类型基本数据类型 1 1整数类型整数类型 分别是:分别是:byte(1B)byte(1B),short(2B)short(2B), int(4B)int(4B), long(8B)long(8B)2 2浮点类型浮点类型 浮点型分为两种,分别是浮点型分为两种,分别是floatfloat型型(4B)(4B)和和doubledouble型型(8B)(8B)3 3字符类型字符类型 char (2B)char (2B) c

12、har x1= a ; char x1= a ; 4 4布尔类型布尔类型booleanboolean 只有两个值:只有两个值:truetrue和和false ,false ,在在C C语言中允许将数字值转换成逻辑值,这在语言中允许将数字值转换成逻辑值,这在JavaJava编程语言中是不允许的。编程语言中是不允许的。 2.3.2 数据类型转化 1 1自动类型转换自动类型转换 当把低级别的变量值赋给高级别的变量时,系统自动完成数据类型的转换。当把低级别的变量值赋给高级别的变量时,系统自动完成数据类型的转换。例如:例如:float x = 100float x = 100;如果输出如果输出x x的值

13、,结果将是的值,结果将是100.0100.0。 2强制类型转换强制类型转换当把级别高的变量的值赋给级别低的变量时,需要强制类型转换。当把级别高的变量的值赋给级别低的变量时,需要强制类型转换。强制转换的格式为:强制转换的格式为:(类型名)要转换的值;(类型名)要转换的值;例如:例如:int x = (int)129.34;如果输出如果输出x的值,结果将是的值,结果将是129。 2.4.1 赋值运算符与赋值表达式 当需要为不同的变量赋值时,就必须使用赋值运算当需要为不同的变量赋值时,就必须使用赋值运算“=”,这里不是,这里不是“等号等号”的意思,的意思,而是而是“赋值赋值”的意思,例如:的意思,例

14、如:x = 29;这个语句的作用是将整数这个语句的作用是将整数29赋给变量赋给变量x,使变量,使变量x此时拥有的值为此时拥有的值为29。 2.4.2 算术运算符与算术表达式算术表达式是由算术运算符将运算数连接而成的表达式,下表罗列了各种算术运算符。算术表达式是由算术运算符将运算数连接而成的表达式,下表罗列了各种算术运算符。 2.4.3关系关系运算符与关系关系表达式关关系运算实际上就是系运算实际上就是“比较运算比较运算”,将两个值进行比较,判断比较的结果是否符合给定,将两个值进行比较,判断比较的结果是否符合给定的条件,如果符合则表达式的结果为的条件,如果符合则表达式的结果为truetrue,否则

15、为,否则为falsefalse。关系运算符及其说明见下表所示。关系运算符及其说明见下表所示。 2.4.4逻辑运算符与逻辑表达式逻辑运算符经常用来连接关系表达式,对关系表达式进行逻辑运算,因此逻辑运算符的逻辑运算符经常用来连接关系表达式,对关系表达式进行逻辑运算,因此逻辑运算符的运算对象必须是逻辑型数据,逻辑表达式的运行结果为逻辑型数据。运算对象必须是逻辑型数据,逻辑表达式的运行结果为逻辑型数据。JavaJava中的逻辑运中的逻辑运算符有算符有3 3种,分别是:种,分别是:&(逻辑与)、(逻辑与)、|(逻辑或)、(逻辑或)、! !(逻辑非),其中前两个是双(逻辑非),其中前两个是双目运算

16、符,第三个为单目运算符。具体的运算规则目运算符,第三个为单目运算符。具体的运算规则见下表所示。见下表所示。 2.4.5 位运算符 位运算符用来对二进制位进行运算,位运算符会对两个运算数对应的位执行布尔代数运位运算符用来对二进制位进行运算,位运算符会对两个运算数对应的位执行布尔代数运算。算。 1“与与”运算符(运算符(&)如果两个输入位都是如果两个输入位都是1,则按位,则按位“与与”运算符(运算符(&)生成一个输出位)生成一个输出位1;否则生成一个输;否则生成一个输出位出位0。2“或或”运算符(运算符(|)如果两个输入位里只要有一个是如果两个输入位里只要有一个是1,则按位,则按位

17、“或或”运算符(运算符(|)生成一个输出位)生成一个输出位1;只有;只有在两个输入位都是在两个输入位都是0的情况下,它才会生成一个输出位的情况下,它才会生成一个输出位0。3“异或异或”运算符(运算符()如果两个输入位的某一个是如果两个输入位的某一个是1,但不全都是,但不全都是1,那么,那么“异或异或”运算(运算()生成一个输出位)生成一个输出位1。 4“非非”运算符(运算符()按位按位“非非”( ,也称为取补运算)属于一元运算符;它只对一个运算数进行运算,也称为取补运算)属于一元运算符;它只对一个运算数进行运算(其他位运算运算符都是二元运算符)。按位(其他位运算运算符都是二元运算符)。按位“非

18、非”生成与输入位相反的值生成与输入位相反的值若输入若输入0,则输出则输出1;输入;输入1,则输出,则输出0。 位运算符和逻辑运算符都使用了同样的符号。因此,我们能方便地记住它们的含义:位运算符和逻辑运算符都使用了同样的符号。因此,我们能方便地记住它们的含义:由于由于“位位”是非常是非常“小小”的,所以位运算符仅使用了一位符号。位运算符可与等号的,所以位运算符仅使用了一位符号。位运算符可与等号(=)联合使用,以便合并运算运算和赋值运算:)联合使用,以便合并运算运算和赋值运算:&=,|=和和=都是合法的(由于都是合法的(由于是是一元运算符,所以不可与一元运算符,所以不可与=联合使用)。联合

19、使用)。 2.4.6 移位运算符 移位运算符运算的运算对象也是二进制的移位运算符运算的运算对象也是二进制的“位位”,但是它们只可以被用来处理整数类型。,但是它们只可以被用来处理整数类型。 1左移位运算符(左移位运算符() 左移位运算符(左移位运算符()“有符号有符号”右移位运算符(右移位运算符()则将运算符左边的运算对象向右移动运算符右侧指定的)则将运算符左边的运算对象向右移动运算符右侧指定的位数。位数。“有符号有符号”右移位运算符使用了右移位运算符使用了“符号扩展符号扩展”:若符号为正,则在高位插入:若符号为正,则在高位插入0;若符号为负,则在高位插入若符号为负,则在高位插入1。移位的结果是

20、左边的运算数被。移位的结果是左边的运算数被2的幂来除,而指数的的幂来除,而指数的值是由第右边的运算数给出。例如:值是由第右边的运算数给出。例如: 3“无符号无符号”右移位运算符(右移位运算符() Java中增加了一种中增加了一种“无符号无符号”右移位运算符(右移位运算符(),它使用了),它使用了“零扩展零扩展”:无:无论正负,都在高位插入论正负,都在高位插入0。4左移赋值运算符(左移赋值运算符(=) 运算符左边的值向右移动由右边的值指定的位数,再将得到的结果赋回左边的变量。运算符左边的值向右移动由右边的值指定的位数,再将得到的结果赋回左边的变量。6无符号右移赋值运算符(无符号右移赋值运算符(=

21、) 运算符左边的值向右移动由右边的值指定的位数,再将得到的结果赋回左边的变量。运算符左边的值向右移动由右边的值指定的位数,再将得到的结果赋回左边的变量。 2.4.7 条件运算符条件运算符比较特别,它有三个运算对象。使用条件运算符的的语法格式如下:条件运算符比较特别,它有三个运算对象。使用条件运算符的的语法格式如下: ? value1:value2 如果如果“布尔表达式布尔表达式”的结果为的结果为true,就计算,就计算 “value1”,而且这个计算结果也就是运算,而且这个计算结果也就是运算符最终产生的值。如果符最终产生的值。如果“布尔表达式布尔表达式”的结果为的结果为false,就计算,就计

22、算“value2”,同样,它,同样,它的结果也就成为了运算符最终产生的值。例如:的结果也就成为了运算符最终产生的值。例如:int a = 3, b = 6, c;c = (a b)? 1:2;执行后的执行后的c的值为的值为2。 Java中的控制语句有以下几类。n分支语句n循环语句n跳转语句2.5.1 分支语句分支语句使得程序在执行时可以跳过某些语句不执行(可根据条件表达式的值有选择地分支语句使得程序在执行时可以跳过某些语句不执行(可根据条件表达式的值有选择地执行某些语句)。执行某些语句)。Java 语言支持语言支持if和和switch分支语句。分支语句。1if-else语句语句if-else语

23、句或许是控制程序流程最基本的形式,其中的语句或许是控制程序流程最基本的形式,其中的else是可选的,所以可按下述两是可选的,所以可按下述两种形式来描述种形式来描述if语句。语句。 (1)没有)没有else的的if语句语法格式语句语法格式if (条件表达式条件表达式)语句或块语句或块;程序的执行流程如下图所示(2)带有)带有else的的if语句语法格式语句语法格式if (条件表达式条件表达式) 语句块;语句块; else 语句块;语句块;程序的执行流程如右图所示。程序的执行流程如右图所示。 2.switch语句语句switch语句是多分支的开关语句,它的一般格式定义如下(其中语句是多分支的开关语

24、句,它的一般格式定义如下(其中break语句是可选的)。语句是可选的)。switch(表达式)(表达式) case 常量值常量值1: 语句块语句块 break; case 常量值常量值2: 语句块语句块 break; case 常量值常量值n: 语句块语句块 break; default: 语句块语句块 注意:注意:(1)switch后面括号中表达式的值必须是后面括号中表达式的值必须是byte,char,short,int类型的常量表达式,类型的常量表达式,而不能用浮点类型或而不能用浮点类型或long类型,也不能为一个字符串。类型,也不能为一个字符串。(2)default子句是可选的。子句是可

25、选的。(3)break语句用来在执行完一个语句用来在执行完一个case分支后,使程序跳出分支后,使程序跳出switch语句,即终止语句,即终止switch语句的执行。但在特殊情况下,多个不同的语句的执行。但在特殊情况下,多个不同的case值要执行一组相同的运算,值要执行一组相同的运算,这时一组中前面的这时一组中前面的case可以去掉可以去掉break。(4)一个)一个switch语句可以代替多个语句可以代替多个if-else语句组成的分支语句,而语句组成的分支语句,而switch语句从思路语句从思路上显得更清晰。上显得更清晰。 Java 语言中提供的循环语句有:nwhile语句ndo-whil

26、e语句nfor语句2.5.2 循环语句1while语句语句while语句的格式如下:语句的格式如下:while(条件表达式条件表达式) 循环体语句;循环体语句;在循环刚开始时,会计算一次在循环刚开始时,会计算一次“条件表达式条件表达式”的值。当条件为假时,将不执行循环体,的值。当条件为假时,将不执行循环体,直接跳转到循环体外,执行循环体外的后续语句;当条件为真时,便执行循环体。每直接跳转到循环体外,执行循环体外的后续语句;当条件为真时,便执行循环体。每执行完一次循环体,都会重新计算一次条件表达式,当条件为真时,便继续执行循环执行完一次循环体,都会重新计算一次条件表达式,当条件为真时,便继续执行

27、循环体,直到条件为假才结束循环。体,直到条件为假才结束循环。 while语句的结构如下图所示 2do-while语句语句do-while语句的格式如下:语句的格式如下:do 循环体语句;循环体语句;while(条件表达式条件表达式);do-while循环与循环与while循环的不同在于:它先执行循环中的语句,然后再判断条件是否循环的不同在于:它先执行循环中的语句,然后再判断条件是否为真,如果为真则继续循环;如果为假,则终止循环。因此,为真,如果为真则继续循环;如果为假,则终止循环。因此,do-while循环至少要循环至少要执行一次循环语句。执行一次循环语句。do-while语句的结构如下图所示

28、 3for语句语句for语句是三个循环语句中功能最强,使用最广泛的一个。语句是三个循环语句中功能最强,使用最广泛的一个。for语句的格式如下:语句的格式如下:for(表达式表达式1;表达式表达式2;表达式表达式3) 循环体语句循环体语句;表达式表达式1一般是一个赋值语句,它用来给循环控制变量赋初值;一般是一个赋值语句,它用来给循环控制变量赋初值;表达式表达式2是一个布尔类型的表达式,它决定什么时候退出循环;是一个布尔类型的表达式,它决定什么时候退出循环;表达式表达式3一般用来修改循环变量,控制变量每循环一次后按什么方式变化。一般用来修改循环变量,控制变量每循环一次后按什么方式变化。上述三个表达

29、式之间用上述三个表达式之间用“;”分开。分开。for语句的结构如下图所示 for语句的执行过程:语句的执行过程:(1)在循环刚开始时,先计算表达式)在循环刚开始时,先计算表达式1,在这个过程中,一般完成的是初始化循环变量,在这个过程中,一般完成的是初始化循环变量或其它变量。或其它变量。(2)根据表达式)根据表达式2的值来决定是否执行循环体。表达式的值来决定是否执行循环体。表达式2是一个返回布尔值的表达式,是一个返回布尔值的表达式,若该值为假,将不执行循环体,并退出循环;若该值为真,将执行循环体。若该值为假,将不执行循环体,并退出循环;若该值为真,将执行循环体。(3)执行完一次循环体后,计算表达

30、式)执行完一次循环体后,计算表达式3。在这个过程中一般会修改循环变量。在这个过程中一般会修改循环变量。(4)转入第()转入第(2)步继续执行。)步继续执行。 2.5.3 2.5.3 跳转语句跳转语句1 1breakbreak语句语句在在JavaJava语言中,语言中,breakbreak用于强行退出循环,不执行循环中剩余的语句。如果用于强行退出循环,不执行循环中剩余的语句。如果breakbreak句出现句出现在嵌套循环中的内层循环,则在嵌套循环中的内层循环,则breakbreak只会退出当前的一层循环。只会退出当前的一层循环。2 2continuecontinue语句语句当程序运行到当程序运行

31、到continuecontinue语句时,就会停止循环体剩余的语句,而回到循环的开始处继续语句时,就会停止循环体剩余的语句,而回到循环的开始处继续执行循环。执行循环。Java语言提供了语言提供了3种形式的注释:单行注释、多行注释和文档注释。种形式的注释:单行注释、多行注释和文档注释。1单行注释单行注释 注释格式如下:注释格式如下: / 注释内容注释内容该方法进行单行注释,从符号该方法进行单行注释,从符号“/”直到换行为止的所有内容均作为注释而被编译器忽略。直到换行为止的所有内容均作为注释而被编译器忽略。例如下面代码:例如下面代码: int age=24; /定义整型变量定义整型变量age用于保

32、存年龄信息用于保存年龄信息上述语句中上述语句中“/定义整型变量定义整型变量age用于保存年龄信息用于保存年龄信息”就是行注释部分。就是行注释部分。2多行注释多行注释多行注释通过多行注释通过“/*”与与“*/”符号进行标记,它们必须成对出现,在它们之间输入的注释内容可符号进行标记,它们必须成对出现,在它们之间输入的注释内容可以换行。注释格式如下:以换行。注释格式如下:/ *注释内容注释内容1注释内容注释内容2*/2文档注释文档注释当这类注释出现在任何声明(如类的声明、类的成员变量的声明或者类的成员方法的声明)之前当这类注释出现在任何声明(如类的声明、类的成员变量的声明或者类的成员方法的声明)之前

33、时,会被时,会被JavaDoc文档工具读取作为文档工具读取作为JavaDoc文档内容,文档是对代码结构和功能的描述。该注释的文档内容,文档是对代码结构和功能的描述。该注释的格式如下:格式如下:/ * 提示信息提示信息1* 提示信息提示信息2* */ 在解决实际问题的过程中,往往需要处理大量相同类型的数据,而在解决实际问题的过程中,往往需要处理大量相同类型的数据,而且这些数据被反复使用。这种情况下,可以考虑使用数组来处理这种问且这些数据被反复使用。这种情况下,可以考虑使用数组来处理这种问题。数组就是相同类型的数据按顺序组成的一种复合型数据类型。通过题。数组就是相同类型的数据按顺序组成的一种复合型

34、数据类型。通过数组名和下标来使用数组中的数据,下标从数组名和下标来使用数组中的数据,下标从0开始。开始。使用数组的最大好处是:可以让一批相同性质的数据共用一个变量使用数组的最大好处是:可以让一批相同性质的数据共用一个变量名,而不必为每个数据命名一个名字。使用数组不仅使程序书写大名,而不必为每个数据命名一个名字。使用数组不仅使程序书写大为简便清晰,可读性大大提高,而且便于用循环语句简单处理这类数据。为简便清晰,可读性大大提高,而且便于用循环语句简单处理这类数据。 2.7.1 一维数组一维数组1一维数组声明一维数组声明声明一维数组有下列两种格式:声明一维数组有下列两种格式:(1)数组元素类型)数组

35、元素类型 数组名字数组名字 ;(2)数组元素类型)数组元素类型 数组名字;数组名字;例如:采用不同的格式分别声明一维数组例如:采用不同的格式分别声明一维数组a1和和b1。int a1; int b1;数组数组a1和和b1中存放中存放int类型的数据。类型的数据。2一维数组声初始化一维数组声初始化声明数组仅为数组指定数组名和数组元素的类型,并没有为元素分配实际的存储空声明数组仅为数组指定数组名和数组元素的类型,并没有为元素分配实际的存储空间。间。Java数组的初始化可以通过直接指定初值的方式来完成,也可以用数组的初始化可以通过直接指定初值的方式来完成,也可以用new操作符来完操作符来完成。成。1

36、)直接指定初值的方式)直接指定初值的方式在声明一个数组的同时将数组元素的初值依次写入赋值号后的一对花括号内,给这在声明一个数组的同时将数组元素的初值依次写入赋值号后的一对花括号内,给这个数组的所有元素赋初始值。个数组的所有元素赋初始值。例如:例如:int a1=23,-9,38,8,65; 2)用关键字)用关键字new初始化数组初始化数组只为数组分配存储空间而不对数组元素赋初值。用关键字只为数组分配存储空间而不对数组元素赋初值。用关键字new来初始化数组有两种来初始化数组有两种方式:方式:(1)先声明数组,再初始化数组。格式如下:)先声明数组,再初始化数组。格式如下:类型标识符类型标识符 数组

37、名数组名 ;数组名数组名=new 类型标识符类型标识符数组长度数组长度;第一条语句是数组的声明,第二条语句是初始化。数组长度通常是整型常量,第一条语句是数组的声明,第二条语句是初始化。数组长度通常是整型常量,用以指明数组元素的个数。用以指明数组元素的个数。例如:例如:int a; a = new int9;(2)在声明数组的同时用)在声明数组的同时用new关键字初始化数组。格式如下:关键字初始化数组。格式如下:类型标识符类型标识符 数组名数组名 = new 类型标识符类型标识符数组长度数组长度 ; 或者或者类型标识符类型标识符 数组名数组名= new 类型标识符类型标识符数组长度数组长度 ;

38、例如:例如:int a=new int10; 3 3一维数组的引用一维数组的引用一维数组元素的引用格式如下:一维数组元素的引用格式如下:数组名数组名 数组下标数组下标 数组下标的取值范围是数组下标的取值范围是0 0( (数组长度数组长度-1)-1),下标值可以是整数型常量或整数型变量表,下标值可以是整数型常量或整数型变量表达式。达式。例如,在有了例如,在有了“int a=new int10;”int a=new int10;”声明语句后,下面的两条赋值语句是合法声明语句后,下面的两条赋值语句是合法的:的:a3=25; a3=25; a3+6=90; a3+6=90; 语句语句a10=8a10=

39、8;却是错误的,因为下标值超过了数组下标的取值范围。;却是错误的,因为下标值超过了数组下标的取值范围。 2.7.2 二维数组在在Java语言中,把二维数组实际上看成是其每个数组元素是一个一维数组的一维数组。语言中,把二维数组实际上看成是其每个数组元素是一个一维数组的一维数组。这里面最根本原因是计算机存储器的编址是一维的,即存储单元的编号从这里面最根本原因是计算机存储器的编址是一维的,即存储单元的编号从0开始一直开始一直连续编到最后一个最大的编号。连续编到最后一个最大的编号。 1二维数组声明二维数组声明二维数组的声明只需要给出两对方括号,格式如下:二维数组的声明只需要给出两对方括号,格式如下:类

40、型标识符类型标识符 数组名数组名 ;类型标识符类型标识符 数组名;数组名;其中:类型说明符可以是其中:类型说明符可以是Java的基本类型、类或接口;数组名是用户遵循标识符命名规的基本类型、类或接口;数组名是用户遵循标识符命名规则给出的一个标识符;两个方括号中前面的方括号表示行,后面的方括号表示列。则给出的一个标识符;两个方括号中前面的方括号表示行,后面的方括号表示列。2二维数组声初始化二维数组声初始化二维数组声明同样也是为数组命名和指定其数据类型的。它不为数组元素分配内存,只二维数组声明同样也是为数组命名和指定其数据类型的。它不为数组元素分配内存,只有经初始化后才能为其分配存储空间。二维数组的初始化也分为直接指定初值和用有经初始化后才能为其分配存储空间。二维数组的初始化也分为直接指定初值和用new操作符两种方式。操作符两种方式。 2二维数组声初始化二维数组声初始化1)直接指定初值的方式)直接指定初值的方式在数组声明时对数据元素赋初值就是用指定的初值对数组初始化。在数组声明时对数据元素赋初值就是用指定的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论