java程序设计教案.docx

上传人:b****8 文档编号:9274562 上传时间:2023-02-04 格式:DOCX 页数:142 大小:317.05KB
下载 相关 举报
java程序设计教案.docx_第1页
第1页 / 共142页
java程序设计教案.docx_第2页
第2页 / 共142页
java程序设计教案.docx_第3页
第3页 / 共142页
java程序设计教案.docx_第4页
第4页 / 共142页
java程序设计教案.docx_第5页
第5页 / 共142页
点击查看更多>>
下载资源
资源描述

java程序设计教案.docx

《java程序设计教案.docx》由会员分享,可在线阅读,更多相关《java程序设计教案.docx(142页珍藏版)》请在冰豆网上搜索。

java程序设计教案.docx

java程序设计教案

《Java程序设计》

 

 

授课人:

授课班级:

电子商务专业

第一章Java语言简介

教学目的要求

Ø了解Java的基本特点和用途

Ø掌握如何下载JavaSDK软件包

Ø了解设置Java程序的开发环境SDK

Ø如何运行Java程序

Ø了解Java的概貌

主要内容

ØJava语言的发展历程;

ØJava语言的特点;

ØJava语言的开发工具;

ØJava应用程序和小程序;

ØJava程序的注释方法;

Ø写Java程序的风格规范。

重点内容

ØJava语言的特点;

ØJava语言的开发工具;

ØJava应用程序和小程序;

难点内容

课时分配

1课时

教学方法

讲授法、演示法、对比法

讲授内容提要

1.1Java语言的发展简介

1991年SunMircosystem公司成立了一个Green项目开发小组,JameGosling为组长;

设计Java 采用虚拟机代码(VirtualMachineCode),即.class文件,它通过解释器运行;

1995年5月SunMircosystem公司对外正式发布Java1.0;

Java2用途:

适用于各种应用开发,尤其是网络应用,网络服务和嵌入式系统。

1.2Java语言的特点

1.简单性

2.面向对象

3.网络适用性

4.健壮性

5.安全性

6.平台无关性

7.可移植性

8.解释型

9.高性能

10.多线程

11.动态性

12.丰富的类库

13.嵌入浏览器运行

1.3Java类库的概念

1.4网络浏览器

1.5Java开发工具

NetBeans:

这个集成环境可以方便地进行程序的编辑、编译、生成和运行。

J2sdk:

http:

//免费下载;

VisualJ++6.0/8.0:

VJ++还吸收了VB集成开发环境IDE的特征,是一个强有力的Java程序开发工具。

Jcreator

Eclipse(MyEclipse)等

1.6Java程序的分类

基于控制台的应用程序;

基于浏览器运行的小程序applet。

小程序与应用程序的区别是:

小程序必须依赖一个HTML文件和支持Java的网络浏览器。

老师演示小程序和applet程序

应用程序举例(程序1-1):

