




已阅读5页,还剩49页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
面向对象程序设计Java,张聚礼副教授系统分析师zhjl兰州理工大学计通学院,2,第3章Java基本程序设计,3,主要内容:,介绍Java的程序结构基本数据类型Java语言中的结构化部分,4,3.1基本知识,Java语言采用unicode字符集,含有65535个字符,所以字母包括下面几种:A-Za-z汉字日文片假名平假名朝鲜文,5,Unicode码演示程序,运行结果如右图:,Unicode.java,6,标识符,标识符由字母、下划线、美元符号和数字组成,且第一个符号不能为数字。标识符可用作:类名、变量名、方法名、数组名、文件名等。例如:Hello、$1234、程序名、www_123,7,关键字,Java语言中已经被赋予特定意义的一些单词如图所示:,8,注释,1./注释内容由/一直到此行结束2./*和*/定义一个注释块3./*开始,*/结束这种注释方法可用来自动产生文档doc,这种注释方式是Java特有的,9,一个有基本注释的小程序,/*这是一个Java的小例子*/publicclassHello/定义一个类publicstaticvoidmain(Stringargs)System.out.println(“你好!”);/输出,10,3.2基本数据类型,Java中数据类型分为四种:基本数据类型(primitivetype)数组类型(arraytype)类(classtype)接口类型(interfacetype)任何常量和变量都是上述四种数据类型之一。,11,基本数据类型一,布尔型只有两个值true(真)和false(假)一般用于逻辑测试一个布尔型变量的默认初始值为false1.布尔常量:true、false2.布尔变量的定义:booleanx;booleanx,y,tom;定义的同时可赋值:booleanx=true,tom=false;,12,基本数据类型二,字符类型字符常量字符常量足用单引号括起来的一个字符字符变量字符型变量的类型为char,它在机器中占两个字节,16位,其范围为065535变量定义:charq;charc,type,cat;定义同时可赋值:charc=a,type,cat;,13,基本定义类型三,整数类型1.整数常量:123,6000(十进制数),077(八进制数),0 x3ABC,0 xab12(十六进制数)2.整数变量定义intx;inttom_12,jiafei,年龄定义同时可赋值:inttom_12=100,jiafei,年龄20;,14,基本定义类型四,1.浮点常量float型常量:12.23f,32.00F,2e40fdouble型常量:12.23d,32.00D,123.0,6e-120Java提供的几个特殊实常数如下表:,15,基本定义类型四(续),2.浮点变量变量的定义:floatx;floatx1,x2,x3;定义时赋初值:floatx1=12.23f,x2=32.00f,x3;变量定义:doubled;doubled1,d2,d3;定义时可以赋初值:doubled1=1223.f,d2=32.00d,d3;浮点数的默认初始值为0.0,当然,局部变量除外。,16,Java的基本数据类型,常数测试程序:ConstantTest.java,17,3.3基本数据类型转换,整型、实型、字符型数据混合运算时,从低级到高级的优先关系如下:这些类型按精度从低到高排列了顺序:byteshortintlongfloatdouble,18,低级数据向高级数据的自动转换规则,19,自动类型转换,类型转换程序如下:Promotion.java,运行结果如右图:,20,强制类型转换,当把级别高的变量的值赋给级别低的变量时,必须使用显示类型转换运算当把一个整数赋值给一个byte,short,int或long类型变量时,不可以超出这些变量的取值范围,否则必须进行类型转换运算例如intx=(int)34.89;longy=(long)56.98fbytea=(byte)128byteb=(byte)(-129);,21,强制转换导致精度损失程序PrecisionLost.java,运行结果如右图所示:,22,3.4Java类库中对简单类型数据的类包装,简单数据类型包装类层次结构,23,3.5表达式,表达式是由变量、常量、对象、方法调用和操作符组成的式子。例:a+b*c/2-max(x,y)表达式的值就是对它运算后所得的结果。若a=4,b=5,c=6,x=7,y=9,则上述表达式的结果为:10,24,Java运算符之一:,赋值运算其格式为:变量或对象=表达式;Java中的扩展赋值运算符及等价的表达式如下:,25,Java运算符之二:,算术运算符只有整数类型(intlongshort)的数据才能够进行取余运算,float和double类型的数据不能够进行曲取余运算。两个整数类型的数据做除法时,结果是截取商的整数部分,而小数部分被截断。如果希望保留小数部分,则应该对除法运算的操作数做强制类型转换。例如1/4的结果是0,而(float)1/4的结果是0.25。,26,Java运算符之三:,关系运算符关系运算的结果返回true或false,而不是C、C+中的l或0。关系运算符常与布尔逻辑运算符一起使用,作为流控制语句的判断条件。,27,Java运算符之四:,布尔逻辑运算符逻辑运算是针对布尔型数据进行的运算,运算的结果仍然是布尔型。常用的逻辑运算符如表:,28,Java运算符之五:,位运算符位运算符中,除“”以外,其余均为二元运算符,29,Java运算符之六:,条件运算符?:条件运算符也称三目运算符,其格式为:Expression?statement1:statement2;它的作用是根据第一个运算符(放在?前面,必须为布尔类型数据)的真假值,来决定整个表达式的结果值是第二个运算量(放在?后面:前面)或者是第三个运算量(放在:后面)。,30,其他运算符,Java还提供其他运算符,主要有如下几种:分量运算符.内存分配运算符new方法调用运算符()下标运算符实例运算符instanceof,31,运算符的优先级与结合性,表达式的类型运算符的优先次序Java运算符的优先级与结合性如下表格:,AllOps.java,32,3.6语句,1.方法调用语句通过对象可以调用类中的方法产生行为。2.表达式语句一个表达式的末尾加上一个分号就构成了一个语句3.复合语句用把一些语句括起来就构成了一个语句4.控制语句控制语句包括条件分支语句、循环语句和跳转语句。5.packege语句和import语句package语句和import语句与类、对象有关,将在以后章节中介绍。,33,Java语言控制语句有以下3种:,条件语句循环语句转移语句,34,3.7Java的条件语句,Java语言的条件语句有以下3种:1.if条件语句,FindMax.java,35,2.if的扩充形式,Division.java,36,3.switch语句,switch语句是多分支选择语句,它的一般语法格式如下:switch(表达式)case判断值1:语句块1;break;case判断值2:语句块2;break;case判断值n:语句块n;break;default:语句块n+1;,GradeLevel.java,37,循环语句,循环语句分为三种:forwhiledo-while,38,1.for语句,for语句是Java语言中使用最多、最灵活、最有效的循环结构。其一般语法格式如下:for(表达式1;表达式2;表达式3)循环体先对表达式1进行求值。在整个循环进程中,表达式1只被执行一次。判断表达式2的值,若为true,则重复执行循环体和表达式3所表示的操作,这个过程一直进行到表达式2的值为false,使for循环终止。,39,例:求1100整数之和。,1-100自然数之和程序运行结果如下:,ForSum100.java,40,2while语句,while循环语句是Java语言的最基本循环结构,它的一般语法格式如下:while一般格式:while(表达式)若干语句while语句的执行过程是先判断条件表达式的值,若为真,则执行循环体,循环体执行完毕后,再转向条件表达式进行计算与判断,直到条件表达式的值为假时,跳过循环体执行while语句后面的语句。,41,例:求100-999之间所有的水仙花数。,求解水仙花数程序运行结果如下:,Narcissus.java,42,3.dowhile语句,在条件表达式的初始值为假,而循环体至少要执行一次才能结束循环的情况下,可以考虑用dowhile语句实现具有这样特点的循环。它的一般语法格式如下:do语句序列while(表达式)dowhile语句的特点是:先执行循环体,后判断条件表达式。无论条件表达式的值为真还是为假,循环体都至少被执行一次。,IntReverse.java,43,转移语句,1.continue语句continue语句用来结束本次循环,跳过循环体中下面尚未执行的语句,接着进行终止条件的判断,以决定是否继续循环。2.break作用:结束整个循环的执行,转到下一语句3.return语句Java的返回语句与Java的方法紧密相关,当程序执行到此语句时,将立即返回上一级方法。,44,3.8package语句,用于指明源文件定义的类所在的包一般格式:package包名例:packageexam;package一定是源文件的第一条语句。,45,3.9import语句,功能:用于引入所需要的类Java提供了60个包,常用的包如下:Java.applet.实现JavaApplet的类java.awt.抽象窗口工具集,包含了图形、文本、窗口GUI类java.awt.image.抽象窗口工具集中的图象处理类java.lang.基本语言类java.io.输入输出类.所有实现网络功能的类java.until.有用的数据类型类java.awt.peer.平台无关的GUI工具集界面,46,3.10数组,1.声明数组格式:数组元素类型数组名字或者:数组元素类型数组名字;二维数组:数组元素类型数组名字或者:数组元素类型数组名字;,47,2.创建数组,声明数组仅仅是给出了数组名字和元素的数据类型,要想真正使用数组还必须为他分配内存空间,即创建数组。在为数组分配内存空间是必须指明数组的长度,其格式如下:数组名字=new数组元素的类型数组元素的个数;,48,二维数组,日常生活中处理的许多数据,从逻辑上看是由若干行、若干列组成的。图1给出了一个简单的矩阵。为适应存放这样一类数据人们设计出了如图2所示的二维数组这种数据结构。,图1矩阵,图2二维数组,49,二维数组的声明,二维数组声明同样也是为数组命名和指定其数据类型,不为数组元素分配内存。二维数组的初始化也有直接指定初值的方式和用new操作符的方式两种。,1用new操作符初始化数组2直接指定初值的方式,二维数组实际上是每个一维数组的元素也是一个一维数组,MultiDimArray.java,50,3.11字符串String类,Java没有字符串类型用String类来创建一个字符串变量,因此字符串变量是一个类类型变量,即是一个对象。可以用String类的构造方法:String(字符串常量)来构造字符串,51,字符串常用操作,串连接(+)获取串长度方法(length())字符串与数值的转化数值转化为字符字符串检索获得字符串的子串获得对象的字符串表示字符串其他方法,52,3.12StringBuffer类,StringBuffer类提供三种创建方法:publicStringBuffer();创建一个空的StringBuffer类。publicStringBuffer(intlength);创建一个大小为length的StringBuffer类。publicStringBuffer(Stringstr);按str创建一个动态可变的StringBuffer类。,StringEx.java,53,StringBuffer的主要方法:,publicintlength();返回缓冲区的字符数。publicintcapacity();返回缓冲区剩余空间。publicsynchronizedStringBufferappend(typevariable);把variable转换为字符串,然后与当前字符串连接。publicsynchronizedStringBufferappend(Char(charch);把字符ch连接到当前串尾。publicsynchronizedStringBufferinsert(intoffset
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030电液执行器行业运行监测分析及产销前景规模研究报告
- 2025至2030中国高清视频采集卡市场发展态势及营销策略咨询报告
- 2025至2030中国锶铁氧体市场发展机遇及可持续发展建议报告
- 2025至2030中国超临界发泡材料产业前景战略规划与供需规模研究报告
- 2025至2030中国葡萄糖酸钙市场需求深度调研与未来发展前景研究报告
- 2025至2030中国硅胶围兜行业经营风险预测及销售渠道研究报告
- 2025至2030中国电解锰废渣处理行业发展格局探讨及运行形势分析监测报告
- 2025至2030中国氦气回收纯化市场供需预测与投资策略经营现状报告
- 2025至2030中国核桃露市场投资风险预测及经营策略规划报告
- 2025至2030中国微藻生物燃料市场经营管理风险及投资战略研究报告
- 焊材发放与回收及焊条烘干记录记录表
- 菠萝蛋白酶的影响因素及影响其酶活力的因素
- 前言 马克思主义中国化时代化的历史进程与理论成果
- 酒精依赖症研究白皮书
- 服装高级定制技术
- 职业高中高二上学期期末英语试题卷(含答案)1697
- 幼儿园中班语言《春雨的吉他》PPT
- 21ZJ111 变形缝建筑构造
- 第1章 健康风险与健康保险《健康保险学》教学课件
- 天然气管道置换记录表
- 学前幼儿园-《守卫国家安全的人》教学课件设计
评论
0/150
提交评论