




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
,Java程序设计任务驱动式教程,主编:孙修东、王永红高职高专规划示范教材,北京航空航天大学出版社,230,目录,任务一搭建环境(构建Java集成开发环境),任务二Java欢迎你(开发简单Java应用程序,任务三小试牛刀(学习Java语言基础),任务四挑战选择(使用分支控制流程),任务五游戏人生(使用循环控制流程),任务六回归自然(创建、使用类和对象),任务七3G时代的消息传递(定义和使用类方法),任务八保护你的隐私(封装的使用),任务九子承父业(继承和多态的使用),任务十上帝万能之手(接口的使用),330,任务十一用数组存储信息(使用数组),任务十二使用字符串进行交流(使用字符串),任务十三防患于未然(捕获并处理异常),任务十四主动出击(抛出异常),任务十五认识JavaApplet(Applet入门),任务十六丰富多彩的Applet(在Applet中播放声音和显示图像),任务十七进入Windows世界(设计图形用户界面),任务十八布局规划(使用布局管理器),任务十九事件委托处理(如何处理事件),任务二十选择之道(使用选择控件和选择事件),目录,430,任务二十一简明清晰的菜单(使用菜单和其他常用事件),任务二十二访问数据(使用JDBC连接数据库),任务二十三访问数据升级(数据库编程),任务二十四文件管理(目录与文件管理),任务二十五顺序进出之道(文件的顺序访问),任务二十六随机进出之道(文件的随机访问),任务二十七JAVA的分身术(创建和启动线程),任务二十八线程的生命周期与优先级(线程的状态与调度),任务二十九基于连接的通信(Java中的套接字Socket),任务三十基于无连接的通信(Java中的数据报编程),目录,530,任务三小试牛刀(学习Java语言基础),2,1,知识目标,能力目标,Java语言标识符和关键字;Java语言数据类型;Java语言运算符与表达式。,正确定义与使用变量、常量;正确使用运算符与表达式进行数值计算程序的处理。,630,内容提要,4,跟我做:计算圆的面积和周长,1,2,3,5,实现方案,代码分析,必备知识,动手做一做,730,3.1跟我做:计算圆的面积和周长,任务情景编写一个程序ComputeArea,当程序运行时,从键盘上输入圆的半径,在控制台输出圆的周长和面积。要求:圆的周长只保留整数部分,舍掉小数部分。运行结果,第1章目录,830,问题分析从技术角度,该程序涉及常量和变量的定义和使用、变量间的算术运算、数据类型转换(包括字符串与基本数据类型的转换和基本数据类型之间的强制类型转换)、基本的输入输出操作和命令行参数的应用。解决步骤1.打开Eclipse,在study项目中创建包com.task03,再确定类名ComputeArea,得到类的框架。packagecom.task03;publicclassComputeArea2.定义所需要的变量和常量。3.使用命令行参数接收从键盘输入的数据。main方法有一个String类型的数组参数,该数组中保存执行Java命令时传递给所运行的类的参数,该参数称为命令行参数。命令行参数与args数组的对应关系如图3-2所示。4.求面积和周长(并将周长进行取整处理)。5.输出圆的面积和周长。,第1章目录,3.2实现方案,930,程序代码packagecom.task03;/创建包com.task03/*ComputeArea.java*从键盘上输入圆的半径,求圆的周长和面积*/publicclassComputeAreapublicstaticvoidmain(Stringargs)finaldoublePI=3.1415926;/定义常量PIdoubler,perimeter,area;intint_p;r=Double.parseDouble(args0);/字符串与数值类型数据进行转换System.out.println(r=+r);perimeter=2*PI*r;int_p=(int)perimeter;/强制类型转换area=PI*r*r;System.out.println(圆的周长(只保留整数部分)为:+int_p);System.out.println(圆的面积为:+area);,第1章目录,3.3代码分析,1030,3.3代码分析,应用扩展上面代码定义了double、int型变量,还可以尝试其他数据类型变量的定义与使用。上面代码将字符串转换成double类型,还可以将字符串转换成int类型等进行字符串、基本数据类型及其包装类间的相互转换。从键盘输入三角形的三边,求三角形的周长和面积的主要代码如下:inta,b,c;doublearea,p;a=Integer.parseInt(args0);b=Integer.parseInt(args1);c=Integer.parseInt(args2);if(a+bc,第1章目录,1130,3.4.1Java中的标识符和关键字程序中使用的各种数据对象如符号常量、变量、方法、类等都需要一定的名称,这种名称叫做标识符(identifier)。Java的标识符由字母、数字、下划线(_)或美元符($)组成,但必须以字母、下划线和美元符开始。Java标识符是大小写敏感的,没有字符数的限制。下面是合法的标识符:identifieruserNameUser_name_sys_varl$change下面是非法的标识符:class98.3HelloWorld关键字就是保留字,是指那些具有特殊含义和用途的、不能当作一般标识符使用的字符序列,这些特殊的字符序列由Java系统定义和使用,所以,程序员在代码中定义标识符时不能跟关键字重名。在Java语言中常见的关键字如表3-1所示,大家就留个初步的印象吧。,第1章目录,3.4必备知识,1230,3.4必备知识,表3-1Java语言的数据类型,第1章目录,1330,3.4.2Java程序的注释为程序添加注释可以用来解释程序的某些部分的作用和功能,提高程序的可读性。也可以使用注释在程序中插入你的个人信息。此外,你还可以使用注释来暂时屏蔽某些程序语句,让编译器暂时不要理会这些语句,等到需要时,只需简单地取消注释标记,这些语句又可以发挥作用了。Java程序的注释根据不同的用途分为三种类型:单行注释,多行注释,文档注释。单行注释,就是在注释内容前面加双斜线(/),Java编译器会忽略掉这部分信息。如下例:inta=10;/定义一个整型变量多行注释,就是在注释内容前面以单斜线加一个星形标记(/*)开头,并在注释内容末尾以一个星形标记加单斜线(*/)结束。当注释内容超过一行时一般使用这种方法。如:/*inta=10;intb=100;*/文档注释,是以单斜线加两个星形标记(/*)开头,并以一个星形标记加单斜线(*/)结束。放在声明(变量、方法或类的声明)之前的文档注释用以说明该程序的层次结构及其方法。文档注释提供将程序使用帮助信息嵌入到程序中的功能。,第1章目录,3.4必备知识,1430,3.4必备知识,3.4.3Java语言的数据类型Java语言的数据类型有简单类型(也称为原始数据类型或基本数据类型)和复合类型(也称为引用数据类型)。如表3-2所示。与其他编程语言不同的是,Java的基本数据类型在任何操作系统中都具有相同的大小和属性,不像C语言,在不同的系统中变量的取值范围不一样。与其他编程语言不同的是,Java的基本数据类型在任何操作系统中都具有相同的大小和属性,不像C语言,在不同的系统中变量的取值范围不一样。在Java语言中字符皆用16个二进制位表示,所以Java语言设计了一个用8个二进制位来表示的byte数据类型,可用来表示ASCII码。在Java语言中,逻辑型(boolean)数据不再与整数相关,而是独立作为一种数据类型,并且不能与整数有任何自动转换关系。在Java语言中,char是唯一的无符号表示的数据类型。如果将char转换为int或者short,很可能得到一个负数。浮点类型的数据被0除时不会报错,而是输出“Infinity”,编程时一定要小心。很多编程语言中的字符串(String)和数组,在Java语言中不是基本数据类型而是做为对象处理,将在后面介绍。Java语言中所有的基本数据类型变量在被声明之后,就会从内存中分配到相应大小的空间,用以存放初始值或缺省值,当读写数据时,直接对这一内存进行操作。,第1章目录,1530,3.4必备知识,表3-2Java语言的数据类型,第1章目录,1630,3.4.4Java中的常量常量是在程序运行过程中其值始终不改变的量。常量分为直接常量和符号常量两种。直接常量就是不使用任何标识符直接引用其值的常量。使用数值型直接常量有时会引起多义性。例如直接常量“0”,就可能是byte或short或int或long或float或double类型的,为了避免这种情况的发生,不加后缀时默认为int类型。Java为long、float和double类型的直接常量规定了使用后缀的方式,而对于byte和short类型的直接常量则只能使用强制数据类型转换。符号常量就是使用标识符引用其值的常量。符号常量的定义要用关键字final,先定义一个标识符,然后通过标识符读取其值的常量。符号常量一经定义,其值不能再被改变,每一个符号常量都有其数据类型和作用范围。按照一般的习惯,常量标识符中的英文字母使用大写字母。定义符号常量的格式为:final数据类型符符号常量标识符=常量值;如:finaldoublePI=3.1415926;这里PI就是符号常量。在程序中如果试图改变PI的值,则系统会给出错误信息。,第1章目录,3.4必备知识,1730,3.4.5Java中的变量在程序运行期间,系统可以为程序分配一块内存单元,用来存储各种类型的数据。系统分配的内存单元要使用一个标记符来标识,这种内存单元中的数据是可以更改的,所以叫变量。变量是在程序运行过程中其值能够改变的量,通常用来保存计算结果或中间数据。在Java语言中变量必须先声明后使用,并且应当为变量赋初始值。变量是Java程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。变量名的命名要符合标识符的命名规则。,3.4必备知识,1830,变量的定义格式如下:数据类型符变量名=变量的值;如:intcount;/声明或定义一个整型变量countcount=100;/为变量count赋初值booleanb=true;/声明一个布尔型变量b,并为变量赋初值charc=A;/声明一个字符型变量c,并为变量赋初值Strings=”Hello”;/声明一个字符串变量s,并为变量赋初值变量的作用域是指变量的有效范围或生存周期,它决定了变量的“可见性”以及“存在时间”。在Java里,一对花括号中间的部分就是一个代码块,代码块决定其中定义的变量的作用域。变量的有效范围或生存周期就是声明该变量时所在的代码块,也就是用一对大括号括起的范围。一旦程序的执行离开了定义它的代码块,变量就变得没有意义,也就不能再被使用了。,3.4必备知识,1930,3.4.6类型转换Java程序里,将一种数据类型的常量或变量转换到另外的一种数据类型,称为类型转换。类型转换有三种:自动类型转换(或称隐式类型转换)、强制类型转换(或称显式类型转换)、字符串类型与数值类型的转换。1.不同数据类型间的优先关系低-高byte,short,char-int-long-float-double2.自动类型转换自动类型转换允许在赋值和计算时由编译系统按一定的优先次序自动完成。通常,低精度类型到高精度的类型转换由系统自动转换。(1)将一种低级数据类型的值赋给另外一种高级数据类型变量,如果这两种类型是兼容的,Java将执行自动类型转换。所有的数值类型,包括整型和浮点型都可以进行这样的转换。如:inta=125;longb=a;/变量a自动转换成long型,再赋给变量b(2)整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级,转换规则见表3-4。,3.4必备知识,2030,3.强制类型转换当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,自动转换无法进行,这时就需要进行强制类型转换。强制类型转换是将高精度数据类型转换到低精度数据类型,可以通过赋值语句来实现,此时强制类型转换的格式为:目标数据类型变量名=(目标数据类型)变量名或值例如:inti;byteb=(byte)i;/*把int型变量i强制转换为byte型,赋给byte型变量b,值得注意的是,变量i本身不会发生任何变化*/4.字符串类型与数值类型的转换java.lang包中的Integer类(Integer类是基本数据类型int的包装类),调用其类方法:publicstaticintparseInt(Strings)可以将“数字”格式的字符串,如“123”,转换为int型数据。例如:inti=Integer.parseInt(“123”);同理,java.lang包中的Double类(Double类是基本数据类型double的包装类),调用其类方法:publicstaticdoubleparseDouble(Strings)可以将“数字”格式的String类型数据转换成double类型数据。例如:doubled=Double.parseDouble(“123.56”);,3.4必备知识,2130,3.4.7运算符对各种类型的数据进行加工的过程称为运算,表示各种不同运算的符号称为运算符,参与运算的数据称为操作数,按操作数的数目来分,可有:一元运算符(也称单目运算符):,二元运算符(也称双目运算符):,三元运算符(也称三目运算符):?:基本的运算符按功能划分,有下面几类:算术运算符+(加)-(减)*/%+-+(取正)-(取负)关系运算符=条件运算符表达式1?表达式2:表达式3赋值运算符=+=-=*=/=%=字符串连接运算符+其它运算符().,3.4必备知识,2230,1.算术运算符算术运算符使用数字操作数,这些运算符主要用于数学计算。加减乘除的四则运算相信大家都很熟悉了,在此不再多说,这里给出表3-5供大家参考。说明:(1)算术运算符的总体原则是先乘除、再加减,括号优先。(2)对于除法运算符“/”,它的整数除和小数除是有区别的:整数除法会直接砍掉小数,而不是进位。如:intx=3510;x=x/1000;这两句代码执行后,x的结果是3,而不是3.51。(3)与C语言不同,在Java中,对取余运算符%来说,其操作数可以为浮点数。如:37.2%10=7.2。(4)自增(+)、自减(-)运算符的种类与用法如表3-6所示。+x和x+的作用相当于x=x+1,但+x和x+的不同之处在于+x是先执行x=x+1再使用x的值;而x+是先使用x的值后,再执行x=x+1。这类运算符常用于控制循环变量。而且自增、自减运算符只能用于变量,而不能用于常量和表达式,例如8+与(a+c)+是没有意义,也是不合法的。(5)“+”除字符串相加功能外,还能将字符串与其他的数据类型相连成一个新的字符串,条件是表达式中至少有一个字符串,如:“x”+123;的结果是“x123”。,3.4必备知识,2330,Java的表达式就是用运算符连接起来的符合Java规则的式子。Java的运算符都有不同的优先级。所谓优先级就是在表达式运算中的运算顺序,运算符的优先级决定了表达式中运算执行的先后顺序。Java的运算符都具有结合性,运算符的结合性决定了并列相同级别的运算符的先后顺序。在学习运算符的过程中,除了要学习不同运算符的基本用法,还要学习不同的运算符的优先级和结合性。,3.4必备知识,2430,2.关系运算符关系运算符用于测试两个操作数之间的关系。通过两个值的比较,得到一个boolean(逻辑)型的比较结果,其值为“true”或“false”。在Java语言中“true”或“false”不能用“1”或“0”来表示。Java语言共有7种关系运算符,它们都是二元运算符,如表3-7所示。关系运算符常常用于逻辑判断,如用在if结构控制分支和循环结构控制循环等处。关系运算符“=”不能误写成“=”,否则那就不是比较了,整个语句就变成了赋值语句。3.逻辑运算符逻辑运算符的操作数必须是boolean型的,运算的结果都是boolean型。逻辑运算符包括:/赋值运算符遵循从右至左的结合性,相当于x=(y=(z=5)在这个语句中,所有三个变量都得到同样的值5。,3.4必备知识,2730,6.位运算符众所周知,任何信息在计算机中都是以二进制的形式存在的,位运算符对操作数中的每一个二进制位都进行运算。Java语言中的位运算符如表3-10中所示。7.运算符的优先级和结合性在Java语言中,每个运算符分属于各个优先级,同时,每个运算符具有特定的结合性。有的具有左结合性,即自左至右的结合原则;有的具有右结合性,即自右至左的结合原则。运算符在表达式中的执行顺序为:首先遵循优先级原则,优先级高的运算符先执行。在优先级同级的运算符之间遵守结合性原则,或自左至右,或自右至左。表3-11中给出了各种运算符的功能说明、优先级和结合性,绝大部分在以上各小节已经分别介绍过。需要补充
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 掘进机司机培训考试题及答案
- 单漂流送工设备维护与保养考核试卷及答案
- 粗纱工协同作业考核试卷及答案
- 浇冰师安全规范考核试卷及答案
- 盐酸生产工协同作业考核试卷及答案
- 2025年农学知识考试题目及答案
- 驾驶员酒驾考试题及答案
- 数控铣床操作工职业技能鉴定(中级)应知考核试题及参考答案
- 天然药物化学大专题库(含答案)
- 内燃机调试工工艺考核试卷及答案
- 软装事业部成本控制计划
- 2025年江苏二级造价工程师考试《建设工程造价管理基础知识》真题(含答案)
- 光伏土建培训课件
- 爱心义卖班会课课件
- 化验员职业技能培训考试题库及答案(含各题型)
- 2025年广东省中考历史试题卷(含答案详解)
- 大米直播促销活动方案
- 阴挺的中医护理
- 2025-2030中国便携式卫星通信终端行业前景动态与投资战略研究报告
- 过敏反应的防治与治疗讲课件
- 2025至2030年中国石油石化装备制造行业市场现状分析及投资前景研判报告
评论
0/150
提交评论