publicclasshello{

publicstaticvoidmain(Stringargs[]){

System.out.println("HelloJava!

");

}

}

小程序举例(程序1-2):

importjava.awt.Graphics;//注意该行的含义

importjava.applet.Applet; 

publicclasssayhelloextendsApplet{

publicvoidpaint(Graphicsg){

g.drawString("HelloJava!

",35,30);

}

}

小程序对应的HTML文件:

height=100width=200>

1.7对Java程序的解释

1.8编写Java程序的风格要求

课堂练习:

请编写一个应用程序输出你自己的学号和姓名

课外练习(作业):

下载并安装J2SDK;

设置系统环境变量

下载并安装MyEclipse

熟悉MyEclipse的开发环境

第2章数据类型、运算符和表达式

教学目的要求

Ø掌握字符常量和符号表示的常量的概念和应用

Ø掌握整形、浮点型、字符型和布尔型变量的概念和应用

Ø掌握数据的概念

Ø理解参数传递方式

Ø学会逻辑运算符、算术运算符和位运算符的使用方法

主要内容

Ø常量:

包括字面常量和符号表示的常量;

Ø变量:

整形、浮点型、字符型和布尔型;

Ø数组:

Java的数组属于类类型;

Ø参数传递方式;

Ø运算符:

包括逻辑运算符、算术运算符和位运算符等;

重点内容

Ø整形、浮点型、字符型和布尔型变量的概念和应用;

Ø符常量和符号表示的常量的概念和应用

难点内容

Ø参数传递方式

课时分配

2课时

教学方法

讲授法、演示法、对比法、实验验证法

讲授内容提要

2.1常量

整形常量:

采用八进制、十进制、十六进制表示,但不能采用二进制表示,和C/C++中的一样。

浮点常量:

采用十进制或科学记数法表示。

在缺省情况下一个浮点数是double型。

布尔常量:

true和false,它们不是数,不能进行算术运算。

字符常量:

与C/C++中的表示类似。

字符串常量:

Java中字符串常量是对象。

2.2变量

变量的命名原则是:

以字母(’a’…’z’和’A’…’Z’)、下划线(‘_’)和‘$’符号开头的,由字母、数字(’0’…’9’)、下划线和‘$’构成的一个符号序列。

例如,a,_a,NameOfStudent,$10均是合法变量名,而-a和9a是非法变量名。

关键字不能用作变量名(见表2-1)

注意:

Java对变量是区分大小写.

2.2.1整形类型的变量

字节(byte)型,8个位。

短整形(short),占16个位。

整形(int),占32个位。

长整形(longint),占64个位。

Java中的整形最值均有符号。

例如程序2-1测试最值:

publicclassTest_Int{//程序2-1测试整形变量的最值

publicstaticvoidmain(String[]args){

System.out.println(Byte.MAX_VALUE);

System.out.println(Byte.MIN_VALUE);

System.out.println(Short.MAX_VALUE);

System.out.println(Short.MIN_VALUE);

System.out.println(Integer.MAX_VALUE);

System.out.println(Integer.MIN_VALUE);

System.out.println(Long.MAX_VALUE);

System.out.println(Long.MIN_VALUE);

}

}

注意:

byte、short、int、long是原子类型,而Byte、Short、Integer和Long分别是四种原子类型对应的类类型。

2.2.2字符类型变量

Java字符量的长度为16个位,表示范围是从‘\u0000’到‘\uffff’即从0到65535;

Character是char类型对应的类类型;

最大值Character.MAX_VALUE;

最小值Character.MIN_VALUE;

2.2.3浮点类型变量

分类:

float和double。

Float、Double是对应的类类型;

Float.MAX_VALUE、Float.MIN_VALUE是最值。

Float.POSITIVE_INFINITY和

Float.NEGATIVE_INFINITY是正/负无限大。

2.2.4布尔类型变量

boolean变量取值:

true和false;

true和false不能转换成任何数值表示,true不是1,false也不是0。

2.2.5原子类型变量的生存空间

一个变量的生存空间是由两个大括号决定的范围。

下列写法在C/C++中是正确的,但在Java中是错误的(注意)。

{

intx=1;

{

intx=0;//错误

}

}

2.3变量赋值问题

如果类中定义的原子类型变量,未给出初值,那么它们将有缺省值:

byte、short、int和long变量的缺省值是0;char、float、double和boolean变量的缺省值分别是’\u0’、0.0f、0.0d和false。

方法内定义的局部变量,应当对其赋值,否则无法通过编译。

例如:

//程序2-4

classTest{//定义一个类

intValue;//类中的变量未赋值,缺省就是0

publicclassTest_Var{

publicstaticvoidmain(String[]args){

intx=100;//必须赋值,否则无法通过编译

Testobj=newTest();//对象赋值 

System.out.println(obj.Value+""+x);

}

}

2.4数组

Java数组是系统定义类Array的子类;

数组的分类同C/C++:

一维和多维。

2.4.1一维数组

定义数组的格式:

inta[];或int[]a;其值是null;

在定义数组时不能指定大小。

a仅是一个引用,代表一个数组名,但没有对应的空间。

产生数组空间的方法有两种:

在定义时直接赋值:

inta[]={1,2,3};

通过new分配空间:

inta[]=newint[10];

publicclassTest_Array{

publicstaticvoidmain(String[]args){

inta[]={1,2,3},b[];

b=a;

for(inti=0;i<3;i++)b[i]++;

for(inti=0;i<3;i++)System.out.println(a[i]);

}

}

publicclassTest_Array{

publicstaticvoidmain(String[]args){

inta[]={1,2,3},b[];

b=newint[6];

System.out.println(“b数组长度=”+b.length);

for(inti=0;i

}

}

注意:

(1)获得数组元素的个数:

数组名.length;

(2)一个整形数组若仅仅采用new分配空间,而没有对其赋值,那么每个元素的值是0

注意:

Java数组名是一个引用,当将一个数组名赋值给另一个数组时,实际上是名字的复制

2.5Java中的参数传递方式

Java的参数传递的形式有两种:

基本类型按值传递,对象类型按引用传递;

通过return语句从方法中返回时,基本类型总是以值的方式返回,而对象总是以引用方式返回。

例如程序2-8:

classtest{intx;} 

publicclassTest_Paras{

statictestfun(testo,inty){

o.x=20;

y=1;

returno;

publicstaticvoidmain(String[]args){

testobj1,obj2;

intVal=3;

obj1=newtest();

obj1.x=100;

obj2=fun(obj1,Val);

System.out.println(obj1.x+""+obj2.x+""+Val);

}

}

2.6Java的运算符

主要包括:

算术运算符、关系运算符、逻辑运算符、位运算符和三元条件运算符。

2.6.1算术运算符

算术运算符:

+、-、*、/、%、++和--,与C/C++基本相同。

%运算符不但可以对整形数据运算,而且可以对浮点型数据运算。

例如:

3.14%2.5的值约等于0.64;

隠式数据类型转换:

当整型与浮点型数据进行混合运算时,表达式中的数据类型会进行相应的自动转换,规则为:

byte->short->int->long->float->double。

这种转换规则也适应于赋值语句,当赋值符左右两侧变量类型不一致时,只要转换过程中不丢失数据,便进行自动转换。

classnumber{intx;} 

publicclassrelationalOperator{

publicstaticvoidmain(Stringargs[]){

numbern1,n2;

n1=newnumber();n2=newnumber();

n1.x=1;n2.x=1;

if(n1.x==n2.x)

System.out.println("对象的数据成员x相等!

");

 

if(n1==n2)

System.out.println("n1和n2是一个对象!

");

else

System.out.println("n1和n2不是一个对象!

");

}

}

2.6.2关系运算符

关系运算符不能同其它类型的变量一同参与运算,例如假设a,b,c是三个整形的变量,那么a=b==c是正确OR错误?

关系运算符用于对象时,是判别两个引用是否代表同一个对象。

而不是判断两个引用所指向的对象是否同属一个类。

2.6.3逻辑运算符

逻辑运算符有&&、||和!

,分别是与、或和非。

运算结果是true或false;

逻辑运算有求值“短路”现象,例如程序2-11:

publicclassshortCut{

staticbooleantestOne(intx){

System.out.println(x+"<"+1+""+(x<1));

returnx<1;

}

staticbooleantestTwo(intx){

System.out.println(x+"<"+1+""+(x<2));

returnx<2;

}

publicstaticvoidmain(String[]args){

if(testOne(6)&&testTwo

(1))

System.out.println("表达式为真");

else

System.out.println("表达式为假");

}

}

2.6.4位运算符

位运算符:

&、|、^、~、<<、>>,分别称为位与、或、异或、左移、右移;

Java引入一个专门用于逻辑右移运算符>>>,它采用了所谓的零扩展技术,不论原值是正或负,一律在高位补0。

例如:

inta=-2,b;

b=a>>>30;

2.6.5三元条件运算符

语法格式:

(exp)?

(exp1):

(exp2);

Java要求:

(exp1)与(exp2)必须同类型。

2.6.6“+”运算符

Java对“+”进行了重载,可以将任何类型的对象(包含原子类型)转化为String类型。

例如:

intx=1;

charch='A';

doubled=9.8;

 

System.out.println("Result:

"+x+ch+9.8);

课堂练习:

课外练习(作业):

P323、4、6题。

第3章控制语句

教学目的要求

Ø了解Java程序的结构,学习使用各种语句结构来控制程序的流程,完成程序的功能任务。

主要内容

ØJava的分支语句;

Ø循环控制语句;

Øbreak和continue语句;

Ø带标号的break和continue语句。

重点内容

ØJava的分支语句;

Ø循环控制语句;

Øbreak和continue语句;

难点内容

Ø循环控制语句;

Øbreak和continue语句;

课时分配

3课时

教学方法

讲授法、演示法、对比法、实验验证法

讲授内容提要

3.1分支语句

if-else语句;

switch-case语句。

3.1.1if语句

if语句的语法格式同C/C++;

条件表达式必须是布尔类型,例如:

下面的写法在C/C++中是合法的,但在Java中却是非法的:

inti=10;

if(i)

...

程序3-1描述了用applet从文本框获取数据,然后将比较的结果显示出来。

//程序3-1

importjava.awt.*;

importjava.applet.*;

publicclasscompareNumbersextendsApplet{

Labellab1,lab2;

TextFieldinput1,input2;

intnum1,num2;

publicvoidinit(){

lab1=newLabel("输入第1个整数");

input1=newTextField(10);

lab2=newLabel("输入第2个整数");

input2=newTextField(10);

add(lab1);

add(input1);

add(lab2);

add(input2);

}

publicbooleanaction(Evente,Objecto){

if(e.target==input1||e.target==input2){

num1=Integer.parseInt(input1.getText());

num2=Integer.parseInt(input2.getText());

if(num1

showStatus(num1+"<"+num2);

elseif(num1>num2)

showStatus(num1+">"+num2);

elseshowStatus(num1+"=="+num2);

}

returntrue;

}

}

3.1.2switch语句

switch语句的语法结构同C/C++;

switch后面的表达式类型必须是字符类型或整形;

case后面的常量不能重复;

程序3-3采用小程序实现将学生的百分制成绩转换为优、良,中、及格和不通过五个等级:

//程序3-3

importjava.awt.*;

importjava.applet.*;

publicclassscoreConvertextendsApplet{

Labelprompt;

TextFieldinput;

intExcellent,Good,Middle,Pass,Failure;

publicvoidinit(){

prompt=newLabel("输入成绩");

input=newTextField

(2);

add(prompt);

add(input);

}

publicvoidpaint(Graphicsg){

g.drawString("各等级的人数:

",25,40);

g.drawString("优秀:

"+Excellent,25,55);

g.drawString("良好:

"+Good,25,70);

g.drawString("中等:

"+Middle,25,85);

g.drawString("及格:

"+Pass,25,100);

g.drawString("不通过:

"+Failure,25,115);

}

publicbooleanaction(Evente,Objecto){

intscore=Integer.parseInt(input.getText());

showStatus("");input.setText("");

switch(score/10){

case10:

case9:

Excellent++;break;

case8:

Good++;break;

case7:

Middle++;break;

case6:

Pass++;break;

case5:

case4:

case3:

case2:

case1:

case0:

Failure++;break;

default:

showStatus("输入有误,重新输入!

");

}

repaint();

returntrue;

}

}

程序3-3需要注意的地方

在action()方法中调用的repaint()方法,是一个系统方法,它具有自动调用paint()方法的能力,从而实现对网页的刷新。

3.2循环控制语句

Java中的循环控制语句有三种,分别是:

while,do-while和for语句;

循环体内的语句会反复执行,直到控制布尔表达式的值变为false为止。

3.2.1while语句

while语句格式:

while(Boolean-Expression)

StatementS

程序示例3-4略

3.2.2do-while语句

do-while语句的语法格式如下:

do{

Statement

}while(Boolean-Expression);

程序3-5如下:

//产生一个大于0.9的随机数为止

publicclassGenerateDoubleNumbers{

publicstaticvoidmain(Stringargs[]){

doubled;

do{

d=Math.random();

System.out.println(d);

}while(d<0.9);

}

}

3.2.3 for语句

for语句语法格式如下:

for(ForInitopt;Boolean-Expression;ForUpdateopt)

Statement

//程序3-6输出一个*三角形

publicclassprintGraphicsextendsApplet{

publicvoidpaint(Graphicsg){

intxpos,ypos=0;

for(introw=6;row>=1;row--){

xpos

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

当前位置:首页 > 考试认证 > 其它考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1