《Java软件设计基础》PPT课件.ppt

上传人:wuy****n92 文档编号:53633578 上传时间:2022-10-26 格式:PPT 页数:53 大小:350KB
返回 下载 相关 举报
《Java软件设计基础》PPT课件.ppt_第1页
第1页 / 共53页
《Java软件设计基础》PPT课件.ppt_第2页
第2页 / 共53页
点击查看更多>>
资源描述

《《Java软件设计基础》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《Java软件设计基础》PPT课件.ppt(53页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、Java软件设计基础2.Java语言基础Computer Science&TechnologyComputer Science&Technology2.1 符号标识符标识符程程序序中中要要用用到到许许多多名名字字,诸诸如如类类、对对象象、变变量量、方方法法等等。标标识识符符就是用来标识它们的唯一性和存在性的名字。就是用来标识它们的唯一性和存在性的名字。Java采用采用Unicode字符集,由字符集,由16位构成。位构成。标识符分为两类:标识符分为两类:保保留留字字:是是Java预预定定义义的的标标识识符符,都都具具有有特特定定的的含含义义,保保留留字字又又称称关键字。关键字。Computer

2、Science&TechnologyComputer Science&Technology用用户户定定义义标标识识符符:是是程程序序设设计计者者根根据据自自己己的的需需要要为为定定义义的的类类、对对象象、变量、方法等的命名。变量、方法等的命名。用户自定义标识符的定义规则:用户自定义标识符的定义规则:以以字母、下划线或字母、下划线或$符开头符开头的字母、下划线、数字、的字母、下划线、数字、$符的序列。符的序列。一一些些由由开开发发环环境境自自动动生生成成的的名名称称中中会会带带有有$符符或或下下划划线线,因因此此虽虽然然规规则则允允许,但是自定义的变量名称中应尽量避免使用许,但是自定义的变量名称

3、中应尽量避免使用$符或下划线。符或下划线。标识符区分大小写。标识符区分大小写。标识符不能与保留字同名。标识符不能与保留字同名。标识符遵守先定义后使用的原则。标识符遵守先定义后使用的原则。虽虽然然true、false和和null并并不不是是关关键键字字,但但其其代代表表的的是是值值,也也不不可可以以用用以上三个作为自定义标识符的名字。以上三个作为自定义标识符的名字。标识符的长度是任意的。标识符的长度是任意的。虽虽然然如如此此,但但不不宜宜过过长长,也也不不宜宜取取难难以以理理解解的的简简写写。最最好好有有象象征征性性含含义义,起到见文生意的作用,提高程序的可读性。起到见文生意的作用,提高程序的可

4、读性。Computer Science&TechnologyComputer Science&Technology分隔符分隔符规规定定任任意意两两个个相相邻邻标标识识符符、数数、保保留留字字或或两两个个语语句句之之间间必必须须至至少少有一个分隔符,以便编译程序能识别。有一个分隔符,以便编译程序能识别。分隔符不能互相代用。分隔符不能互相代用。分隔符的分类分隔符的分类空白分隔符空白分隔符空格、空格、TAB制表符、换行符与回车符都是典型的空白分隔符。制表符、换行符与回车符都是典型的空白分隔符。为为了了程程序序的的可可读读性性和和美美观观,语语句句的的成成分分之之间间可可以以插插入入任任意意多多个个空

5、空白白分分隔隔符,在编译时系统会自动忽略多余的空白分隔符。符,在编译时系统会自动忽略多余的空白分隔符。Computer Science&TechnologyComputer Science&Technology普通分隔符普通分隔符 用来定义复合语句、类体、方法体以及进行数组的初始化等。用来定义复合语句、类体、方法体以及进行数组的初始化等。;表示一条语句的结束。表示一条语句的结束。,用来分隔变量的说明和方法的参数等。用来分隔变量的说明和方法的参数等。:说明语句标号等。说明语句标号等。注释语句注释语句注注释释用用来来对对程程序序中中的的代代码码做做出出解解释释。注注释释部部分分对对程程序序的的执执

6、行行不不产产生生任任何何影影响响,可可增增加加程程序序的的可可读读性性,有有利利于于程程序序的的修修改改、调调试试、交流。交流。注释语句的格式注释语句的格式Computer Science&TechnologyComputer Science&Technology第一种用于行注释;第二、三种用于多行注释。第一种用于行注释;第二、三种用于多行注释。编码规范编码规范规范原则规范原则尽量使用完整的英文描述符;尽量使用完整的英文描述符;采用大小写混合使名字可读,采用适用于相关领域的术语;采用大小写混合使名字可读,采用适用于相关领域的术语;尽量少用缩写,若已使用尽量明智,且在整个文件或工程中通用;尽量少

7、用缩写,若已使用尽量明智,且在整个文件或工程中通用;避免使用长的和类似的名字,或仅仅是大小写不同的名字;避免使用长的和类似的名字,或仅仅是大小写不同的名字;除静态常量外,尽量少用下划线。除静态常量外,尽量少用下划线。约定细则约定细则源文件命名规则源文件命名规则源源程程序序中中包包含含有有公公共共类类的的定定义义,源源文文件件名名必必须须与与该该公公共共类类的的名名字字一一致致。在一个源程序中至多只能有一个公共类的定义;在一个源程序中至多只能有一个公共类的定义;Computer Science&TechnologyComputer Science&Technology源程序中不包含公共类,则该文

8、件名只要和某个类名字相同即可;源程序中不包含公共类,则该文件名只要和某个类名字相同即可;源程序中有多个类的定义,编译时将会为每个类生成一个源程序中有多个类的定义,编译时将会为每个类生成一个class文件。文件。包包包名是全小写的名词,中间可以由点分隔开,如。包名是全小写的名词,中间可以由点分隔开,如。类类类类名名首首字字母母大大写写,若若由由多多个个单单词词合合成成一一个个类类名名,要要求求每每个个单单词词的的字字母母也也要大写,如要大写,如MyFirstJava。接口接口命名规则同类名,如命名规则同类名,如Collection。方法方法由由多多个个单单词词组组成成的的方方法法名名首首字字母母

9、小小写写,中中间间的的每每个个单单词词首首字字母母大大写写,如如isButtonPressed。变量变量一般全小写,如一般全小写,如length。Computer Science&TechnologyComputer Science&Technology常量常量一一般般全全大大写写,如如果果由由多多个个单单词词组组成成则则中中间间用用下下划划线线相相连连。如如果果是是对对象象类类型型的的常常量量,则则是是大大小小写写混混合合,由由大大写写字字母母把把单单词词隔隔开开,如如STR_LENGTH。组件组件使使用用完完整整的的英英文文描描述述来来说说明明组组件件的的用用途途,尾尾部部应应该该加加上上

10、组组件件类类型型,如如okButton。Computer Science&TechnologyComputer Science&Technology2.2 基本数据类型概述概述Java数据类型的分类数据类型的分类Java数据存储空间大小数据存储空间大小Java数据类型数据类型复合数据类型复合数据类型基本数据类型基本数据类型数值型数值型字符型:字符型:char布尔型:布尔型:boolean数组:数组:array接口:接口:interface类:类:class整型整型浮点型浮点型字节型:字节型:byte短整型:短整型:short整型:整型:int长整型:长整型:long单精度:单精度:float双

11、精度:双精度:doubleComputer Science&TechnologyComputer Science&Technology默认值默认值声声明明字字段段时时不不必必为为其其赋赋值值。被被声声明明但但是是没没有有初初始始化化的的字字段段会会被被编编译译器器设置为合理的默认值。设置为合理的默认值。局局部部变变量量稍稍有有不不同同,编编译译器器永永远远都都不不会会给给未未初初始始化化的的局局部部变变量量分分配配默默认认值值。如如果果在在声声明明局局部部变变量量时时不不能能初初始始化化它它,就就要要确确保保使使用用之之前前为为其其赋值,否则将导致编译错误。赋值,否则将导致编译错误。数据类型数

12、据类型默认值默认值bytebyte0 0shortshort0 0intint0 0longlong0L0Lfloatfloat0.0f0.0fdoubledouble0.0d0.0dcharcharu0000u0000String(String(或者任何对象或者任何对象)nullnullbooleanbooleanfalsefalseComputer Science&TechnologyComputer Science&TechnologyComputer Science&TechnologyComputer Science&Technology字面量(字面量(literal)当初始化原始类

13、型的变量时,没有使用到关键字当初始化原始类型的变量时,没有使用到关键字new。原始类型是语言内置的特殊数据类型,不是从类创建的对象。原始类型是语言内置的特殊数据类型,不是从类创建的对象。字面量是固定值的源代码表现形式,直接出现在代码中,无需计算。字面量是固定值的源代码表现形式,直接出现在代码中,无需计算。特殊的字面量特殊的字面量null可可以以用用作作任任何何引引用用类类型型的的值值,可可以以赋赋值值给给除除了了属属于于原原始始数数据据类类型型的的变变量量之之外外的的任任何何变变量量。除除了了测测试试其其存存在在之之外外,对对null值值没没有有什什么么可可做做的的操操作作,因此在程序中常使用

14、因此在程序中常使用null作为标识,表示某个对象不可用。作为标识,表示某个对象不可用。Computer Science&TechnologyComputer Science&Technology整数类型整数类型整型是那些没有小数部分的数据类型。整型是那些没有小数部分的数据类型。不不同同整整数数数数据据类类型型的的意意义义在在于于它它们们所所需需的的内内存存空空间间大大小小不不同同,这这也也决决定了它们所能表达的数值范围的不同。定了它们所能表达的数值范围的不同。采采用用不不同同的的整整数数类类型型表表达达同同一一数数值值,在在存存储储单单元元中中的的存存储储情情况况是是不不同同的。的。分类分类b

15、yte,short,int,long在内存紧张的情况下,可将在内存紧张的情况下,可将byte或或short用于大型数组以便节省内存。用于大型数组以便节省内存。整型数整型数20在内存中的存储形式在内存中的存储形式Computer Science&TechnologyComputer Science&Technologyint是整数值的默认选择类型,除非出于某种原因选择其他类型。是整数值的默认选择类型,除非出于某种原因选择其他类型。当当将将超超过过int数数值值范范围围的的值值付付给给long类类型型的的时时候候,必必须须在在值值后后加加上上L或或者者l。表示形式表示形式十进制整数,如十进制整数,

16、如33,58,-90。八进制整数,以八进制整数,以0开头,如开头,如010表示十进制的表示十进制的8。十六进制整数,以十六进制整数,以0 x开头,如开头,如0 x10表示十进制的表示十进制的16。浮点型浮点型分类分类floatJava缺缺省省的的浮浮点点类类型型是是double,给给float变变量量赋赋予予带带小小数数的的初初值值时时必必须须在在数值后加数值后加f或或F。double给该类变量赋值时可以在后面加上给该类变量赋值时可以在后面加上d或或D。Computer Science&TechnologyComputer Science&Technology表示方法表示方法十进制形式十进制形

17、式科学计数法或指数形式科学计数法或指数形式字字母母E表表示示以以10为为底底的的指指数数。采采用用科科学学表表示示法法时时,尾尾数数必必须须有有,但但小小数数部分可无,阶码必须有且是整数。部分可无,阶码必须有且是整数。字符型字符型Java的的字字符符使使用用16位位的的Unicode编编码码表表示示,它它可可以以支支持持世世界界上上的的所有语言。所有语言。“u0000”“u00FF”用来表示用来表示ASCII码集。码集。表示形式表示形式包括在单引号之内的单个字符;包括在单引号之内的单个字符;用用单单引引号号括括起起来来的的八八进进制制Unicode字字符符,形形式式为为ddd,d的的范范围围是

18、是07;Computer Science&TechnologyComputer Science&Technology用用单单引引号号括括起起来来的的十十六六进进制制Unicode字字符符,形形式式为为uxxxx,x的的范范围围是是0F;不能显示的控制字符,可以通过转义字符来表示;不能显示的控制字符,可以通过转义字符来表示;注意注意char类类型型是是一一种种特特殊殊类类型型的的整整数数类类型型,没没有有负负数数,其其范范围围是是065535,它们可以被转换为整数并可以进行整数运算。,它们可以被转换为整数并可以进行整数运算。把把字字符符串串包包含含在在双双引引号号中中,就就会会自自动动的的创创建

19、建新新的的String对对象象。String对象是不可变的,即创建后就不能改变他们的值。对象是不可变的,即创建后就不能改变他们的值。Computer Science&TechnologyComputer Science&Technology布尔型布尔型被被用用作作真真/假假条条件件的的简简单单标标志志,与与C/C+不不同同的的是是,它它的的值值不不与与任任何整数值对应。何整数值对应。Computer Science&TechnologyComputer Science&Technology2.3 常量与变量常量常量常常量量是是指指在在程程序序运运行行过过程程中中其其值值不不变变的的量量。常常量

20、量在在表表达达式式中中用用文文字串表示,它有整型常量、字符型常量等等不同的类型。字串表示,它有整型常量、字符型常量等等不同的类型。常量通过用关键字常量通过用关键字final来实现声明,通常写在最前面。来实现声明,通常写在最前面。变量变量变量用来存放指定类型的数据,其值在程序运行过程中是可变的。变量用来存放指定类型的数据,其值在程序运行过程中是可变的。变量的声明变量的声明使使用用一一个个变变量量之之前前必必须须先先声声明明它它。一一方方面面给给该该变变量量分分配配内内存存空空间间,另另一一方方面面防防止止在在以以后后使使用用此此变变量量时时因因错错误误输输入入而而对对不不存存在在的的变变量量进进

21、行行操操作。作。final 类型 常量名=常量值;Computer Science&TechnologyComputer Science&Technology以以“变量名变量名”为名建立一个某类型的变量;为名建立一个某类型的变量;;表示声明语句的结束;表示声明语句的结束;表示可选;表示可选;可在一条语句中定义多个同类型的变量,中间用逗号隔开;可在一条语句中定义多个同类型的变量,中间用逗号隔开;在声明的同时可以赋值;在声明的同时可以赋值;修饰符也称为作用域,指明作用域的类型;修饰符也称为作用域,指明作用域的类型;数数据据类类型型决决定定了了变变量量所所包包含含的的值值的的范范围围、可可对对变变量

22、量进进行行哪哪些些操操作作以以及及如如何定义这些操作;何定义这些操作;变量的使用变量的使用变变量量的的初初始始化化是是简简单单的的赋赋值值使使用用,当当在在语语句句中中使使用用到到该该变变量量的的名名称称时时,编译器会自动将当时变量的值取来用。编译器会自动将当时变量的值取来用。局部变量在使用前必须初始化。局部变量在使用前必须初始化。修饰符 类型名 变量名1,变量名2,;修饰符 类型名 变量名1=初值1,变量名2=初值2,;Computer Science&TechnologyComputer Science&Technology变量的类型变量的类型基本数据类型(布尔型、字符型、整型、浮点型、数

23、组、接口、类)基本数据类型(布尔型、字符型、整型、浮点型、数组、接口、类)变量的作用域变量的作用域Java中中的的变变量量有有一一定定的的生生存存期期和和有有效效范范围围,变变量量的的作作用用域域指指明明可可访访问该变量的一段代码。问该变量的一段代码。按照作用域划分:按照作用域划分:全局变量:可以在整个类中被访问;全局变量:可以在整个类中被访问;局局部部变变量量:在在方方法法或或方方法法的的一一个个代代码码块块中中声声明明,它它的的作作用用域域为为它它所所在在的的代码块;代码块;类变量:在类中声明,而不是类的某个方法中声明,作用域为整个类;类变量:在类中声明,而不是类的某个方法中声明,作用域为

24、整个类;方法参数(变量):作用域为传递给的那个方法;方法参数(变量):作用域为传递给的那个方法;异常处理参数:传递给异常处理代码,作用域是异常处理部分。异常处理参数:传递给异常处理代码,作用域是异常处理部分。Computer Science&TechnologyComputer Science&Technology将将语语句句”int j=58;”放放在在语语句句”int i=15;”后后面面,则则变变量量j的的作作用用域域变变为整个为整个main()方法,程序编译通过。方法,程序编译通过。Computer Science&TechnologyComputer Science&Technolo

25、gy2.4 运算符程程序序中中用用来来处处理理数数据据、表表示示数数据据运运算算、赋赋值值和和比比较较的的符符号号称为称为运算符运算符,参与运算的数据称为,参与运算的数据称为操作数操作数。分类分类算术运算符算术运算符算算术术运运算算符符用用于于对对整整型型数数和和实实型型数数的的运运算算。按按照照其其要要求求的的操操作作数数个个数数分为一元运算符和二元运算符两类。分为一元运算符和二元运算符两类。+(正号)、(正号)、-(负号)、(负号)、+(自增)、(自增)、-(自减);(自减);+(数值加、连接字符串)、(数值加、连接字符串)、-(减)、(减)、*(乘)、(乘)、/(除)、(除)、%(取模)

26、。(取模)。+x是是在在变变量量参参与与运运算算之之前前自自增增1,然然后后用用新新值值参参与与运运算算;而而x+是是先先用以前的值参与运算,再自增用以前的值参与运算,再自增1;-x和和x-同理。同理。除除号号“/”中中,如如果果运运算算符符两两边边的的操操作作数数都都是是整整数数,则则计计算算结结果果只只保保留整数部分。留整数部分。当当+作作为为字字符符串串连连接接操操作作符符时时,可可以以连连接接两两个个字字符符串串、字字符符串串与与字字符符、字符串与数字。字符串与数字。Computer Science&TechnologyComputer Science&TechnologyComput

27、er Science&TechnologyComputer Science&Technology比较运算符比较运算符又又称称关关系系运运算算符符,有有=(等等于于)、!=(不不等等于于)、(大大于于)、=(大大于于等等于于)、=(小小于于等等于于)、instanceof(是是否否为某类对象)几种;为某类对象)几种;在在一一个个比比较较运运算算符符两两边边的的数数据据类类型型应应该该一一致致,比比较较逻逻辑辑成成立立为为true,不成立为不成立为false;如如果果操操作作数数是是对对象象变变量量,则则对对象象变变量量引引用用同同一一个个对对象象或或都都为为null的的时时候为候为true,否则

28、为,否则为false。逻辑运算符逻辑运算符又称布尔运算符,用于对布尔型操作数进行计算。又称布尔运算符,用于对布尔型操作数进行计算。!(非)!(非)&(与)、(与)、|(或)、(或)、(异或)、(异或)、&(短路与)、(短路与)、|(短路或)。(短路或)。&和和&的的区区别别是是,前前者者只只要要左左边边的的操操作作数数为为false时时,就就不不再再计计算算,直接给出结果是直接给出结果是false;|和和|的区别同样。简化了计算过程。的区别同样。简化了计算过程。Computer Science&TechnologyComputer Science&Technology位运算符位运算符对整数数值

29、二进制表示中的每位进行测试、置位、移位等处理。对整数数值二进制表示中的每位进行测试、置位、移位等处理。(位反)(位反)&(位位与与)、|(位位或或)、(位位异异或或)、(位位右右移移)、(不带符号的位右移)(不带符号的位右移)Java使使用用补补码码来来表表示示二二进进制制码码,最最高高位位为为符符号号位位,整整数数的的符符号号位位为为0,负数的符号位为,负数的符号位为1。正数:正数:x原码原码=x反码反码=x补码补码5的补码为的补码为00000101。负数:负数:x反码反码为为x原码原码除了最高位以外按位求反,除了最高位以外按位求反,x补码补码为为x反码反码+1。-5的原码为的原码为1000

30、0101,反码为,反码为11111010,补码为,补码为11111011。在在移移位位时时,位位左左移移右右边边补补0;位位右右移移时时,高高位位移移入入原原来来最最高高位位的的值值;无符号右移时,低位被舍弃,高位补无符号右移时,低位被舍弃,高位补0。在在对对byte和和short类类型型的的值值进进行行位位移移运运算算时时,Java将将自自动动把把这这些些类类型型扩大为整形。扩大为整形。Computer Science&TechnologyComputer Science&TechnologyComputer Science&TechnologyComputer Science&Techno

31、logyComputer Science&TechnologyComputer Science&Technology条件运算符条件运算符是是一一个个三三元元运运算算符符“?:”,它它是是Java中中唯唯一一的的三三元元运运算算符符,形形式式如如下:下:其其中中表表达达式式的的值值为为一一个个布布尔尔值值,如如果果结结果果为为true,则则整整个个表表达达式式的的值值为为表表达达式式1的的值值;否否则则为为表表达达式式2的的值值,表表达达式式1和和表表达达式式2应应返返回回相相同的数据类型。同的数据类型。赋值运算符赋值运算符简简单单赋赋值值运运算算符符“=”:把把运运算算符符右右边边的的值值赋赋

32、给给左左边边的的常常量量或或变变量量。在一个赋值表达式内也可以连续赋值。在一个赋值表达式内也可以连续赋值。扩展赋值运算符:在扩展赋值运算符:在“=”前加上其他运算符。前加上其他运算符。+=、-=、*=、/=、%=、&=、|=、=、=、=布尔表达式?表达式1:表达式2s op=is=s op iComputer Science&TechnologyComputer Science&Technology其他运算符其他运算符运算符的优先级运算符的优先级表表达达式式的的运运算算次次序序取取决决于于表表达达式式中中各各种种运运算算符符的的优优先先级级。优优先先级级高的先运算,优先级低的后运算。高的先运算

33、,优先级低的后运算。另外,还可以用另外,还可以用“()”改变优先级次序。改变优先级次序。运算符运算符功能功能()()表达式加括号优先执行表达式加括号优先执行(参数表参数表)方法参数传递,多个参数时用逗号隔开方法参数传递,多个参数时用逗号隔开(类型类型)强制类型转换强制类型转换.分量运算符,用于对象属性或方法的引用分量运算符,用于对象属性或方法的引用 下标运算符,用于数组下标运算符,用于数组newnew对象实例化运算符,实例化一个对象,即为其分配内存对象实例化运算符,实例化一个对象,即为其分配内存Computer Science&TechnologyComputer Science&Techno

34、logy优先级优先级运算符运算符描述描述结合性结合性1 1.().()域、数组、括号域、数组、括号左左右右2 2+-+-!instanceof+-+-!instanceof一元操作符一元操作符右右左左3 3new (type)new (type)新建对象、强制类型转换新建对象、强制类型转换左左右右4 4*/%*/%乘、除、取余乘、除、取余左左右右5 5+-+-加、减加、减左左右右6 6 位运算位运算左左右右7 7 =比较运算比较运算左左右右8 8=!=!=比较运算比较运算左左右右9 9&与与左左右右1010 异或异或左左右右1111|或或左左右右1212&逻辑运算逻辑运算左左右右1313|逻辑

35、运算逻辑运算左左右右1414?:?:条件运算符条件运算符右右左左1515=+=-=*=/=%=+=-=*=/=%=扩展赋值运算符扩展赋值运算符右右左左1616&=|=&=|=扩展赋值运算符扩展赋值运算符右右左左Computer Science&TechnologyComputer Science&Technology例:按照上表的优先级规定,下面表达式有唯一的计算顺序:例:按照上表的优先级规定,下面表达式有唯一的计算顺序:注意注意上上述述表表达达式式的的写写法法比比较较难难以以理理解解并并容容易易产产生生错错误误。因因此此在在写写程程序序时时尽尽量量使使用用括括号号来来使使表表达达式式的的计计

36、算算次次序序一一目目了了然然。维维持持这这种种编编程程习习惯惯可可以以使代码更易于阅读和维护。使代码更易于阅读和维护。数数学学上上的的表表达达式式如如abc在在Java中中必必须须写写成成(ab)&(bc)这这样样的的形形式。式。Computer Science&TechnologyComputer Science&Technology2.4 类型转换自动类型转换自动类型转换整整型型、实实型型、字字符符型型数数据据可可以以混混合合运运算算。运运算算过过程程中中,不不同同类类型型的数据会自动转换为同一类型,然后进行运算。的数据会自动转换为同一类型,然后进行运算。自自动动转转换换按按低低级级类类型

37、型数数据据转转换换成成高高级级类类型型数数据据的的规规则则进进行行,最最后后生成的值也是高级类型数据。生成的值也是高级类型数据。数据类型约束数据类型约束Java定定义义了了若若干干适适用用于于表表达达式式的的类类型型提提升升,所所有有的的byte和和short型型的的值都会被系统提升到值都会被系统提升到int型。型。如果一个操作数是如果一个操作数是long型,那么整个表达式会被提升到型,那么整个表达式会被提升到long型。型。(1)(byte或或short)op int int(2)(byte或或short或或int)op longlong(3)(byte或或short或或int或或long)

38、op floatfloat(4)(byte或或short或或int或或long或或float)op doubledouble(5)char op intintComputer Science&TechnologyComputer Science&Technology强制类型转换强制类型转换不不是是所所有有的的数数据据类类型型都都允允许许隐隐含含性性的的自自动动转转换换。当当把把占占位位较较长长的的数数据据转转化化为为占占位位较较短短的的数数据据时时,会会出出现现信信息息丢丢失失的的情情况况,因因为为不不能能自自动动转转换换。高高级级数数据据类类型型要要转转换换成成低低级级数数据据类类型型,需需

39、要要用用到到强强制数据类型转换。其一般形式为:制数据类型转换。其一般形式为:经过强制类型转换将得到一个在经过强制类型转换将得到一个在()中声明的类型的数据。中声明的类型的数据。将将占占用用位位数数较较长长的的数数据据转转化化成成占占用用位位数数较较短短的的数数据据时时,可可能能会会造造成成数数据超出较短数据类型的取值范围,造成溢出。据超出较短数据类型的取值范围,造成溢出。复合数据类型也可以进行转化。复合数据类型也可以进行转化。一一般般使使用用强强制制类类型型转转换换可可能能会会导导致致数数值值溢溢出出或或精精度度下下降降,应应尽尽量量避免。避免。(数据类型)表达式数据类型(表达式)Comput

40、er Science&TechnologyComputer Science&Technologyshort c=a+b;short c=a+b;因为因为JavaJava的自动提升功能,导致结果是的自动提升功能,导致结果是intint类型,无法赋值给范围更小的类型,无法赋值给范围更小的shortshort类型类型int i1=dd+7;int i1=dd+7;dd+7dd+7的值是的值是doubledouble型,无法赋值给型,无法赋值给intint类型,如果改为类型,如果改为“int i1=(int)dd+7;”int i1=(int)dd+7;”则编译通过则编译通过boolean bool=

41、true&i;boolean bool=true&i;布尔型与数字类型、字符型互相不兼容。布尔型与数字类型、字符型互相不兼容。Computer Science&TechnologyComputer Science&Technology2.5 数组数数组组是是相相同同类类型型的的数数据据元元素素按按顺顺序序组组成成的的一一种种复复合合数数据据类类型。型。特点特点数组也是一个对象;数组也是一个对象;一个数组中所有的元素应该是同一类型;一个数组中所有的元素应该是同一类型;数组中的元素是有序的;数组中的元素是有序的;数组中的一个元素通过数组名和数组下标来确定。数组中的一个元素通过数组名和数组下标来确定

42、。分类分类基本数据类型的数组与复合数据类型的数组基本数据类型的数组与复合数据类型的数组一维数组和多维数组一维数组和多维数组一维数组一维数组声明格式:声明格式:Computer Science&TechnologyComputer Science&Technology数组名的命名方法同简单变量,可以是任何合法的标识符;数组名的命名方法同简单变量,可以是任何合法的标识符;类型标识符可以是基本数据类型或者是类、接口;类型标识符可以是基本数据类型或者是类、接口;分配数组空间分配数组空间在在声声明明数数组组时时,不不直直接接指指出出数数组组中中的的元元素素个个数数(即即数数组组长长度度)。数数组组说说明

43、明之之后后不不能能立立即即被被访访问问,因因为为还还没没有有为为数数组组元元素素分分配配内内存存空空间间。因因此需要使用此需要使用new操作来构造数组,为其分配内存空间,格式如下:操作来构造数组,为其分配内存空间,格式如下:类型 数组名;类型 数组名;数组名=new 类型元素个数;Computer Science&TechnologyComputer Science&Technology元元素素个个数数即即数数组组长长度度。数数组组分分配配空空间间是是连连续续的的,可可以以通通过过属属性性length获得该数组的元素个数,方法如下:获得该数组的元素个数,方法如下:声明数组的同时分配数组空间声明

44、数组的同时分配数组空间数组一旦创建之后,就不能再改变其长度!数组一旦创建之后,就不能再改变其长度!数组名.length;类型 数组名=new 类型元素个数;类型 数组名=new 类型元素个数;Computer Science&TechnologyComputer Science&Technology数组的初始化数组的初始化用用new分分配配空空间间后后,系系统统将将为为每每个个数数组组元元素素都都赋赋予予一一个个初初值值,初初值值取取决于数组的类型。决于数组的类型。数值型数组:数值型数组:0字符型数组:不可见字符型数组:不可见ISO控制符(控制符(u000)布尔型数组:布尔型数组:false字

45、符串数组以及其他对象数组:字符串数组以及其他对象数组:null当当不不希希望望数数组组的的初初值值为为系系统统给给定定的的默默认认值值时时,可可以以用用赋赋值值语语句句对对数数组组进行初始化。进行初始化。初初始始化化可可以以在在数数组组声声明明时时进进行行,也也可可以以声声明明以以后后,在在构构造造数数组组的的时时候候赋值。赋值。其中初值表是用逗号隔开的一组值。其中初值表是用逗号隔开的一组值。类型 数组名=初值表;数组名下标=初值;Computer Science&TechnologyComputer Science&Technology数组元素的使用数组元素的使用当当声声明明了了一一个个数数

46、组组并并分分配配了了内内存存空空间间后后,就就可可以以在在程程序序中中任任何何可可以以使使用变量的地方使用数组元素,其格式为:用变量的地方使用数组元素,其格式为:其其中中下下标标为为非非负负的的整整型型常常数数或或表表达达式式,其其数数据据类类型型为为int、short、byte,但不可以是但不可以是long。Java会会对对数数组组的的下下标标进进行行越越界界检检查查以以保保证证安安全全性性。下下标标的的范范围围是是从从0到数组的长度减一。到数组的长度减一。数组名下标Computer Science&TechnologyComputer Science&Technology多维数组多维数组严

47、严格格的的说说Java并并不不支支持持多多维维数数组组,多多维维数数组组的的声声明明是是通通过过对对一一维维数组的嵌套形式声明来实现的。这样的好处是允许行的长度可变。数组的嵌套形式声明来实现的。这样的好处是允许行的长度可变。二维数组的声明二维数组的声明分配二维数组空间分配二维数组空间数组分配空间是连续的,构造方法如下:数组分配空间是连续的,构造方法如下:直接为每一维分配空间直接为每一维分配空间类型 数组名;类型 数组名;数组名=new 类型行数列数;Computer Science&TechnologyComputer Science&Technology从最高维开始,分别为每一维分配空间从最

48、高维开始,分别为每一维分配空间可以通过属性可以通过属性length获得该数组的元素个数,方法如下:获得该数组的元素个数,方法如下:数组名数组名.length求出多维数组中第一维的长度;求出多维数组中第一维的长度;数组名数组名0.length求出多维数组中第二维的长度;求出多维数组中第二维的长度;依此类推求出其余维的长度。依此类推求出其余维的长度。在使用在使用new来分配内存时,对于多维数组至少要给出最高维的大小。来分配内存时,对于多维数组至少要给出最高维的大小。在声明二维数组的同时分配数组空间在声明二维数组的同时分配数组空间类型 数组名=new 类型行数列数;类型 数组名=new 类型行数列数

49、;Computer Science&TechnologyComputer Science&Technology二维数组初始化二维数组初始化赋赋初初值值与与一一维维数数组组类类似似,可可以以直直接接对对每每个个元元素素赋赋值值,或或者者使使用用初初值值表表赋值。赋值。以下两种初始化方式是等价的:以下两种初始化方式是等价的:类型 数组名=初值表1,初值表2,初值表n;数组名行下标列下标=初值;Computer Science&TechnologyComputer Science&Technology多维数组的创建和使用多维数组的创建和使用声明声明创建创建使用使用类型 数组名;类型 数组名;类型 数

50、组名=new 类型长度1长度2长度n;类型 数组名=new 类型长度1长度2长度n;数组名下标1下标2下标nComputer Science&TechnologyComputer Science&Technology复制数组复制数组通过通过System类提供的类提供的arraycopy方法,格式如下方法,格式如下其其中中src和和dest分分别别表表示示被被复复制制的的数数组组和和目目的的数数组组。srcpos、destpos和和length分分别别表表示示源源数数组组中中的的开开始始位位置置、目目的的数数组组中中的的开开始始位置和要复制的数组元素的数量。位置和要复制的数组元素的数量。publ

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 初中资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com