




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
江西先锋软件职业技术学院教 案院、部: 软件工程学院 教研室: 计算机应用 姓 名: 况嫦娥 职 称: 助教 课程名称: JAVA程序设计 授课专业: 程序设计开发 学生人数: 授课时间: 2009、9 至 2010、2 学年度 第二 学期教材名称: JAVA应用教程 编 者 夏文红 出版单位: 清华大学出版社 出版时间 2007.8 第1章 Java语言概述教学目的与要求: 1、Java语言发展历史2、java运行机制3、java程序的构成教学重点:1、java运行机制 2、环境变量的设置 3、JAVA程序的分类教学难点:Java程序的运行教学课时:6课时教学过程: 1.1 Java语言的简述 1.1.1 Java语言的诞生1991年,美国sun microsystems公司的JAME GOSLING等到人开发了一个名为OAK的软件, 1995.5.23 ,Sun发布了 Java 1.0。 1.1.2 Java语言的主要特点 1. 简单性 2. 平台无关性3. 面向对象的技术4. 支持多线程 5. 动态性 6. 安全性 1.1.3 Java程序的运行机制 1)Java 虚拟机(Java Virtual Machine) Java虚拟机(JVM)读取并处理经编译过的平台无关的字节码class文件 。 2)垃圾收集机制 在C/C+ 等语言中,由程序员负责回收无用内存。 Java语言解除了程序员回收无用内存空间的责任。它提供一种系统级线程跟踪存储空间的分配情况。并在JVM的空闲时,检查并释放那些可被释放的存储器空间 3)代码安全性检测1.4 Java运行环境的安装配置 n 1.4.1 Java开发工具包 版本为JDK1。5。0,n 环境变量的设置 在安装Java开发工具包JDK之后,为了保证Java源程序在不同目录下能够正常编译和运行,需要设置环境变量。classpath= .;c:program filesj2sdk1.5.0lib.path= c:program filesj2sdk1.5.0bin 1.5 Java程序的分类 Java程序分成两类: Application(应用程序) Applet(小程序)1.5.1 Java应用程序 案例名称:Java Application程序程序1-1:TestHelloWorld.javapublic class TestHelloWorld public static void main(String args) System.out.println(Hello World!);1)一个简单的JAVA应用程序的基本格式有以下几点规定:1.JAVA程序是无格式的纯文本文件,可以用任何文本编辑器(例如:WORD,写字板)来编写JAVA程序.2.JAVA程序由类构成,一个JAVA程序可以有多个类,每个类可以有多个方法,但是最多只能有一个公共类.3.JAVA程序要保存为以.java为后缀的文件,文件名必须和公共类的类名相同.4.对于一个应用程序来说,还必须有一个main()方法,且只能有一个.该方法标志着执行应用程序的起始点.其中关键字public表明所有的类都可以调用这个方法,static表明这是个静态方法.void表示无返回值.5.任何方法中可以有多条语句6.JAVA程序中的每条语句都要以分号”;”结束.7. 注释 “/”用于单行注释。注释从“/”开始,终止于行尾。 “/*/”用于多行注释。注释从“/*”开始,到“*/”结束。 2)java程序的编译 由javac编译器编译源程序,产生字节码文件(.class文件)。 javac 源程序名3)运行程序 由java解释器解释执行。 java 主类名1.5.2 Java Applet程序 java程序的另一种形式是java applet,applet没有main()方法,它必须嵌在超文本文件中,在浏览器中进行运行范例名称:Java Applet程序程序1-2: Welcome.Javaimport java.applet.*; import java.awt.*;public class Welcome extends Applet public void paint(Graphics g) g.setColor(Color.red); g.drawString(欢迎你学习Java语言,30,30); g.setColor(Color.blue); g.drawString(Java一定会给带来快乐!,20,60); 1) java applet的编译 javac 源文件名2) java applet的运行 java applet程序必须嵌入到html文件中才能够执行,因此必须编写相应的html文件,保存为welcome.html 使用浏览器或JDK提供的appletviewer工具即可运行该Java小应用程序 appletviewer welcome.html3)小程序的构成 1、Applet 由类构成,且必须有一个是Applet的子类称为主类 2、Applet中没有实现main()方法,可重写其所需方法1.6 Java语言的面向对象特性 1)对象 对象是由一组属性和对这组属性进行操作的一组服务组成2)类 类是具有共同属性和行为的对象集合,其内部包括属性和服务两个部分3)类的定义 类的定义包括两部分:类声明和类体。基本格式为:/ 语法格式: class 4)对象的声明 类名 对象名本章小结本章主要介绍了Java语言的特点, Java运行环境的配置Java程序的分类和Java语言的面向对象特性第2章 Java语法基础教学目的与要求: 1、标识符、分隔符和关键字2、常量和变量3、条件语句循环语句跳转语句教学重点: 条件,循环语句,用if-else,for,while编制程序教学难点:无教学课时:12课时教学过程:2.1标识符、分隔符和关键字 1)标识符2)关键字3)分隔符2.2常量和变量 常量 :是指直接用于程序中的、不能被程序修改的、固定不变的量 变量 :程序执行中数值可变的数据称为变量2.3 Java的数据类型 1布尔类型-boolean布尔型数据只有两个值true和false,且它们不对应于任何整数值。布尔型变量的定义如:boolean b=true; 2字符类型-char字符常量:字符常量是用单引号括起来的一个字符,如a,A;3整型数据 byte,short, int, long4. 浮点型float 4个字节double 8个字节常量的表示方法: 十进制数形式 由数字和小数点组成,且必须有小数点,如0.123, 1.23, 123.0 科学计数法形式如:123e3或123E3,其中e或E之前必须有数字,且e或E后面的指数必须为整数。2.4运算符、表达式和语句 2.4.1运算符 1)算术运算符:+,*,/,%,+,例2-6 TestArithmetic.java 2)关系运算符: ,=,高byte,short,char- int - long - float - double2)强制类型转换 高级数据要转换成低级数据,需用到强制类型转换。这种使用可能会导致溢出或精度的下降,最好不要使用。强制类型转换的格式为 (type)变量; 2.4.3语句和块 语句以(;)号表示结束块是一组处在“”和“之间的零条或者多条语句 2.4.4控制流程语句 2.5 条件语句 (1)if语句的一般形式 if(条件表达式) 语句组1; else 语句组2; 例2-9 ifTest.java (2)if语句的嵌套形式 在if语句中又包含一个或多个if语句称为if语句的嵌套。形式如下: if() if(); else; else if(); else;例2-10 ifElse.java2) switch语句 它的一般形式如下: switch (表达式)case 值1 : 语句1;break;case 值2 : 语句2; break;case 值N : 语句n;break; default :缺省语句; 值1值N是常量值,表达式的返回值和值1N的类型必须一致。2.6循环语句 1. for 循环 for语句的语法如下:for(表达式1; 表达式2; 表达式3) 语句块 例 2-12 ForLoop.java 2. while (表达式) 语句块 例 2-13 WhileLoop.java 3. do-while语句 do 语句块 while (表达式); 例 2-14 DoWhileLoop.java 2.7跳转语句 1)break语句:(1)直接中断当前正在执行的语句,如switch语句。(2)跳同它所在的块,主要用于循环语句中,强迫退出循环,使循环终止。如果有标号程序会转移到带有此标号的语句。 例 2-15 BreakDemo.java 2) continue语句continue语句主要用于循环体中,用来结束本次循环或跳转到外层循环中。无标号的continue语句结束本次循环,有标号的continue语句可以选择哪一层的循环被继续执行例 2-16 ContinueDemo.java 3) return 语句 用来退出当前的方法return 本章小结 本章作为Java程序设计的语言基础,主要介绍了Java语言的标识符、分隔符和关键字,常量和变量,基本数据类型,运算符、表达式和语句,控制流程语句。习题2第3章 Java面向对象程序设计教学目的与要求: 1、了解类的声明及构成2、掌握局部变量和成员变量的声明及两者区别3、掌握类的继承教学重点:1、变量,方法的修饰符 2、方法的重载教学难点:类的继承教学课时: 教学过程:3.1类的创建 1)类声明 class 类定义修饰符有: public和缺省修饰符 abstract :如果一个类被声明为abstract,那么它是一个抽象的类,所谓抽象类是指此类不能被实例化生成自己的对象 final :如果一个类被声明为final,意味着它是最终类,不能作为父类被继承,不能再派生出新的子类2)成员变量成员变量的声明方式如下:public | protected | private static final transient volatile type variableName;说明:1、 public、protected、private和缺省修饰符,都是用来限定变量的访问权限2、 用static说明该变量是一个静态变量,也称类变量,无static修饰的变量则称为实例变量3、 用final说明的变量可以当作一个常量使用3)成员方法 成员方法的格式为: 方法修饰符 返回值类型 方法名(参数表) 方法体1 成员方法修饰符主要有public、protected、private、static、final、abstract、synchronized这7种,前3种的访问权限、说明形式和含义已在成员变量中说明,下面仅说明后4种2 用final说明该方法是最终方法,指该方法不能被其所在类的子类重载3 abstract被声明为abstract的方法不需要实际的方法体,只要提供方法原型接口,即给出方法的名称、返回值类型和参数表4static:用static说明方法为静态方法,也称为类方法。在使用这个方法时不需要初始化该方法所在的类。static类型方法也不能被它的子类所重载。被声明为static的类方法在使用时有三点要特别注意:a、类方法的方法体中只能使用类中其它同样是static的变量或方法;b、在使用类方法时不需要初始化该方法所在的类;c、类方法不能被子类修改或重新定义。 5. synchronized用synchronized说明方法是同步方法,主要用于多线程程序设计,控制多个并发线程的同步访问。用于保证在同一时刻只有一个线程访问该方法,以实现线程之间的同步。同步方法是实现资源之间的协调共享的保证方式 例3-1 public class Testvarible private int i=1;public void method1() int i=4, j=5;this.i = i + j;method2(7);public void method2(int i) int j=8;this.i = i + j;System.out.println(this.i); public static void main(String args) Testvarible t = new Testvarible ();t.method1(); 4)方法重载 是指多个方法享有相同的名字,方法的参数列表必须不一样,这里的不一样可能是个数,类型不一样。重载和方法的返回值无关,返回值可以相同,也可以不同。在同一个类中可以定义多个同名方法。 例3-3 5)构造函数 构造函数是一种特殊的成员方法,用于创建这个类的一个新的对象。构造函数方法名与类名相同。除了构造方法,在类中不能出现与类名相同的方法。Java语言中每个类都有构造函数,用来初始化该类的一个对象。如果一个类没有说明该类的构造方法,则系统将提供隐含的不带任何参数的缺省构造函数.特点: 1重载经常用于构造函数 2. 构造方法只能由new运算符调用 3构造方法不能从父类中继承 例3-4 作三件事:(1) 为对象分配内存空间; (2) 初始化对象中的实例变量的值,初始值可以是缺省值,或者变量按指定的值初始化; (3) 调用该类的某个构造方法 6)this的用法 用于代表当前对象本身,如果局部变量和成员变量同名,用this来引用 例3-5 class Collegeint a;public static void main(String args)int a=6; College bb=new College(); System.out.println(main().a=+a); System.out.println(bb.a=+bb.call(); int call() int a=9; this.a=a+; System.out.println(call().a=+a); return this.a; 7)对象 在Java语言中,一个Java对象是类的一个实例,创建一个对象就是创建类的一个实例,对象即类的实例化。一个对象的生命周期包括三个阶段:生成、使用和消除。1生成 1)声明:type objectName声明并不为对象分配内存空间,而只是分配一个引用空间;对象的引用类似于指针,是32位的地址空间2)实例化:运算符new为对象分配内存空间,它调用对象的构造方法,返回引用;一个类的不同对象分别占据不同的内存空间。3) 生成:执行构造方法,进行初始化;根据参数不同调用相应的构造方法。2.对象的使用 通过运算符“.”可以实现对变量的访问和方法的调用。变量和方法可以通过设定访问权限来限制其它对象对它的访问。调用对象的变量格式:objectReference.variable 对象名.变量名objectReference是一个已生成的对象,也可以是能生成对象的表达式。例:p.x= 10;tx=new Point( ).x;调用对象的方法格式:objectReference.methodName(paramlist); 对象名.方法名(参数表);例如:p.move(30,20);new Point( ).move(30,20);3.对象的清除当不存在对一个对象的引用时,该对象成为一个无用对象。Java的垃圾收集器自动扫描对象的动态内存区,把没有引用的对象作为垃圾收集起来并释放。System.gc( );当系统内存用尽或调用System.gc( )要求垃圾回收时,垃圾回收线程与系统同步运行。3.2 继承 1.概念:继承(inheritance)的思想就是重用其它类中的方法和属性来创建新类2创建子类:格式:class SubClass extends SuperClass 如果缺省extends子句,则该类为java.lang.Object的子类。子类可以继承父类中访问权限设定为public、protected、default的成员变量和方法。但是不能继承访问权限为private的成员变量和方法.3. 成员变量的隐藏和方法的重写我们在子类中定义的成员变量和父类中的成员变量同名时,此时称子类的成员变量隐藏了父类的成员变量。当子类中定义了一个方法,并且这个方法的名字,返回类型,参数个数以及类型和父类的某个方法完全相同时,父类的这个方法将被隐藏,这时我们说重写了父类的方法例3-6 /父类Personclass Person String name; int age; int getAge() return age; void setAge(int i)age = i; String getName() return name; void setName(String str) name=str; public String getInfo() return Name: + name + n +age: + age; /子类Student class Student extends Person String Univ; /子类添加变量 String getUniv() /子类添加方法return Univ; void setUniv(String str) /子类添加方法 Univ=str; public String getInfo() /子类覆盖父类方法return Name: + name + nage: + age+ nUniversity: + Univ; public class Testovermethodpublic static void main(String args) Student bini = new Student(); bini.setAge(19); /调用父类变量和方法 bini.setName(doudou); bini.setUniv(Tshinghua University); System.out.println(bini.getInfo(); /调用子类覆盖后方法 3.2.4 关键字static 1. 用static声明的变量为类变量, 在生成每个类的实例对象时,Java运行时系统为每个对象的实例变量分配一块内存,然后可以通过该对象来访问这些实例的变量。不同对象的实例变量是不同的。而对于类变量来说,在生成类的第一个实例对象时,Java运行时系统对这个对象的每个类变量分配一块内存,以后再生成该类的实例对象时,这些实例对象将共享同一个类变量,每个实例对象对类变量的改变都会直接影响到其他实例对象.2. 实例变量由对象名调用3. 在类方法中不能引用实例变量,实例方法。 不能使用super、this关键字,不能被子类重写。 例3-7 class Student private int id;public static int grade= 1;public Student () grade +; id = grade;class OtherClass public static void main(String args) Student. grade = 1;System.out.println(Student. grade);Student c = new Student ();System.out.println(Student. grade);/System.out.println(c. id); 例子3-8 class Student private int id;private static int grade = 0;public static int getGradeStudent () return grade;public Student () grade +;id = grade;class Teststudentpublic static void main(String args) System.out.println(Student. getGradeStudent ();Student s1 = new Student ();System.out.println(Student. getGradeStudent ();3.2.5关键字final和abstract 教学目的与目标:1、 理解final的用法2、 理解的abstract用法教学重点与难点:1 理解的abstract用法教学方法和手段1、以讲授为主,以案例为辅。2、使用先锋电子教室多媒体手段进行教学 教学过程及详细内容:1. final的用法final标记的类不能被继承。Final class pfinal标记的方法不能被子类重写。final标记的变量(成员变量或局部变量)即成为常量,只能赋值一次。final标记的成员变量必须在声明的同时或在每个构造方法中显式赋值,然后才能使用。应用案例见例3-9。2.abstract的用法 如果一个类在声明时被关键字abstract所修饰,说明该类不能直接创建对象,这样的类被称为抽象类 1)如果一个方法在声明时被关键字abstract所修饰,那么该方法被称为抽象方法。抽象方法只允许声明,不允许实现2)抽象类必须产生子类,由子类创建对象例3-10 abstract class Person abstract void homeplace(String home ); public void age(int age ) System.out.println(This persons age is +age); class Student extends Personvoid homeplace(String home ) System.out.println(This persons homeplace is +home); class Test public static void main( String args ) Student Bob = new Student ( ); Bob.homeplace(BeiJing City); Bob.age(23);3.super的用法 在子类中隐藏了父类的成员变量或覆盖了父类的方法后,常常还需要调用父类中被隐藏的变量和被覆盖的方法,这是就需使用关键字super来访问父类的变量和方法。关键字this用来引用当前对象,而关键字super用来引用当前对象的父类n super的使用可以分为下面三种情况:n 1)用来访问父类被隐藏的成员变量,如:n super.variablen 2)用来调用父类中被重写的方法,如:n super.Method(paramlist):n 3)用来调用父类的构造方法,如:n super(paramlist);例3-11class Animal String hostname; String color; int age; float weight; Animal() Animal(String s, float w) this.hostname=s ; this.weight = w; System.out.println(My hostname is +hostname+n + My weight is +weight); void setAge(int i) this.age = i; void setColor(String st) this.color=st; void setHostname(String str) this.hostname=str; public String getInfo() return hostname: + hostname + n +age: + age;class Dog extends Animal float weight; String hostname; void setHostname(String host) hostname=host; void setWeight(float g) weight = g; Dog( String s, float w, String c) /super(s,w); /调用父类构造函数 color =c; System.out.println(My weight is +super.weight); /调用父类被隐藏的变量 System.out.println(super.getInfo(); /调用父类被覆盖的方法 public String getInfo() return this.Hostname=+ hostname+ this.age=+ age+ this.Color =+ color ;class superTestpublic static void main(String args) Dog bini = new Dog(pipi, 16.8f, white); bini.setAge(2); bini.setColor(Black); bini.setWeight(10.5f); bini.setHostname(Lucky); System.out.println(this.weight=+bini.weight); /调用子类隐藏的变量() System.out.println(bini.getInfo(); /调用子类覆盖的方法 第三章第五讲 包 ,访问控制教学目的与目标:1、 掌握包的创建2、 理解import语句3、 理解访问控制符教学重点与难点:1、 理解import语句教学方法和手段1、以讲授为主,以案例为辅。2、使用先锋电子教室多媒体手段进行教学 教学过程及详细内容:1、package语句 package语句作为Java源文件的第一条语句,指明该文件中定义的类所在的包。(若缺省该语句,则指定为无名包)。它的格式为:package pkg1.pkg2.pkg3;2、import语句为使用定义在不同包中的Java类,需用import语句来引入所需要的类。语法格式:import package1.package2. (classname |*);3、访问控制可以对Java类中定义的属性和方法进行访问控制-规定不同的保护等级: ModiferSame ClassSame PackageSubclassUniverseprivateYesdefaultYesYesprotectedYesYesYespublicYesYesYesYes1) Private:只能为自己所用:例3-14 class Person private int age;private int weight;int getAge() return age; /合法void setAge(int i) age = i; /合法private int setWeight(int j)weight = j; /合法return weight;void showWeight()int g=setWeight(160); /合法System.out.println(本人体重: +g);public class Look public static void main(String args)Person d = new Person();d.setAge(42); /合法/d.setWeight(99); /非法/System.out.println(本人体重: +d.weight); /非法/System.out.println(本人年龄: + d.age); /非法System.out.println(本人年龄: + d.getAge();d.showWeight();2) protected:可为自己、同包、子类所用3) public :可为所有人所用4) default:为自己,同包人所用例3-16: class Toolvoid display(int a , int b, int c)int k = a + b + c;System.out.println(the result is: + k);String getInfo()return this is from class Tool;public class TestToolpublic static void main(String args)Tool t = new Tool();t. display(6,7,8);System.out.println(t.getInfo(); 课后习题:第8(2)(12)小题第三章第六讲 接口 ,内部类教学目的与目标:1、理解接口的定义2、掌握接口的使用3、了解内部类教学重点与难点:1、接口的使用教学方法和手段1、以讲授为主,以案例为辅。2、使用先锋电子教室多媒体手段进行教学 教学过程及详细内容:1、接口的定义是一种只包含常量和方法的定义特殊的抽象类一个类可以实现多个无关的接口,但必须重写接口中所有的抽象方法2、定义接口public interface 接口名 extends 父接口名列表接口体如: public interface Runner int id = 1;public void start();public void run();public void stop();3、使用接口 一个类可以实现接口,格式为: class 类名implements 接口列表那么类必须实现这些接口中的所有方法,修饰符一定为public 例3-18 interface Runner public void run(); interface Swimmer public double swim(); abstract class Animal abstract public int eat(); class Person extends Animal implements Runner,Swimmer public void run() System.out.println(in method run!);public double swim() System.out.println(in method swim!);return 3.14;public int eat() System.out.println(in method eat!);return 2000;public class TestInterfacepublic static void main(Stri
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽省宣城市郎溪县2024-2025学年高二上学期期末考试化学试题及答案
- 小区农业生产合作合同
- 行政文件归档与资料管理系统
- 工程项目管理计划执行与监控工具
- 高中现代文阅读方法指导与训练教案
- 商业场所监控设备安装合同书
- 时间作息课件
- 时钟认识任意时间课件
- 写劳动最光荣作文(14篇)
- 绿色简约国际礼仪培训
- 围手术期质量评价标准(手术室)
- 化学品安全技术说明(胶水)
- 输血法律法规培训PPT
- 海姆立克急救(生命的拥抱)课件
- 越南语基础实践教程1第二版完整版ppt全套教学教程最全电子课件整本书ppt
- 标准化项目部驻地建设方案(五星级)
- 220kv升压站质量评估报告
- C语言程序设计(第三版)全套教学课件
- 软件系统平台对接接口方案计划
- 硅的基本性质
- 大连市劳动用工备案流程
评论
0/150
提交评论