Java程序设计任务驱动式教程03章.ppt

上传人:牧羊曲112 文档编号:6509959 上传时间:2023-11-07 格式:PPT 页数:30 大小:708.50KB
返回 下载 相关 举报
Java程序设计任务驱动式教程03章.ppt_第1页
第1页 / 共30页
Java程序设计任务驱动式教程03章.ppt_第2页
第2页 / 共30页
Java程序设计任务驱动式教程03章.ppt_第3页
第3页 / 共30页
Java程序设计任务驱动式教程03章.ppt_第4页
第4页 / 共30页
Java程序设计任务驱动式教程03章.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《Java程序设计任务驱动式教程03章.ppt》由会员分享,可在线阅读,更多相关《Java程序设计任务驱动式教程03章.ppt(30页珍藏版)》请在三一办公上搜索。

1、,Java程序设计任务驱动式教程,主编:孙修东、王永红高职高专规划示范教材,北京航空航天大学出版社,2,目录,任务一 搭建环境(构建Java集成开发环境),任务二 Java欢迎你(开发简单Java应用程序,任务三 小试牛刀(学习Java语言基础),任务四 挑战选择(使用分支控制流程),任务五 游戏人生(使用循环控制流程),任务六 回归自然(创建、使用类和对象),任务七 3G时代的消息传递(定义和使用类方法),任务八 保护你的隐私(封装的使用),任务九 子承父业(继承和多态的使用),任务十 上帝万能之手(接口的使用),3,任务十一 用数组存储信息(使用数组),任务十二 使用字符串进行交流(使用字

2、符串),任务十三 防患于未然(捕获并处理异常),任务十四 主动出击(抛出异常),任务十五 认识Java Applet(Applet入门),任务十六 丰富多彩的Applet(在Applet中播放声音和显示图像),任务十七 进入Windows世界(设计图形用户界面),任务十八 布局规划(使用布局管理器),任务十九 事件委托处理(如何处理事件),任务二十 选择之道(使用选择控件和选择事件),目录,4,任务二十一 简明清晰的菜单(使用菜单和其他常用事件),任务二十二 访问数据(使用JDBC连接数据库),任务二十三 访问数据升级(数据库编程),任务二十四 文件管理(目录与文件管理),任务二十五 顺序进出

3、之道(文件的顺序访问),任务二十六 随机进出之道(文件的随机访问),任务二十七 JAVA的分身术(创建和启动线程),任务二十八 线程的生命周期与优先级(线程的状态与调度),任务二十九 基于连接的通信(Java中的套接字Socket),任务三十 基于无连接的通信(Java中的数据报编程),目录,5,任务三 小试牛刀(学习Java语言基础),2,1,知识目标,能力目标,Java语言标识符和关键字;Java语言数据类型;Java语言运算符与表达式。,正确定义与使用变量、常量;正确使用运算符与表达式进行数值计算程序的处理。,6,内容提要,4,跟我做:计算圆的面积和周长,1,2,3,5,实现方案,代码分

4、析,必备知识,动手做一做,7,3.1 跟我做:计算圆的面积和周长,任务情景编写一个程序ComputeArea,当程序运行时,从键盘上输入圆的半径,在控制台输出圆的周长和面积。要求:圆的周长只保留整数部分,舍掉小数部分。运行结果,第1章目录,8,问题分析从技术角度,该程序涉及常量和变量的定义和使用、变量间的算术运算、数据类型转换(包括字符串与基本数据类型的转换和基本数据类型之间的强制类型转换)、基本的输入输出操作和命令行参数的应用。解决步骤1.打开Eclipse,在study项目中创建包com.task03,再确定类名ComputeArea,得到类的框架。package com.task03;p

5、ublic class ComputeArea 2.定义所需要的变量和常量。3.使用命令行参数接收从键盘输入的数据。main方法有一个 String类型的数组参数,该数组中保存执行Java命令时传递给所运行的类的参数,该参数称为命令行参数。命令行参数与args数组的对应关系如图3-2所示。4.求面积和周长(并将周长进行取整处理)。5.输出圆的面积和周长。,第1章目录,3.2 实现方案,9,程序代码package com.task03;/创建包com.task03/*ComputeArea.java*从键盘上输入圆的半径,求圆的周长和面积*/public class ComputeArea pu

6、blic static void main(String args)final double PI=3.1415926;/定义常量PIdouble r,perimeter,area;int int_p;r=Double.parseDouble(args0);/字符串与数值类型数据进行转换System.out.println(r=+r);perimeter=2*PI*r;int_p=(int)perimeter;/强制类型转换area=PI*r*r;(圆的周长(只保留整数部分)为:+int_p);(圆的面积为:+area);,第1章目录,3.3 代码分析,10,3.3 代码分析,应用扩展上面代码

7、定义了double、int型变量,还可以尝试其他数据类型变量的定义与使用。上面代码将字符串转换成double类型,还可以将字符串转换成int类型等进行字符串、基本数据类型及其包装类间的相互转换。从键盘输入三角形的三边,求三角形的周长和面积的主要代码如下:int a,b,c;double area,p;a=Integer.parseInt(args0);b=Integer.parseInt(args1);c=Integer.parseInt(args2);if(a+bc,第1章目录,11,3.4.1 Java中的标识符和关键字程序中使用的各种数据对象如符号常量、变量、方法、类等都需要一定的名称,

8、这种名称叫做标识符(identifier)。Java的标识符由字母、数字、下划线(_)或美元符($)组成,但必须以字母、下划线和美元符开始。Java标识符是大小写敏感的,没有字符数的限制。下面是合法的标识符:identifier userName User_name _sys_varl$change下面是非法的标识符:class 98.3 Hello World关键字就是保留字,是指那些具有特殊含义和用途的、不能当作一般标识符使用的字符序列,这些特殊的字符序列由Java系统定义和使用,所以,程序员在代码中定义标识符时不能跟关键字重名。在Java语言中常见的关键字如表3-1所示,大家就留个初步的

9、印象吧。,第1章目录,3.4 必备知识,12,3.4 必备知识,表3-1 Java语言的数据类型,第1章目录,13,3.4.2 Java程序的注释为程序添加注释可以用来解释程序的某些部分的作用和功能,提高程序的可读性。也可以使用注释在程序中插入你的个人信息。此外,你还可以使用注释来暂时屏蔽某些程序语句,让编译器暂时不要理会这些语句,等到需要时,只需简单地取消注释标记,这些语句又可以发挥作用了。Java程序的注释根据不同的用途分为三种类型:单行注释,多行注释,文档注释。单行注释,就是在注释内容前面加双斜线(/),Java编译器会忽略掉这部分信息。如下例:int a=10;/定义一个整型变量多行注

10、释,就是在注释内容前面以单斜线加一个星形标记(/*)开头,并在注释内容末尾以一个星形标记加单斜线(*/)结束。当注释内容超过一行时一般使用这种方法。如:/*int a=10;int b=100;*/文档注释,是以单斜线加两个星形标记(/*)开头,并以一个星形标记加单斜线(*/)结束。放在声明(变量、方法或类的声明)之前的文档注释用以说明该程序的层次结构及其方法。文档注释提供将程序使用帮助信息嵌入到程序中的功能。,第1章目录,3.4 必备知识,14,3.4 必备知识,3.4.3 Java语言的数据类型Java语言的数据类型有简单类型(也称为原始数据类型或基本数据类型)和复合类型(也称为引用数据类

11、型)。如表3-2所示。与其他编程语言不同的是,Java的基本数据类型在任何操作系统中都具有相同的大小和属性,不像C语言,在不同的系统中变量的取值范围不一样。与其他编程语言不同的是,Java的基本数据类型在任何操作系统中都具有相同的大小和属性,不像C语言,在不同的系统中变量的取值范围不一样。在Java语言中字符皆用16个二进制位表示,所以Java语言设计了一个用8个二进制位来表示的byte数据类型,可用来表示ASCII码。在Java语言中,逻辑型(boolean)数据不再与整数相关,而是独立作为一种数据类型,并且不能与整数有任何自动转换关系。在Java语言中,char是唯一的无符号表示的数据类型

12、。如果将char转换为int或者short,很可能得到一个负数。浮点类型的数据被0除时不会报错,而是输出“Infinity”,编程时一定要小心。很多编程语言中的字符串(String)和数组,在Java语言中不是基本数据类型而是做为对象处理,将在后面介绍。Java语言中所有的基本数据类型变量在被声明之后,就会从内存中分配到相应大小的空间,用以存放初始值或缺省值,当读写数据时,直接对这一内存进行操作。,第1章目录,15,3.4 必备知识,表3-2 Java语言的数据类型,第1章目录,16,3.4.4 Java中的常量常量是在程序运行过程中其值始终不改变的量。常量分为直接常量和符号常量两种。直接常量

13、就是不使用任何标识符直接引用其值的常量。使用数值型直接常量有时会引起多义性。例如直接常量“0”,就可能是byte或short或int或long或float或double类型的,为了避免这种情况的发生,不加后缀时默认为int类型。Java为long、float和double类型的直接常量规定了使用后缀的方式,而对于byte和short类型的直接常量则只能使用强制数据类型转换。符号常量就是使用标识符引用其值的常量。符号常量的定义要用关键字final,先定义一个标识符,然后通过标识符读取其值的常量。符号常量一经定义,其值不能再被改变,每一个符号常量都有其数据类型和作用范围。按照一般的习惯,常量标识符

14、中的英文字母使用大写字母。定义符号常量的格式为:final 数据类型符 符号常量标识符=常量值;如:final double PI=3.1415926;这里PI就是符号常量。在程序中如果试图改变PI的值,则系统会给出错误信息。,第1章目录,3.4 必备知识,17,3.4.5 Java中的变量在程序运行期间,系统可以为程序分配一块内存单元,用来存储各种类型的数据。系统分配的内存单元要使用一个标记符来标识,这种内存单元中的数据是可以更改的,所以叫变量。变量是在程序运行过程中其值能够改变的量,通常用来保存计算结果或中间数据。在Java语言中变量必须先声明后使用,并且应当为变量赋初始值。变量是Java

15、 程序中的基本存储单元,它的定义包括变量名、变量类型和作用域几个部分。变量名的命名要符合标识符的命名规则。,3.4 必备知识,18,变量的定义格式如下:数据类型符 变量名=变量的值;如:int count;/声明或定义一个整型变量countcount=100;/为变量count赋初值boolean b=true;/声明一个布尔型变量b,并为变量赋初值char c=A;/声明一个字符型变量c,并为变量赋初值String s=”Hello”;/声明一个字符串变量s,并为变量赋初值变量的作用域是指变量的有效范围或生存周期,它决定了变量的“可见性”以及“存在时间”。在Java里,一对花括号中间的部分就

16、是一个代码块,代码块决定其中定义的变量的作用域。变量的有效范围或生存周期就是声明该变量时所在的代码块,也就是用一对大括号括起的范围。一旦程序的执行离开了定义它的代码块,变量就变得没有意义,也就不能再被使用了。,3.4 必备知识,19,3.4.6 类型转换Java程序里,将一种数据类型的常量或变量转换到另外的一种数据类型,称为类型转换。类型转换有三种:自动类型转换(或称隐式类型转换)、强制类型转换(或称显式类型转换)、字符串类型与数值类型的转换。1.不同数据类型间的优先关系 低-高byte,short,char-int-long-float-double2.自动类型转换自动类型转换允许在赋值和计

17、算时由编译系统按一定的优先次序自动完成。通常,低精度类型到高精度的类型转换由系统自动转换。(1)将一种低级数据类型的值赋给另外一种高级数据类型变量,如果这两种类型是兼容的,Java将执行自动类型转换。所有的数值类型,包括整型和浮点型都可以进行这样的转换。如:int a=125;long b=a;/变量a自动转换成long型,再赋给变量b(2)整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化为同一类型,然后进行运算,转换从低级到高级,转换规则见表3-4。,3.4 必备知识,20,3.强制类型转换当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,自动转换无法进行,这时就需要进

18、行强制类型转换。强制类型转换是将高精度数据类型转换到低精度数据类型,可以通过赋值语句来实现,此时强制类型转换的格式为:目标数据类型 变量名=(目标数据类型)变量名或值例如:int i;byte b=(byte)i;/*把int型变量i强制转换为byte型,赋给byte型变量b,值得注意的是,变量i本身不会发生任何变化*/4.字符串类型与数值类型的转换java.lang包中的Integer类(Integer类是基本数据类型int的包装类),调用其类方法:public static int parseInt(String s)可以将“数字”格式的字符串,如“123”,转换为int型数据。例如:in

19、t i=Integer.parseInt(“123”);同理,java.lang包中的Double类(Double类是基本数据类型double的包装类),调用其类方法:public static double parseDouble(String s)可以将“数字”格式的String类型数据转换成double类型数据。例如:double d=Double.parseDouble(“123.56”);,3.4 必备知识,21,3.4.7 运算符对各种类型的数据进行加工的过程称为运算,表示各种不同运算的符号称为运算符,参与运算的数据称为操作数,按操作数的数目来分,可有:一元运算符(也称单目运算符)

20、:,二元运算符(也称双目运算符):,三元运算符(也称三目运算符):?:基本的运算符按功能划分,有下面几类:算术运算符+(加)-(减)*/%+-+(取正)-(取负)关系运算符=条件运算符 表达式1?表达式2:表达式3赋值运算符=+=-=*=/=%=字符串连接运算符+其它运算符().,3.4 必备知识,22,1.算术运算符算术运算符使用数字操作数,这些运算符主要用于数学计算。加减乘除的四则运算相信大家都很熟悉了,在此不再多说,这里给出表3-5供大家参考。说明:(1)算术运算符的总体原则是先乘除、再加减,括号优先。(2)对于除法运算符“/”,它的整数除和小数除是有区别的:整数除法会直接砍掉小数,而不

21、是进位。如:int x=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)“+”除字符串相加功能外,还能将字符串与其他的数据类型

22、相连成一个新的字符串,条件是表达式中至少有一个字符串,如:“x”+123;的结果是“x123”。,3.4 必备知识,23,Java的表达式就是用运算符连接起来的符合Java规则的式子。Java的运算符都有不同的优先级。所谓优先级就是在表达式运算中的运算顺序,运算符的优先级决定了表达式中运算执行的先后顺序。Java的运算符都具有结合性,运算符的结合性决定了并列相同级别的运算符的先后顺序。在学习运算符的过程中,除了要学习不同运算符的基本用法,还要学习不同的运算符的优先级和结合性。,3.4 必备知识,24,2.关系运算符关系运算符用于测试两个操作数之间的关系。通过两个值的比较,得到一个boolean

23、(逻辑)型的比较结果,其值为“true”或“false”。在Java语言中“true”或“false”不能用“1”或“0”来表示。Java语言共有7种关系运算符,它们都是二元运算符,如表3-7所示。关系运算符常常用于逻辑判断,如用在if结构控制分支和循环结构控制循环等处。关系运算符“=”不能误写成“=”,否则那就不是比较了,整个语句就变成了赋值语句。3.逻辑运算符逻辑运算符的操作数必须是boolean型的,运算的结果都是boolean型。逻辑运算符包括:&,|,&,|,!,其中&,|,&,|为二元运算符;!为单目运算符。如表3-8示。“&”和“&”的区别在于,如果使用前者连接,那么无论任何情况

24、,“&”两边的表达式都会参与计算。如果使用后者连接,当“&”的左边为false,直接得出运算结果为false,不会再去计算其右边的表达式,这就是短路现象。“|”和“|”的区别与“&”和“&”的区别一样,即如果使用前者连接,那么无论任何情况,“|”两边的表达式都会参与计算。如果使用后者连接,当“|”的左边为true,直接得出运算结果为true,不会再去计算其右边的表达式。,3.4 必备知识,25,4.条件运算符条件运算符很独特,因为它是用三个操作数组成表达式的三元运算符。它可以替代某种类型的 if-else 语句。一般的形式为:表达式1?表达式2:表达式3上式执行的顺序为:先求解表达式1,若为真

25、,取表达式2的值作为最终结果返回,若为假,取表达式3的值作为最终结果返回。条件运算符的优先级仅高于赋值运算符。结合性为自右向左。,3.4 必备知识,26,5.赋值运算符赋值运算符的作用是将常量、变量或表达式的值赋给一个变量,赋值运算符用“=”表示。为了简化、精练程序、提高编译效率,可以在“=”之前加上其它运算符组成扩展赋值运算符。表3-9给出了赋值运算符和一些扩展赋值运算符的用法。所有运算符都可以与赋值运算符组成扩展赋值运算符,表3-9仅列出其中一部分,看多了,写多了就习惯了。使用扩展赋值运算符的一般形式为其的作用相当于=赋值运算符是双目运算符,赋值运算符的左边必须是变量,不能是常量或表达式。

26、赋值运算符的优先级较低,结合方向从右到左。注意不要将赋值运算符“=”与相等于运算符“=”混淆。在Java中可以把赋值语句连在一起,如:x=y=z=5;/赋值运算符遵循从右至左的结合性,相当于x=(y=(z=5)在这个语句中,所有三个变量都得到同样的值5。,3.4 必备知识,27,6.位运算符众所周知,任何信息在计算机中都是以二进制的形式存在的,位运算符对操作数中的每一个二进制位都进行运算。Java语言中的位运算符如表3-10中所示。7.运算符的优先级和结合性在Java语言中,每个运算符分属于各个优先级,同时,每个运算符具有特定的结合性。有的具有左结合性,即自左至右的结合原则;有的具有右结合性,

27、即自右至左的结合原则。运算符在表达式中的执行顺序为:首先遵循优先级原则,优先级高的运算符先执行。在优先级同级的运算符之间遵守结合性原则,或自左至右,或自右至左。表3-11中给出了各种运算符的功能说明、优先级和结合性,绝大部分在以上各小节已经分别介绍过。需要补充说明的是,“+”除了作为正号运算符与加法运算符之外,还可以起到字符串的连接作用。,3.4 必备知识,28,3.4.8 表达式表达式是由操作数和运算符按一定的语法形式组成的符号序列,用来说明运算过程并返回运算结果。一个常量或一个变量名字是最简单的表达式,其值即该常量或变量的值;表达式可以嵌套,表达式的值还可以用作其他运算的操作数,形成更复杂

28、的表达式。表达式类型由运算以及参与运算的操作数类型决定,可以是简单类型,也可以是复合类型,如:,3.4 必备知识,29,算术表达式:用算术符号和括号连接起来的符合java语法规则的式子,如,1-23+x+y-30。关系表达式:结果为数值型的变量或表达式可以通过关系运算符形成关系表达式。如,48,(x+y)80。逻辑表达式:结果为boolean型的变量或表达式可以通过逻辑运算符合成为逻辑表达式。如,(28)&(92)。赋值表达式:由赋值运算符和操作数组成的符合java语法规则的式子,如,a=10。表达式的运算根据运算符的优先级和结合性进行的,即按照运算符的优先顺序从高到低进行,先单目运算,而后乘

29、除加减,然后位运算,之后比较运算,然后赋值运算。同级运算符按结合性进行。,3.4 必备知识,30,3.5 动手做一做,一、实训目的掌握使用Eclipse开发简单Java程序;掌握Java数据类型;掌握Java运算符和表达式;掌握简单调试与排错。二、实训内容从键盘输入小写字母,回显并输出其对应的大写字母。三、简要提示从键盘上接收一个字符的方法如下:System.out.read(),其中read()方法返回值为int,即输入字符的ASCII码值,通过强制类型将其转换成字符型。字符型可以与其他整型数据一起运算。四、程序代码参见本教材教学资源。五、实训思考1.如何实现从键盘输入数据?2.如何进行强制类型转换?3.如何将小写字母转换成大写字母?,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号