java程序设计教案.docx
- 文档编号:27265595
- 上传时间:2023-06-28
- 格式:DOCX
- 页数:20
- 大小:22.56KB
java程序设计教案.docx
《java程序设计教案.docx》由会员分享,可在线阅读,更多相关《java程序设计教案.docx(20页珍藏版)》请在冰豆网上搜索。
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=25; ypos+=15; for(intcolum
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 程序设计 教案