Java程序设计任务驱动式教程03章.ppt_第1页
Java程序设计任务驱动式教程03章.ppt_第2页
Java程序设计任务驱动式教程03章.ppt_第3页
Java程序设计任务驱动式教程03章.ppt_第4页
Java程序设计任务驱动式教程03章.ppt_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主编:孙修东、王永红 高职高专规划示范教材 北京航空航天大学出版社 目 录 任务一 搭建环境(构建Java集成开发环境) 任务二 Java欢迎你(开发简单Java应用程序 任务三 小试牛刀(学习Java语言基础) 任务四 挑战选择(使用分支控制流程) 任务五 游戏人生(使用循环控制流程) 任务六 回归自然(创建、使用类和对象) 任务七 3G时代的消息传递(定义和使用类方法) 任务八 保护你的隐私(封装的使用) 任务九 子承父业(继承和多态的使用) 任务十 上帝万能之手(接口的使用) 3030 任务十一 用数组存储信息(使用数组) 任务十二 使用字符串进行交流(使用字符串) 任务十三 防患于未然(捕获并处理异常) 任务十四 主动出击(抛出异常) 任务十五 认识Java Applet(Applet入门) 任务十六 丰富多彩的Applet(在Applet中播放声音和显示图像) 任务十七 进入Windows世界(设计图形用户界面) 任务十八 布局规划(使用布局管理器) 任务十九 事件委托处理(如何处理事件) 任务二十 选择之道(使用选择控件和选择事件) 目 录 3030 任务二十一 简明清晰的菜单(使用菜单和其他常用事件) 任务二十二 访问数据(使用JDBC连接数据库) 任务二十三 访问数据升级(数据库编程) 任务二十四 文件管理(目录与文件管理) 任务二十五 顺序进出之道(文件的顺序访问) 任务二十六 随机进出之道(文件的随机访问) 任务二十七 JAVA的分身术(创建和启动线程) 任务二十八 线程的生命周期与优先级(线程的状态与调度) 任务二十九 基于连接的通信(Java中的套接字Socket) 任务三十 基于无连接的通信(Java中的数据报编程) 目 录 3030 任务三 小试牛刀(学习Java语言基础) 2 1 知识目标 能力目标 Java语言标识符和关键字;Java语言数 据类型;Java语言运算符与表达式。 正确定义与使用变量、常量;正确使用运 算符与表达式进行数值计算程序的处理 。 3030 内容提要 4 跟我做: 计算圆的面积和周长 1 2 3 5 实现方案 代码分析 必备知识 动手做一做 3030 3.1 跟我做:计算圆的面积和周长 n任务情景 编写一个程序ComputeArea,当程序运行时,从键盘上输入圆的 半径,在控制台输出圆的周长和面积。要求:圆的周长只保留 整数部分,舍掉小数部分。 n运行结果 第1章目录 3030 n问题分析 从技术角度,该程序涉及常量和变量的定义和使用、变量间的算术运算 、数据类型转换(包括字符串与基本数据类型的转换和基本数据类型 之间的强制类型转换)、基本的输入输出操作和命令行参数的应用。 n解决步骤 1.打开Eclipse,在study项目中创建包com.task03,再确定类名 ComputeArea,得到类的框架。 package com. task03; public class ComputeArea 2.定义所需要的变量和常量。 3.使用命令行参数接收从键盘输入的数据。 main方法有一个 String类型的数组参数,该数组中保存执行Java命令时传 递给所运行的类的参数,该参数称为命令行参数。命令行参数与args 数组的对应关系如图3-2所示。 4.求面积和周长(并将周长进行取整处理)。 5.输出圆的面积和周长。 第1章目录 3.2 实现方案 3030 n程序代码 package com.task03; /创建包com.task03 /* * ComputeArea.java *从键盘上输入圆的半径,求圆的周长和面积 */ public class ComputeArea public static void main(String args) final double PI=3.1415926; /定义常量PI double 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; System.out.println(“圆的周长(只保留整数部分)为:“+int_p); System.out.println(“圆的面积为:“+area); 第1章目录 3.3 代码分析 3030 3.3 代码分析 n应用扩展 上面代码定义了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 area=Math.sqrt(p*(p-a)*(p-b)*(p-c); System.out.println(“三角形的周长为”+(2*p); System.out.println(“三角形的面积为:“+area); else System.out.println(“您输入的三边不能构成三角形“); 第1章目录 3030 3.4.1 Java中的标识符和关键字 程序中使用的各种数据对象如符号常量、变量、方法、类等都需 要一定的名称,这种名称叫做标识符(identifier)。Java的标 识符由字母、数字、下划线(_)或美元符($)组成,但必须以 字母、下划线和美元符开始。 Java标识符是大小写敏感的,没 有字符数的限制。 下面是合法的标识符: identifier userName User_name _sys_varl $change 下面是非法的标识符: class 98.3 Hello World 关键字就是保留字,是指那些具有特殊含义和用途的、不能当作 一般标识符使用的字符序列,这些特殊的字符序列由Java系统 定义和使用,所以,程序员在代码中定义标识符时不能跟关键 字重名。在Java语言中常见的关键字如表3-1所示,大家就留个 初步的印象吧。 第1章目录 3.4 必备知识 3030 3.4 必备知识 表3-1 Java语言的数据类型 第1章目录 abstractdefaultfornewsupervoid booleandoifnullswitchvolatile breakdoubleimplementspackagesynchronize d while byteelseimportprivatethis caseextendsintprotectedthrow catchfalseinstanceofpublicthrows charfinalinterfacereturntransient classfinallylongshorttrue continuefloatnativestatictry 3030 3.4.2 Java程序的注释 为程序添加注释可以用来解释程序的某些部分的作用和功能,提高程序的可读性 。也可以使用注释在程序中插入你的个人信息。此外,你还可以使用注释来 暂时屏蔽某些程序语句,让编译器暂时不要理会这些语句,等到需要时,只 需简单地取消注释标记,这些语句又可以发挥作用了。 Java程序的注释根据不同的用途分为三种类型:单行注释,多行注释,文档注释 。 单行注释,就是在注释内容前面加双斜线(/),Java编译器会忽略掉这部分信息 。如下例: int a = 10; / 定义一个整型变量 多行注释,就是在注释内容前面以单斜线加一个星形标记(/*)开头,并在注释 内容末尾以一个星形标记加单斜线(*/)结束。当注释内容超过一行时一般使 用这种方法。如: /* int a=10; int b=100; */ 文档注释,是以单斜线加两个星形标记(/*)开头,并以一个星形标记加单斜线 (*/)结束。放在声明(变量、方法或类的声明)之前的文档注释用以说明该程 序的层次结构及其方法。文档注释提供将程序使用帮助信息嵌入到程序中的 功能。 第1章目录 3.4 必备知识 3030 3.4 必备知识 3.4.3 Java语言的数据类型 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章目录 3030 3.4 必备知识 表3-2 Java语言的数据类型 第1章目录 数据类型关键字取值范 围 默认值占用字 节数 基 本 类 型 整数类型字节型byte-128127 (byte)0 1 短整型short-3276832767(short) 0 2 整型int-21474836482147483647 0 4 长整型long- 922337203685477580892233720368 54775807 0 L 8 浮点类型浮点型float1.4E-453.4E38 0.0 F 4 双精度型double4.9E-3241.7E308 0.0 8 字符类型char065535u0000 2 布尔类型boolean false 复 合 类 型 数组组 类class 接口interface 3030 3.4.4 Java中的常量 常量是在程序运行过程中其值始终不改变的量。常量分为直接常量和符 号常量两种。 直接常量就是不使用任何标识符直接引用其值的常量。使用数值型直接 常量有时会引起多义性。例如直接常量“0”,就可能是byte或short或int 或long或float或double类型的,为了避免这种情况的发生,不加后缀 时默认为int类型。Java为long、float和double类型的直接常量规定了使 用后缀的方式,而对于byte和short类型的直接常量则只能使用强制数 据类型转换。 符号常量就是使用标识符引用其值的常量。符号常量的定义要用关键字 final,先定义一个标识符,然后通过标识符读取其值的常量。符号常 量一经定义,其值不能再被改变,每一个符号常量都有其数据类型和 作用范围。按照一般的习惯,常量标识符中的英文字母使用大写字母 。 定义符号常量的格式为:final 数据类型符 符号常量标识符=常量值; 如:final double PI=3.1415926;这里PI就是符号常量。在程序中如果试图 改变PI的值,则系统会给出错误信息。 第1章目录 3.4 必备知识 3030 3.4.5 Java中的变量 在程序运行期间,系统可以为程序分配一块内存单元,用来存储 各种类型的数据。系统分配的内存单元要使用一个标记符来标 识,这种内存单元中的数据是可以更改的,所以叫变量。变量 是在程序运行过程中其值能够改变的量,通常用来保存计算结 果或中间数据。在Java语言中变量必须先声明后使用,并且应 当为变量赋初始值。变量是Java 程序中的基本存储单元,它的 定义包括变量名、变量类型和作用域几个部分。变量名的命名 要符合标识符的命名规则。 3.4 必备知识 3030 变量的定义格式如下: 数据类型符 变量名=变量的值; 如:int count; /声明或定义一个整型变量count count=100; /为变量count赋初值 boolean b=true; /声明一个布尔型变量b,并为变量赋初值 char c=A; /声明一个字符型变量c,并为变量赋初值 String s=”Hello”; /声明一个字符串变量s,并为变量赋初值 变量的作用域是指变量的有效范围或生存周期,它决定了变量的“ 可见性”以及“存在时间”。在Java里,一对花括号中间的部分就 是一个代码块,代码块决定其中定义的变量的作用域。变量的 有效范围或生存周期就是声明该变量时所在的代码块,也就是 用一对大括号括起的范围。一旦程序的执行离开了定义它的 代码块,变量就变得没有意义,也就不能再被使用了。 3.4 必备知识 3030 3.4.6 类型转换 Java程序里,将一种数据类型的常量或变量转换到另外的一种数据类型, 称为类型转换。类型转换有三种:自动类型转换(或称隐式类型转换 )、强制类型转换(或称显式类型转换)、字符串类型与数值类型的 转换。 1.不同数据类型间的优先关系 低-高 byte,short,char- int - long - float - double 2.自动类型转换 自动类型转换允许在赋值和计算时由编译系统按一定的优先次序自动完 成。通常,低精度类型到高精度的类型转换由系统自动转换。 (1)将一种低级数据类型的值赋给另外一种高级数据类型变量,如果这两 种类型是兼容的,Java将执行自动类型转换。所有的数值类型,包括 整型和浮点型都可以进行这样的转换。如: int a=125; long b=a;/变量a自动转换成long型,再赋给变量b (2)整型,实型,字符型数据可以混合运算。运算中,不同类型的数据先转化 为同一类型,然后进行运算,转换从低级到高级,转换规则见表3-4 。 3.4 必备知识 3030 3.强制类型转换 当两种类型彼此不兼容,或者目标类型取值范围小于源类型时,自动转换无法进 行,这时就需要进行强制类型转换。强制类型转换是将高精度数据类型转换到 低精度数据类型,可以通过赋值语句来实现,此时强制类型转换的格式为: 目标数据类型 变量名=(目标数据类型)变量名或值 例如: 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型数据。例如: int 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 必备知识 3030 3.4.7 运算符 对各种类型的数据进行加工的过程称为运算,表示各种不同运算的符号 称为运算符,参与运算的数据称为操作数,按操作数的数目来分,可 有: 一元运算符(也称单目运算符):, 二元运算符(也称双目运算符):, 三元运算符(也称三目运算符):?: 基本的运算符按功能划分,有下面几类: 算术运算符 +(加) -(减) * / % + - +(取正) -(取负) 关系运算符 = 条件运算符 表达式1?表达式2:表达式3 赋值运算符 = += -= *= /= %= 字符串连接运算符 + 其它运算符 () . 3.4 必备知识 3030 1.算术运算符 算术运算符使用数字操作数,这些运算符主要用于数学计算。加减乘除 的四则运算相信大家都很熟悉了,在此不再多说,这里给出表3-5供 大家参考。 说明: (1)算术运算符的总体原则是先乘除、再加减,括号优先。 (2)对于除法运算符“/”,它的整数除和小数除是有区别的:整数除法会直 接砍掉小数,而不是进位。如: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)“+”除字符串相加功能外,还能将字符串与其他的数据类型相连成一个 新的字符串,条件是表达式中至少有一个字符串,如:“x”+123;的结 果是“x123”。 3.4 必备知识 3030 Java的表达式就是用运算符连接起来的符合Java规则的式子。Java 的运算符都有不同的优先级。所谓优先级就是在表达式运算中 的运算顺序,运算符的优先级决定了表达式中运算执行的先后 顺序。Java的运算符都具有结合性,运算符的结合性决定了并 列相同级别的运算符的先后顺序。在学习运算符的过程中,除 了要学习不同运算符的基本用法,还要学习不同的运算符的优 先级和结合性。 3.4 必备知识 3030 2.关系运算符 关系运算符用于测试两个操作数之间的关系。通过两个值的比较,得到 一个boolean(逻辑)型的比较结果,其值为“true”或“false”。在Java语 言中“true”或“false”不能用“1”或“0”来表示。 Java语言共有7种关系运算符,它们都是二元运算符,如表3-7所示。关系 运算符常常用于逻辑判断,如用在if结构控制分支和循环结构控制循 环等处。关系运算符“= =”不能误写成“=”,否则那就不是比较了,整 个语句就变成了赋值语句。 3.逻辑运算符 逻辑运算符的操作数必须是boolean型的,运算的结果都是boolean型。逻 辑运算符包括: /赋值运算符遵循从右至左的结合性, 相当于x = ( y = ( z = 5 ) ) 在这个语句中,所有三个变量都得到同样的值5。 3.4 必备知识 3030 6.位运算符 众所周知,任何信息在计算机中都是以二进制的形式存在的,位 运算符对操作数中的每一个二进制位都进行运算。Java语言中 的位运算符如表3-10中所示。 7.运算符的优先级和结合性 在Java语言中,每个运算符分属于各个优先级,同时,每个运算 符具有特定的结合性。有的具有左结合性,即自左至右的结合 原则;有的具有右结合性,即自右至左的结合原则。运算符在 表达式中的执行顺序为:首先遵循优先级原则,优先级高的运 算符先执行。在优先级同级的运

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论