




已阅读5页,还剩44页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章,Java语言结构化程序设计,2.1 标识符、关键字和数据类型 2.2 表达式和运算符 2.3 数组 2.4 语句与流程控制,本章目录,2.1 标识符、关键字和数据类型,一、注释与程序段 /单行注释 /*单行或多行注释*/ /*针对JDK工具javadoc的注释*/,每个语句的结尾处用分号“;”标记; 由一对大括号括起来的语句为程序段; 可以使用空格符、制表符和回车符编排程序的格式; 二、字符集和标识符 Java语言采用Unicode字符集; Unicode字符是16bits存储格式,可以是包括中文在内的多国文字。,Java语言的标识符是以字母、下划线或$符号开头的后面含有字母、下划线、$符号和数字的字符串,标识符的长度没有限制,但Java系统最多可以识别前255个字符。 Java标识符中的字母是大小写相关的。,Java标识符使用惯例 类和接口类名和接口名通常用名词,且每个单词的首字母大写; 方法方法名用动词开头的单词序列,首单词全部小写,后面的每个单词首字母大写; 常量常量名全部用大写字母; 变量所有的对象实例名和全局变量名都使用首单词全部小写,后面的每个单词首字母大写的格式;,三、Java语言的关键字 关键字是由系统定义的一些字符串,代表语言中的特定含义。Java语言共规定了48个关键字,Java语言关键字都是小写的。,在标识符中可以包含关键字,但是关键字不能是标识符。,在Java中保留但已经不再使用的关键字:const,goto,数据,基本数据,引用数据,类(class),接口(interface),数组,数值型,字符型(char),布尔型(boolean),整数类型(byte,short,int,long),浮点类型(float,double),Java数据类型,四、Java语言基本数据类型 Java语言共有4类8种基本数据类型。 逻辑类型:boolean 两种取值:“true”和“false”。 注意:在Java语言中,逻辑类型与整数类型不能进行直接转换。这与C和C+语言有明显的不同。,字符类型:char 单个字符被定义为char类型,字符型数据必须用单引号括起来。Java语言使用Unicode字符,使用16位无符号整数来表示一个字符,其取值范围是065535 。 Java语言支持转义字符。 Java语言把字符串定义为一个类String类,它不包括在8种基本数据类型当中,字符串数据必须用双引号括起来,如“ this is a simple program! ”。,整数类型:byte、short、int和long 在Java语言中,共有4种整数类型的数据,分别用关键字byte、short、int和long声明,这4种整数类型的数据都是有符号数。每一种整数类型的数都可以用8进制、10进制或者16进制格式来表示。 整数类型的默认型为int型。,浮点类型:float和double 在Java语言中,共有2种浮点类型的数据,分别用关键字float和double声明,其数据长度分别为32位和64位。 浮点类型的默认型为double型。,五、引用数据类型 除了基本数据类型之外,Java语言中还允许定义引用数据类型,这其中包括数组、类类型和接口类型,将在后面的相应章节中分别介绍。,六、常量 常量是在程序运行中其值保持不变的量。 Java语言中允许用户使用两种常量: 文字常量(Litearl Constant) 符号常量(Symbolic Constant),Java语言的所有基本数据类型都可以定义常量。 其取值范围内的值都可以被表示成文字常量。 用“final”修饰的Java语言标识符为标识符常量,其值在赋值之后将不能再作改动。,七、变量的声明和赋值 Java语言的所有基本数据类型和引用数据类型都可以生成相应的变量。 任何变量、数组、对象实例在使用之前必须经过声明、创建和初始化,否则将无法完成任何操作。 变量的声明是要把代表变量的标识符作出说明 变量的创建是为其分配存储空间,当一个“类变量”或对象被创建后,系统将自动完成初始化工作。 还可以通过对变量赋值的方式给变量赋予所需要的值。,一、运算符 Java语言的运算符基本上继承了C和C+的运算符体系,从形式到功能,包括优先级和结合性与C和C+的运算符非常相似。Java语言继承了大部分C和C+的运算符,多数运算符都保持了原有的定义。 Java语言取消了结构体成员运算符“-”,指针运算符“*”和“&”,长度运算符“sizeof”。,2.2 运算符和表达式,成员运算符和分隔运算符 . () ; , 算术运算符 一元算术运算符:+ - - 二元算术运算符:+ - * / % 强制类型转换符 (type)expression,Java语言不支持变量类型之间的任意转换。 Java语言规定,byte,short,int,long,之间和float,double之间,低存储位数据类型可以直接转换为高存储位数据类型,这在进行算术运算时由系统根据具体情况自动完成。 反之则要使用强制类型转换运算符进行强制类型转换,但是会降低数据精度。 除此之外的类型转换都不被允许。这比C和C+要严格得多。,字符串连接运算符 Java语言扩展了“+”运算符的定义,使其具备连接两个字符串的功能,如 String first=”James” , last=”Gosling”; String name=first+last; 结果为name=JamesGosling。,对象运算符“instanceof” 使用格式为 instancename instanceof classname 其涵义为测试instance是否为类classname的对象实例,是则返回true,否则返回false。,位运算符 一元位运算符: 二元位运算符: 简单右移运算符“”或称为无符号右移运算符,即无论正数还是负数,右移后左边空出的最高位一概补0。例如 1010.2 结果为 111010. 1010.2 结果为 001010. Java语言的位运算被限定为整型数据。,关系运算符 关系运算符: = = = != Java语言中关系运算的结果是逻辑型,当关系成立时结果为true,否则为false。 逻辑运算符 逻辑运算符:! & | & | Java语言由于定义了逻辑型或称布尔型数据,所以定义了逻辑表达式。 在C和C+中,用整型数据替代逻辑型数据。,再次提醒学习过C和C+的人特别注意,整型数据与逻辑型数据不存在互换关系。 Java语言改变了C和C+中对下面6个运算符的定义。 “!”运算符将原有的“逻辑非”运算修改定义为对逻辑数据的“逻辑非”运算; “&”运算符将原有的“按位与”运算修改定义为对两个整数的“按位与”运算和对两个逻辑数据的“逻辑与”运算;,“|”运算符将原有的“按位或”运算修改定义为对两个整数的“按位或”运算和对两个逻辑数据的“逻辑或”运算; “”运算符将原有的“按位异或”运算修改定义为对两个整数的“按位异或”运算和对两个逻辑数据的“逻辑异或”运算; “&”运算符将原有的“逻辑与”运算修改定义为对两个逻辑数据的“逻辑与”运算; “|”运算符将原有的“逻辑或”运算修改定义为对两个逻辑数据的“逻辑或”运算。,需要提醒,“&”和“|”在计算逻辑值时,如果仅靠左运算数即可判定运算结果时,右运算数的值将不被计算,所以它们也被称为“条件与”和“条件或”。而“&”和“|”在计算逻辑值时,总是将两个运算数的值都计算出来之后再作逻辑运算,这是它们的差别所在。 三元条件运算符 a?b:c 赋值运算符和复合赋值运算符 = += -= *= /= %= = = &= |= =,二、Java语言运算符的优先级与结合性,三、表达式 表达式是运算符、常量和变量的遵循语法规则的组合。 Java语言的表达式既可以单独组成语句,也可以出现在选择条件测试、循环条件测试、变量说明、方法的调用参数等场合。,2.3 数组,在Java语言中,数组是一种最简单的引用数据类型,数组实际上是一组变量或对象实例,其类型是相同的。 可以在程序中声明各种基本类型和引用类型的数组。 与C和C+相似,Java语言数组在使用时须经过声明、创建、初始化三个步骤。,一、数组的声明、创建、初始化与释放 数组的声明是定义数组变量标识符,Java语言支持两种完全等价的声明格式: 格式一: char s; Point p; 格式二: char s; Point p; 注意:Java语言在声明数组时不允许指定数组大小。,数组的创建是为数组的元素分配存储空间并进行自动初始化,创建数组使用“new”关键字,格式如下: char s; s = new char10; 或者将声明和创建连在一起完成,如 char s = new char10; 数组的变量标识符是一个引用,数组的创建使得这个引用指向存储数组的内存的首地址。,除了自动初始化之外,还可以采用赋值初始化和静态初始化的方法。赋值初始化方法即通过执行语句为数组的元素赋值。静态初始化即是用大括号将数组元素的值一一列出的方式,即形如 char s = a , c , d , f; 的形式。 数组的释放不需要程序员显式地操作,不再使用的数组由系统作为垃圾自动处理。,二、多维数组 在Java语言中没有多维数组,而是通过定义数组的数组实现多维数组,多维数组的声明、创建和初始化与一维数组相似,如 int twoDim = new int4; 即声明和创建了一个有4个元素的数组,每个元素都是一个数组。,特别要指出的是,Java语言与其他高级语言不同,其多维数组的每一维的长度可以不同。即在上面数组定义基础上,二维数组可以如下初始化 twoDim0 = new int4; twoDim1 = new int2; twoDim2 = new int3; twoDim3 = new int4;,三、数组边界与数组元素的访问 数组长度length是Java语言中规定的一个只读量,作为数组的一部分与数组一同存储,可通过数组名访问该量。如twoDim0.length即代表数组twoDim0的长度。 在Java语言中,数组下标必须是整数类型的常量、变量或表达式,其值必须不超出0到length-1的范围,否则运行时将产生一个ArrayIndexOutofBoundsException。,正是因为有了数组长度变量的作用, Java语言多维数组才可以将其每个元素即子数组定义成互相不同的长度,实际上是其每一个子数组都自己记录了长度信息。 Java语言的这个规定要比C和C+中关于数组的访问要严格得多,这一点体现了Java语言安全性的特点。,2.4 语句与流程控制,一、结构化程序设计中的三种控制结构 顺序结构 选择结构:单选择结构、双选择结构、多选择结构 循环结构,2.4 语句与流程控制,二、选择语句 if-else语句 if(boolean_expression) statement_or_block else statement_or_block,注:先处理数据范围小的,switch语句 switch(expression) case const1:statements;break; case const2:statements;break; default:statements; 其中,expression只能是整数类型或字符型,不能是浮点类型。如省略break,可掉入陷阱,三、循环语句 for循环语句 for(init_expr; boolean; alter_expr) statement_or_block while循环语句 while(boolean) statement_or_block,do-while循环语句 do statement_or_block while(boolean),四、break语句和continue语句 不带label的break语句,完全结束一个循环,跳出循环体; 带label的break语句的格式为 Br
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 评估公司动态管理制度
- 诊所接受属地管理制度
- 诊所诊疗科室管理制度
- 调度电话录音管理制度
- 财务采购生产管理制度
- 账簿数据安全管理制度
- 货物装载清单管理制度
- 货箱生产车间管理制度
- 甲方房子转让协议书范本
- 合作经营绵羊协议书范本
- T-CNCIA 01033-2024 涂料用水性羟基丙烯酸树脂
- 教师资格考试小学科学面试试题及答案指导(2024年)
- 二氧化碳潴留的临床护理
- CMOS数字集成电路知到智慧树章节测试课后答案2024年秋宁波大学
- 母婴三病预防阻断
- 脑瘤手术后护理
- 村委会绿化养护工聘用合同模板
- 2024-2030年中国orc发电行业发展状况规划研究报告版
- 2024年新人教版三年级数学下册《第8单元数学广角 搭配 第3课时》单元整体课件
- 新教材教科版2022-2023学年度第二学期五年级科学下册期末测试卷及答案(含三套题)
- 2024年可行性研究报告投资估算及财务分析全套计算表格(含附表-带只更改标红部分-操作简单)
评论
0/150
提交评论