版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java程序设计授课教案授 课 人:授课班级:电子商务专业第一章 Java语言简介教学目的要求 了解Java的基本特点和用途 掌握如何下载Java SDK软件包 了解设置Java程序的开发环境SDK 如何运行Java程序 了解Java的概貌主要内容 Java语言的发展历程; Java语言的特点; Java语言的开发工具; Java应用程序和小程序; Java程序的注释方法; 写Java程序的风格规范。重点内容 Java语言的特点; Java语言的开发工具; Java应用程序和小程序;难点内容无课时分配1课时教学方法讲授法、演示法、对比法讲授内容提要1.1 Java语言的发展简介1991年Sun
2、 Mircosystem 公司成立了一个Green项目开发小组,Jame Gosling 为组长;设计Java采用虚拟机代码(Virtual Machine Code),即.class文件,它通过解释器运行 ;1995年5月Sun Mircosystem 公司对外正式发布Java1.0; Java2 用途:适用于各种应用开发,尤其是网络应用,网络服务和嵌入式系统 。1.2 Java语言的特点1简单性2面向对象3网络适用性4健壮性5安全性6平台无关性7可移植性8解释型9高性能10多线程11动态性12丰富的类库13嵌入浏览器运行1.3 Java类库的概念1.4 网络浏览器1.5 Java开发工具N
3、etBeans: 这个集成环境可以方便地进行程序的编辑、编译、生成和运行。J2sdk : http:/ 免费下载 ;Visual J+ 6.0 / 8.0: VJ+还吸收了VB集成开发环境IDE的特征,是一个强有力的Java程序开发工具。Jcreator Eclipse (MyEclipse)等1.6 Java程序的分类基于控制台的应用程序;基于浏览器运行的小程序applet。小程序与应用程序的区别是:小程序必须依赖一个HTML文件和支持Java的网络浏览器。老师演示小程序和applet程序应用程序举例 ( 程序1-1 ):public class hello publ
4、ic static void main (String args ) System.out.println (Hello Java !); 小程序举例 ( 程序1-2 ):import java.awt.Graphics; / 注意该行的含义import java.applet.Applet;public class sayhello extends Applet public void paint (Graphics g ) g.drawString (Hello Java !,35,30); 小程序对应的HTML文件: 1.7 对Java程序的解释1.8 编写Java程序的风格要求课堂练习
5、:请编写一个应用程序输出你自己的学号和姓名课外练习(作业):下载并安装J2SDK;设置系统环境变量下载并安装MyEclipse熟悉MyEclipse的开发环境第2章 数据类型、运算符和表达式教学目的要求 掌握字符常量和符号表示的常量的概念和应用 掌握整形、浮点型、字符型和布尔型变量的概念和应用 掌握数据的概念 理解参数传递方式 学会逻辑运算符、算术运算符和位运算符的使用方法主要内容 常量:包括字面常量和符号表示的常量; 变量:整形、浮点型、字符型和布尔型; 数组:Java的数组属于类类型; 参数传递方式; 运算符:包括逻辑运算符、算术运算符和位运算符等; 重点内容 整形、浮点型、字符型和布尔型
6、变量的概念和应用; 符常量和符号表示的常量的概念和应用难点内容 参数传递方式课时分配2课时教学方法讲授法、演示法、对比法、实验验证法讲授内容提要2.1 常量整形常量:采用八进制、十进制、十六进制表示,但不能采用二进制表示,和C/C+中的一样。 浮点常量:采用十进制或科学记数法表示。在缺省情况下一个浮点数是double型。布尔常量:true和false,它们不是数,不能进行算术运算。字符常量:与C/C+中的表示类似 。字符串常量:Java中字符串常量是对象 。2.2 变量变量的命名原则是:以字母(az和 AZ)、下划线(_)和$符号开头的, 由字母、数字(09)、下划线和$构成的一个符号序列。例
7、如,a,_a,NameOfStudent,$10均是合法变量名,而-a和9a是非法变量名。关键字不能用作变量名 ( 见表2-1 )注意:Java对变量是区分大小写 .2.2.1 整形类型的变量字节(byte)型,8个位。 短整形(short),占16个位。整形 ( int ),占32个位。长整形 ( long int ),占64个位。Java中的整形最值均有符号。例如程序2-1测试最值:public class Test_Int / 程序2-1 测试整形变量的最值 public static void main(String args)System.out.println(Byte.MAX_V
8、ALUE ); 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是原子类型
9、,而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.NEGATI
10、VE_INFINITY是正/负无限大 。2.2.4 布尔类型变量boolean变量取值:true和false ;true和false不能转换成任何数值表示,true不是1,false也不是0 。2.2.5 原子类型变量的生存空间一个变量的生存空间是由两个大括号决定的 范围。下列写法在C/C+中是正确的,但在Java中是错误的 ( 注意 )。int x=1;int x=0; / 错误2.3 变量赋值问题如果类中定义的原子类型变量,未给出初值,那么它们将有缺省值 :byte、short、int 和long变量的缺省值是0;char 、float、double和boolean变量的缺省值分别是u0、
11、0.0f、0.0d和false。 方法内定义的局部变量,应当对其赋值,否则无法通过编译 。例如:/ 程序2-4class Test / 定义一个类int Value; / 类中的变量未赋值,缺省就是0public class Test_Varpublic static void main(String args) int x=100; / 必须赋值,否则无法通过编译Test obj=new Test( );/ 对象赋值System.out.println( obj.Value + +x); 2.4 数组Java数组是系统定义类Array 的子类;数组的分类同C/C+:一维和多维。2.4.1 一
12、维数组定义数组的格式 :int a ; 或 int a ;其值是null ;在定义数组时不能指定大小。a仅是一个引用,代表一个数组名,但没有对应的空间。产生数组空间的方法有两种 : 在定义时直接赋值:int a =1,2,3; 通过new分配空间:int a =new int10;public class Test_Arraypublic static void main(String args)int a =1,2,3, b ; b= a ; for(int i=0;i3;i+) b i +;for(int i=0;i3;i+) System.out.println(ai); public
13、class Test_Arraypublic static void main(String args)int a =1,2,3, b ;b = new int6; System.out.println( “b数组长度 = ” + b.length);for(int i=0;ishort-int-long-float-double。这种转换规则也适应于赋值语句,当赋值符左右两侧变量类型不一致时,只要转换过程中不丢失数据,便进行自动转换。 class number int x;public class relationalOperator public static void main(Stri
14、ng args )number n1,n2;n1=new number( ); n2=new number( ); 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 错误? ;关系运算符用于对象时,是判别两个引用是否代表同一个对
15、象。而不是判断两个引用所指向的对象是否同属一个类。2.6.3 逻辑运算符逻辑运算符有&、| 和!,分别是与、或和非。运算结果是true或false; 逻辑运算有求值“短路”现象 ,例如程序2-11 :public class shortCut static boolean testOne(int x)System.out.println(x+ +1+ + (x1) );return x 1; static boolean testTwo(int x)System.out.println(x+ +1+ +(x2);return x 2; public static void main(Strin
16、g args)if (testOne(6) & testTwo(1)System.out.println(表达式为真);else System.out.println(表达式为假);2.6.4 位运算符位运算符:&、|、,分别称为位与、或、异或、左移、右移;Java引入一个专门用于逻辑右移运算符,它采用了所谓的零扩展技术,不论原值是正或负,一律在高位补0。例如: int a= - 2 , b ; b=a30;2.6.5 三元条件运算符语法格式:(exp)? (exp1) :(exp2) ;Java要求:(exp1)与(exp2)必须同类型 。2.6.6 “+”运算符Java对“+”进行了重载,
17、可以将任何类型的对象(包含原子类型)转化为String类型。 例如:int x=1;char ch=A; double d=9.8;System.out.println(Result: +x+ch+9.8);课堂练习:课外练习(作业):P32 3、4、6题。第3章 控制语句教学目的要求 了解Java程序的结构,学习使用各种语句结构来控制程序的流程,完成程序的功能任务。主要内容 Java的分支语句; 循环控制语句; break和continue语句; 带标号的break和continue语句。 重点内容 Java的分支语句; 循环控制语句; break和continue语句;难点内容 循环控制语
18、句; break和continue语句;课时分配3课时教学方法讲授法、演示法、对比法、实验验证法讲授内容提要3.1 分支语句if-else语句;switch-case语句 。3.1.1 if 语句if语句的语法格式 同C/C+;条件表达式必须是布尔类型,例如:下面的写法在C/C+中是合法的,但在Java中却是非法的 :int i=10;if ( i ) . 程序3-1描述了用applet从文本框获取数据,然后将比较的结果显示出来。 / 程序 3-1import java.awt.*;import java.applet.*; public class compareNumbers extend
19、s AppletLabel lab1,lab2;TextField input1,input2;int num1,num2;public void init( ) lab1=new Label(输入第1个整数); input1=new TextField(10);lab2=new Label(输入第2个整数);input2=new TextField(10);add(lab1); add(input1); add(lab2);add(input2);public boolean action(Event e , Object o) if (e.target=input1 | e.target=
20、input2) num1=Integer.parseInt(input1.getText( ); num2=Integer.parseInt(input2.getText( );if(num1num2)showStatus(num1 + num2)showStatus(num1+ +num2);else showStatus(num1+ = +num2);return true;3.1.2 switch 语句switch语句的语法结构 同C/C+;switch后面的表达式类型必须是字符类型或整形 ;case后面的常量不能重复 ;程序3-3采用小程序实现将学生的百分制成绩转换为优、良,中、及格和
21、不通过五个等级:/ 程序3-3import java.awt.*;import java.applet.*;public class scoreConvert extends AppletLabel prompt;TextField input;int Excellent,Good,Middle,Pass,Failure;public void init( ) prompt=new Label(输入成绩);input=new TextField(2);add(prompt);add(input);public void paint(Graphics g) g.drawString(各等级的人数
22、:,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);public boolean action(Event e , Object o) int score=Integer.parseInt(input.getText( ); showStatus(); input.setText(); switch
23、(score/10) case 10:case 9: Excellent+; break;case 8: Good+; break;case 7: Middle+; break;case 6: Pass+; break;case 5: case 4:case 3:case 2:case 1:case 0: Failure+; break;default: showStatus(输入有误,重新输入!); repaint( ); return true;程序3-3需要注意的地方在action()方法中调用的repaint( )方法,是一个系统方法,它具有自动调用paint( )方法的能力,从而实现
24、对网页的刷新。3.2 循环控制语句Java中的循环控制语句有三种,分别是:while,do-while和for语句;循环体内的语句会反复执行,直到控制布尔表达式的值变为false为止。3.2.1 while语句while语句格式: while ( Boolean-Expression ) StatementS 程序示例3-4 略3.2.2 do-while语句do-while语句的语法格式如下:do Statementwhile (Boolean-Expression ) ;程序3-5 如下:/ 产生一个大于0.9的随机数为止public class GenerateDoubleNumbers
25、 public static void main(String args )double d;dod=Math.random( );System.out.println(d);while (d=1;row-) xpos=25;ypos+=15;for(int column=1;column=row;column+) g.drawString(*,xpos,ypos);xpos+=7; 3.3 break语句和continue语句3. 3.1 不带标号的break语句和continue语句break语句可以跳出包含它的最内层的循环,不再执行剩余的语句;continue语句停止执行当前的循环,回到
26、循环处,开始执行下一轮的循环。这些特性和C/C+的功能一样。for( int i=1;i10;i+) if(i%3=0) continue; else System.out.println(i = +i); for( int i=1;i=0 & h=0 & m=0 & s60)? s: 0);return this ;String tostring( )return hour+:+min+:+sec ;public class timeToString extends Appletprivate time t;public void init( ) t=new time( );public v
27、oid paint(Graphics g) t.setHour(18).setMin(30).setSec(20); g.drawString( time:+t.tostring( ),25,45);在构造方法内部使用this,它用于指代另外一个构造方法,但不能指代非构造方法。例如:class point int x, y;point( )this(-1,-1);point(int a, int b) x=a;y=b;4.7 继承继承是软件重用的一种形式 ,可以提高系统的性能;继承语法:class className extends superClassName 各实例变量和方法的定义 例如:
28、class point int x, y; point(int x, int y) this.x=x; this.y=y; point( ) this.x=0; this.y=0; class circle extends point int radius; circle(int r, int x, int y) radius=r; this.x=x; this.y=y; Java不支持多继承,但支持多接口;子类的对象也是其超类的对象,反之未必;继承具有传递性: B继承于A,C又继承于B,则C也继承了A中的实例变量和方法。关键字super构造方法是一种特殊的方法,子类不能继承超类的构造方法,但
29、子类构造方法可以通过super调用超类的构造方法。 当创建子类对象时,首先执行超类构造方法,然后执行子类的构造方法。例如:class point / 程序4-8 int x, y; point(int x, int y) this.x=x; this.y=y; System.out.println(父类构造函数被调用!); class circle extends point int radius; circle(int r, int x, int y) super(x, y); radius=r; System.out.println(子类构造函数被调用!); public class te
30、stInherence public static void main(String args ) circle c1;c1=new circle(1,1,1);再次讨论构造方法若父类没有定义构造方法,那么对父类数据的初始化将采用系统缺省的构造方法;例如:class point int x, y; class circle extends point int radius; circle(int r, int x, int y) this.x=x; this.y=y; radius=r; 若父类定义有缺省构造方法,那么子类可根据自己的需要设置自己的构造方法。例如:class point int x, y; point( ) this(0,0); point(int x, int y) this.x=x; this.y=y; class circle extends point / 注意子类的构造函数 int radius; circle(int r, int x, int y) radius=r; 若父类定义的构造方法都是有参的,那么子类构造方法必须通过super调用父类构造方法,class point private int x, y; point(int x, int y) this.x=x; this.y=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- LY/T 3435-2025地表覆盖用彩色木片
- 深度解析(2026)《GBT 35853.8-2018航空航天等效术语表 第8部分:飞行器》
- 深度解析(2026)《GBT 35552.1-2017船舶自动识别系统(AIS)B类设备技术要求 第1部分:载波侦听时分多址(CSTDMA)》
- 深度解析(2026)《GBT 35435-2017空间站科学实验柜通 用设计规范》
- 《DAT 43-2009缩微胶片数字化技术规范》(2026年)合规红线与避坑实操手册
- 机械工程师CAD绘图试题及分析
- 大学眼科题库及答案
- 县级计划生育协会工作制度
- 高中美术试题及答案
- 广告创意试题及策略
- 普通高中美术课程标准(2017年版2025年修订)
- 焊接车间机器人焊接路径标准规范
- 2026四川广安市前锋区社区工作者招聘43人笔试模拟试题及答案解析
- 血液透析护理沟通技巧
- 行政机关科室工作制度
- 雨课堂学堂在线学堂云《人工智能安全与伦理(北京航空航天)》单元测试考核答案
- 采购内部人员管理制度
- 2026年2026年初级会计实务试题及答案
- 新时代树立远大理想课件
- 传染性单核细胞增多症诊疗指南(2025年版)
- 膀胱超声课件
评论
0/150
提交评论