JAVA程序设计.docx
- 文档编号:6424322
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:125
- 大小:90.72KB
JAVA程序设计.docx
《JAVA程序设计.docx》由会员分享,可在线阅读,更多相关《JAVA程序设计.docx(125页珍藏版)》请在冰豆网上搜索。
JAVA程序设计
Java语言程序设计
第一章 概述
教学目标:
了解Java起源、基础知识
教学课时:
2课时
教学方法:
演示法、讲授法
教学重点:
面向对象思想
教学难点:
面向对象思想的理解
教学环境:
多媒体
教学内容:
起源:
1991年,美国Sun公司的JameGosling等人国在电视、烤箱等家用消费类电子产品上进行交互式而开发了一个名为Oak的语言。
之后sun的开发人员将Oak改为Java。
基础知识:
1.1 面向对象的基本概念
简而言之:
面向对象=对象+类+继承+消息
属性值规定了对象所有可能的状态。
对象的操作是指该对象可以展现的外部服务。
例如,大型客机可视为对象,它具有位置、速度、颜色、容量等属性,对于该对象可施行起飞、降落、加速、维修等操作,这些操作将或多或少地改变飞机的属性值(状态)。
1对象
在面向对象的系统中,对象是基本的运行时的实体,它包括数据属性,也包括作用于数据的操作(行为)。
所以一个对象把属性和行为密封成一个整体。
2类
类是某些对象的共同特征(属性和操作)的表示,对象是类的实例。
例如,飞行器类包含位置、速度、颜色等属性,以及起飞、降落、加速等操作。
是否建立了一个丰富的类库是衡量一个面向对象程序设计语言成熟与否的重要标志。
继承性是面向对象程序设计语言的最主要的特点,是其他语言(如面向过程语言)所没有的。
类之间的继承关系是现实世界中遗传关系的直接模拟,它表示类之间的内在联系以及对属性和操作的共享,即子类可以沿用父类(被继承类)的某些特征。
当然,子类也可以具有自己独立的属性和操作。
3继承
例如,飞行器、汽车和轮船可归于交通工具类,飞行器类可以继承交通
工具类某些属性和操作。
除遗传关系外,现实世界中还普遍存在着部分—整体关系。
例如,飞机可由发动机、机身、机械控制系统、电子控制系统等构成。
聚集关系。
作业:
1、简述Java语言的特点。
2、了解并实践JDK的安装和环境变量的配置。
3、上机调试1.2节中的程序。
4、列出Java.Lang.Math类中的常用方法.
教学反思:
就使学生首先建立面向对象编程的概念,如果只是一味的讲语法知识,会让学生迷失了学习Java的目的。
第二章标识符和数据类型
教学目标:
掌握Java中标识符及基本数据类型
教学课时:
4课时
教学重点:
八种基本数据类型
教学难点:
类型转换
教学方法:
讲授、演示
教学环境:
多媒体
教学步骤:
导入:
Java中的标识符和C、C++中的有不同,也有相同的部分,这节课我们来了解其标识符和数据类型
讲授新课:
2.1 Java语言和面向对象的程序设计
2.1.1 面向对象的程序设计思想
classCar{
intcolorNumber;
intdoorNumber;
intspeed;
……
voidbrake(){…;}
voidspeedup(){…;}
voidslowdown(){…;}
……
}
2.1.2 java语言的特点
Ø 面向对象
Ø 语法简单,功能强大
Ø 安全性
Ø 与平台无关
Ø 多线程
Ø 动态内存分配
2.1.3 java类库
2.2 Java应用程序举例
2.2.1 java开发环境的安装
安装java虚拟机J2SDK(j2sdk_5_0.exe)
设置环境变量:
JAVA_HOME=D:
\J2SDK1.5.0
path=;%JAVA_HOME%\bin;
classpath=.;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\dt.jar;
2.2.2 一个简单的java程序
//简单的应用程序HelloWorld
publicclassHelloWorldApp{
publicstaticvoidmain(Stringargs[]){
System.out.println(“HelloWorld”);
}
}
2.2.3 编译和运行
2.3 java基本语法单位
2.3.1 空白、注释及语句
空格,Tab键,回车,换行
//变量、一行程序的注释
/*注释内容*/说明方法的功能
/**文档注释*/
语句是最小的执行单位,Java各语句间以分号分隔。
花括号包含的一系列语句称为语句块,简称为块。
2.3.2 关键字
public class static void return …
2.3.3 标识符
字母,下划线,美元符号开头,数字,字母,下划线,美元符号组成的字符串。
2.3.4 java命名约定
2.4 java基本数据类型
接口类型:
interface
数据类型
基本数据类型
复合数据类型
数值类型
字符类型:
char;单引号括起来的一个字符;16位
布尔类型:
boolean;有两个值:
true,false;8位
类类型
数组类型
整数类型byte,short,int,long
浮点数类型float,double
类型
说明
长度
最小值
表示范围
byte
short
int
long
float
double
带符号位整数
带符号位短整数
带符号位整数
带符号长整数
单精度浮点数
双精度浮点数
8位
16位
32位
64位
32位
64位
-27(-128)
-215
-231
-263
-2-149
-2-1074
27-1
215-1
231-1
263-1
(2-2-23)*2127
(2-2-52)*21023
数据类型
文字量
byte,short,int
十进制数,开头不为0;0X跟十六进制数,如0XF1C4;
0跟八进制数,如0758
long
同上,但后面跟l或L,如84l,0X1F39L
float
数字后跟f或F,如1.23545F、1.896E2F
double
后面可选d或D作后缀,如1.23D
boolean
true或false
char
单引号括起来的字符或者转义序列,如‘Z’,‘k’,‘\n’
2.5 类型转换
原则:
位数少的向位数多的转换,这称自动类型转换。
当位数多的向位数少的转换,需要用户明确指明,即进行强制类型转换。
各类型所占位数从短到长依次为:
byte short int long float double
char
扩展转换
double float long int short byte char
窄化转换
举例:
inti=5;
floaty=5.4555f;
y=y+i;//自动类型转换
i=(int)y;//强制类型转换
publicclassTypeChange{
publicstaticvoidmain(Stringargs[]){
int intvalue=5; //定义一个整型变量
float floatvalue=8.1141f; //定义一个浮点型变量
System.out.println(“floatvalue+intvalue=”+(floatvalue+intvalue));
intvalue=(int)floatvalue;//
System.out.println(“intvalue=”+intvalue);
}
}
2.6 变量、说明和赋值
importjava.util.*;
publicclassDataType{
publicstaticvoidmain(Stringargs[]){
boolean flag;
char yeschar;
byte finbyte;
变量说明
int intvalue;
long longvalue;
short shortvalue;
float floatvalue;
double doublevalue;
flag=true;
yeschar='y';
变量赋值
finbyte=30;
intvalue=-70000;
longvalue=2001;
shortvalue=20000;
floatvalue=7.445E-6f;
doublevalue=floatvalue*floatvalue;
System.out.println("布尔型变量flag="+flag);
System.out.println("字符型变量yeschar="+yeschar);
System.out.println("字节型变量finbyte="+finbyte);
System.out.println("整型变量 intvalue="+intvalue);
System.out.println("长整型变量longvalue="+longvalue);
System.out.println("短整形变量shortvalue="+shortvalue);
System.out.println("浮点型变量floatvalue="+floatvalue);
System.out.println("双精度浮点型变量doublevalue="+doublevalue);
}
}
2.7 类和对象的初步介绍
对象的基本概念:
一个对象由一组属性和对这组属性进行操作的一组服务组成。
类的基本概念:
类是具有相同属性和服务的一组对象的集合,它为属于该类的所有对象提供了统一的抽象描述,其内部包括属性和服务两个主要部分。
类与对象的关系就如模具和铸件的关系,类的实例化结果就是对象,而对一类对象的抽象就是类。
java中类定义的一般格式:
修饰符class类名[extends父类名][implements接口名清单]{
属性
类型 成员变量1;
类型 成员变量2;
…
修饰符类型成员方法1(参数列表){
类型 局部变量;
服务,对属性的操作
方法体
}
修饰符类型成员方法2(参数列表){
类型 局部变量;
方法体
}
…
}
java中与OOP有关的关键字
1、限定访问权限的修饰符
ü public公有的,可以被其它任何对象访问
ü private私有的,只能被这个类本身访问
ü protected爱保护的,只可以被同一包及其子类的实例对象访问
类型
无修饰符
private
protected
public
同一类
同一包中子类
同一包中非子类
不同包中的子类
不同包中的非子类
是
是
是
否
否
是
否
否
否
否
是
是
是
是
否
是
是
是
是
是
2、存储方式修饰符
static,表示说明的对象是静态的,它可被类的所有对象共享。
类中定义的公有静态变量相当于全局变量。
importjava.util.*;
classCount{
privateintserialNumber;
privatestaticintcounter=0;
publicCount(){
counter++;
serialNumber=counter;
}
public voidoutNumber(){System.out.println(serialNumber);}
}
publicclassCountApp
{
publicstaticvoidmain(Stringargs[]){
Countc1=newCount();
c1.outNumber();
Countc2=newCount();
c2.outNumber();
System.out.println("sucess");
}
}
3、与继承有关的关键字
一个新类从现有的类中派生,这个过程称为继承。
派生出的新类称为已有类的子类。
已有类称为超类(或父类)。
Person
Student
继
承
Student的父类
person的子类
图1
形状
三角形长方形正方形
单
继
承
子类除了拥有父类的属性的方法,还可以增加自己的属性和方法。
但Java不支持多重继承,即一个类从多个超类派生的能力。
动物
哺乳动物
爬行动物
蜥蜴
蛇
巨晰
壁虎
鲸
狗
爬行动物是动物的一种
壁虎是一种蜥蜴
一般
具体
与继承有关的关键字主要有:
(1) final
@ final修饰的类不能被继承。
@ final修饰的方法不能被子类重写
@ final修饰的变量成为常量
(2) abstract可以修饰类或成员方法,表明被修饰的成分是抽象的。
@ 抽象类就是不能用new实例化的类,即没有具体实例对象的类。
为什么要有抽象类:
1,层次关系的需要,让其它类继承;2,可以包括所有子类的公共方法和属性;3,强迫用户生成更具体的实例。
@ 抽象方法,这种方法只有方法的声明,而没有方法的实现。
含有抽象方法的类必须说明为抽象类。
和final完全不同,抽象类一定要派生子类,父类中的抽象方法可以在子类中实现,也可以在子类中继续说明为抽象的,然后在更下一层的子类中实现。
注意如下:
@ 一个抽象类的子类如果不是抽象类,则它必须为父类中的所有抽象方法书写方法体,即重写父类中的所有抽象方法。
@ 只有抽象类才能具有抽象方法,及如果一个类中含有抽象方法,则必有将这个类声明为抽象类。
@ 除了抽象方法,抽象类中还可以包括非抽象方法。
@ 优点:
强迫子类完成指定的行为,抽象类通常声明抽象方法规定其子类需要用到的“标准”行为。
Shape
TwoDimensionalshap
ThreeDimensionalshap
Circle
Triangle
Rectangle
Cube
Sphere
Tetrahedron
Square
抽象类图示
(3) this和super
@ this指代本类,super指代父类,它们用在类的成员方法定义中。
classUniversity{
Stringname;
Stringcity;
University(Stringname1,Stringcity1){
this.name=name1;
this.city=city1;
}
}
classUniversityWorldextendsUniversity{
Stringcountry;
UniversityWorld(Stringname1,Stringcity1,Stringcountry1){
super(name1,city1);
//University(name,city);
this.country=country1;
}
publicstaticvoidmain(Stringargs[]){
UniversityWorldu=newUniversityWorld("北京大学","北京","中国");
System.out.println("大学"+u.name+"城市"+u.city+"国家"+u.country);
}
}
4、对象的创建和使用
分为两步:
对象的引用和对象的实例化
类名 变量名;
变量名=new类名(参数列表);
对象引用.成员数据
对象引用.成员方法(参数列表);
举例:
classPoint{
intx,y;
Point(intx1,inty1){
x=x1;
y=y1;
}
Point(){
this(0,0);
}
voidmoveTo(intx1,inty1){
x=x1;
y=y1;
}
}
classPoint3dextendsPoint{
intz;
publicPoint3d(intx,inty,intz){
super(x,y);
this.z=z;
}
publicPoint3d(){
this(0,0,0);
}
publicstaticvoidmain(Stringargs[]){
Pointp;
p=newPoint(1,1);
p.x=p.y=20;
System.out.println(“p.x=”+p.x);
System.out.println(“p.y=”+p.y);
p.moveTo(30,30);
System.out.println(“p.x=”+p.x);
System.out.println(“p.y=”+p.y);
Point3dp1=newPoint3d();
Point3dp2=newPoint3d(1,2,3);
System.out.println(p0.x+","+p0.y);
System.out.println(p1.x+","+p1.y+","+p1.z);
System.out.println(p2.x+","+p2.y+","+p2.z);
}
}
作业:
课后2.9,2.11
教学反思:
在讲解过程中应该重点突出,让学生能够着重掌握这一部分。
详细讲解重点。
透彻分析难点,使学生更容易理解。
第三章表达式和流程控制语句
教学目标:
掌握表达式构成要素、常量和变量
掌握流程控制语句
教学课时:
4课时
授课方式:
讲授、演示
教学环境:
多媒体
教学重点:
流程控制语句for,when,switch
教学难点:
break,continue
教学步骤:
导入:
Java和其它所有程序设计语言一样,有表达式来表示一些内容,表达式两部分构成,分别为操作数和运算符,这节课我们将从操作数开始讲解Java中的语法知识,和Java的程序流程控制语句。
讲授新课:
3.1 表达式和运算符
表达式是由运算符、操作数和方法调用构成,用于计算、对变量赋值,以及作为程序控制的条件。
n 操作数:
F常量
如:
12(int),45.1f(float),true(boolean),“thisisastring”(String)
F变量
变量说明的格式为:
类型变量名1[=初值1][,变量名2[=初值2]]…;
F变量初始化
java不允许将未经初始化的变量用做操作数。
对简单变量在说明的同时可以进行初始化,如:
intx=3;
类型
初始值
类型
初始值
byte
0(byte)
double
0.0
short
0(short)
char
‘\u0000’(null)
int
0
boolean
false
long
0L
所有引用类型
null
float
0.0f
例:
classtest1{
publicstaticvoidmain(Stringargs[]){
intx=(int)(Math.random()*100);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 程序设计