面向对象程序设计教案

上传人:xt****7 文档编号:104541614 上传时间:2022-06-10 格式:DOCX 页数:13 大小:457.21KB
收藏 版权申诉 举报 下载
面向对象程序设计教案_第1页
第1页 / 共13页
面向对象程序设计教案_第2页
第2页 / 共13页
面向对象程序设计教案_第3页
第3页 / 共13页
资源描述:

《面向对象程序设计教案》由会员分享,可在线阅读,更多相关《面向对象程序设计教案(13页珍藏版)》请在装配图网上搜索。

1、1 课程内容:JAVA重要基础知识推荐教材:面向对象程序设计(第3版),叶乃文等编著,清华大学出版社推荐参考书:Thinking in JAVA(中文版书名:JAVA编程思想)网上可以下载到电子书2 知识点:3 具体内容3.1 JAVA的发展历史Java是一门完整的编程语言,包括自己的语法和各种底层的支持。SUN:斯坦福网络1991年SUN公司为了竞争一个叫做GREEN的项目,就是利用各种硬件设备,控制家电的项目,他的技术人员本来打算用C+来开发的,但是C+本身比较复杂,所以他们又自己开发一个新的平台Oak(橡树),但是,很遗憾,这个语言没有竞标成功,那么这门语言就意味着死亡。后来,Sun公司

2、的开发人员又开始跟网景学习了浏览器技术,开发了一款浏览器叫做HOTJAVA,在1995年的时候将Oak重新更名为Java。到了1998年的时候,SUN正式将JAVA更名为JAVA2,主要是JAVA 2中增加了一系列的轻量级的开发包,这些开发包主要都是用在图形界面的开发上,这些个图形界面统一称为JFC,这个时代很快就过去了。现在的开发已经基本上不用JFC了,主要是拜微软所赐。微软的.net战略,它开发出了J#,实际上就是将JAVA语言进行了改写,他想把JAVA 做成VB的风格,但是这样一来呢,就把JAVA中各种底层API改写掉了。这样微软构成侵权,SUN就把微软告上方法庭,微软公司进行赔付,所以

3、在Windows XP 之后就不再支持JVM加了,这样SUN又告了微软,当然又得赔钱。后来微软为了继续发展他的.net战略,根据J#重新进行了改革,新开发出了一套C#语言,所以现在看到的.net主推平台就是ASP.NET+C#了。SUN其实对JAVA的期望还是在于嵌入式系统的开发上,但现在的嵌入式系统基本都是在做游戏开发。JAVA的主要分支方向:l J2SE :是Java的标准版本,提供基本的底层支持,图形界面等等。n 在2005年Java十周年庆祝大会上,正式更名为JAVA SE。l J2EE:是Java的一个主要方向,主要用于构建企业的应用系统。n 在2005年Java十周年庆祝大会上,正

4、式更名为JAVA EE。l J2ME:是Java的微型版本,主要就是用于嵌入式系统的开发,现在主要就是做游戏的n 在2005年Java十周年庆祝大会上,正式更名为JAVA ME。JAVA的最大特点是面向对象。面向对象的概念最早是在70年代的时候由Smalltalk语言提出来的,Smalltalk是IBM开发出来的语言。JAVA语言是属于编译型和解释型的语言,这意味着,所有的JAVA源程序代码,需要先编译,编译之后再在电脑上进行解释,所以JAVA的语言执行分为两步。实际上 JAVA的基础语法是和C语言的格式是完全一样的。在JAVA中不存在指针的概念,但是存在引用的概念,实际上传递的也是内存地址。

5、JAVA的安全性也是最高的,因为所有的操作都是以字节码(class)文件的形式保存的。JAVA是由C+开发出来的,它的最大特点是跨平台。JAVA的所有程序都是在一台虚拟的电脑上执行的,就是JVM。Source.Java经过编译之后形成Sourse.class执行。 JAVA的运行中,会根据不同的操作系统提供一个JVM的版本支持,所有的程序执行都知识找到JVM,由JVM去直接适应操作系统,这样一来,所有的程序就可以在任意的操作系统上执行。所有的代码如果可以由A直接到B,这样的代码肯定是不好用的,中间加入过渡端ACB3.2 JAVA基础部分重要知识3.2.1两个环境属性JDK安装完成之后,实际上所

6、有的命令都在C:Program FilesJavajdk1.7.0_15bin目录下,但是所有的JAVA程序的编译和执行都必须在命令行窗口中完成,为了让Windows知道bin目录下有执行的命令,就需要配置path属性。范例:编写一个简单的Java程序。程序编写完成之后,要用javac和java命令进行编译和执行:l 编译:javac类名称.javal 执行:java 类public class HelloWorld /声明一个类,类名称的命名规范:所有单词的首字母必须大写public static void main(String args) /主方法System.out.print(Hel

7、loWorld!); /系统输出,在屏幕上打印刚才我们正常执行程序,在执行HelloWorld类的时候在testjava目录下,生成了HelloWorld的class文件。3.2.2 public class 和class的区别在编写类的时候可以使用两种方法来定义类:l public class 类名称l class 类名称如果一个类声明的时候使用了public class进行声明,则类名称必须与文件名称完全一致。public class HelloDemo /声明一个类,类名称的命名规范:所有单词的首字母必须大写public static void main(String args) /主方

8、法System.out.print(HelloWorld!); /系统输出,在屏幕上打印使用class进行声明的时候,可以编译执行。此类使用了public class进行声明,类名称是HelloDemo,但是文件名称是HelloWorld.java, 所以此时编译将产生以下问题:以上的错误信息表示:因为使用的是public class声明,所以类名称应该与文件名保持一致,也就是说,我们应该用HelloDemo.java来为文件命名。如果类的声明采用了class,则类名称可以与文件名称不一致,但是执行的时候肯定执行的是生成后的类名称。在一个*.java的文件中,只能有一个public class

9、的声明,但是允许有多个class的声明。3.2.3 一个小的注意事项System.out.print()属于完成屏幕打印的功能,如果后面加上一个“ln”则表示输出之后换行。public class HelloWorld /声明一个类,类名称的命名规范:所有单词的首字母必须大写public static void main(String args) /主方法System.out.println(HelloWorld!);System.out.println(HelloWorld!);/系统输出,在屏幕上打印Java中类名称、变量名等都有标识符的规范:由字母、数字、下划线、$(以后在文件名称上看到

10、有$符号的,则在程序中一律使用“.”来表示)组成,其中不能以数字开头,不能是java中的保留字。关于保留字,java中一共存在49个保留字,关于保留字有一些说明:l JAVA产生的时候就预留了两个保留字,goto,constl JDK 1.4时增加了assert保留字l JDK 1.5时增加了enum保留字l 在java中以下的内容不属于保留字,但是是有意义的名称:ture,false,null所有的保留字大家没必要都记住。3.2.4数据类型的划分Java中的数据类型主要划分为两类:l 基本数据类型n 数值型u 整数:byte, short, int, longu 小数:float, doub

11、len 字符型:charn 布尔型: boolean,取值只能是true 或falsel 引用数据类型:实际上就类似于C语言的指针操作,传递的是内存的空间地址。n 数组n 类n 接口3.2.5 数字的操作中会存在数据的溢出任何一种数据类型都有其最大的取值,如果已经是最大的值,则加1后变成最小值,最小值减1之后变成最大值。public class SimpleDemo/ 声明一个类,类名称的命名规范:所有单词的首字母大写public static void main(String args)/ 主方法int max = Integer.MAX_VALUE;/ 求出整型的最大值int min =

12、Integer.MIN_VALUE ;/ 求出整型的最小值System.out.println(int的最大值: + max) ;System.out.println(int的最大值 + 1: + (max+1) ;System.out.println(int的最小值: + min) ;System.out.println(int的最小值 - 1: + (min-1) ;3.2.6 数据的默认类型在java中,一个整型数字的默认类型是int型一个小数的默认类型是double型。Double的取值要比float要打,所以会出现丢失精度的问题,此时,可以用以下方式来解决:public class

13、SimpleDemo2 /声明一个类,类名称的命名规范:所有单词的首字母必须大写public static void main(String args) /主方法double x=30.3;/声明小数float y=30.3f;/声明小数3.2.7数据类型的转换在Java中存在以下的数据类型的转换操作:l Charint互相转换,转换成ASCII码;public class SimpleDemo03/ 声明一个类,类名称的命名规范:所有单词的首字母大写public static void main(String args)/ 主方法char c1 = a ;/ 使用”“括起来表示字符int x

14、1 = c1 ;/ 将char变为int型x1+ ;/ 自增char c2 = (char)x1 ;/ 将int - char,进行强制转换System.out.println(c2) ;l byteshortintlongl intfloatdouble ,double的数据长度是最大的,可以装下全宇宙所有的数据。l 但是转换的时候有一点需要特别注意:如果我们碰到的是字符串,则所有类型都向字符串转换。public class SimpleDemo04/ 声明一个类,类名称的命名规范:所有单词的首字母大写public static void main(String args)/ 主方法Stri

15、ng str = hello ;/ 表示字符串int i = 10 ;System.out.println(str + (i + 20) ;l此时并没有执行加法操作,而是将全部的数字变成字符串,使用“+”完成字符串的连接操作。System.out.println(1l + 11) ;3.3 循环控制任何语言的循环控制的基本代码都是一致的。分支结构:if、ifelse if.else循环结构:while、dowhile、for循环控制:break、continue3.4 数组数组是属于引用型的数据类型,使用的时候需要开辟内存空间的。1. 声明时直接开辟内存空间数据类型数组名称=new 数据类型长

16、度;如:int i=new int10;数据类型 数组名称=new 数据类型长度;2. 分步声明声明数组:数据类型数组名称=null;如:int i=null; i=new int10;实例化数组:数组名称=new 数据类型长度;关键字new只要一出现,则肯定表示数据类型是引用的数据类型,要进行堆-栈空间的开辟。范例:声明一个数组public class ArrayDemo01public static void main(String args)int i=new int10; /开辟了10个空间大小的数组System.out.print(数组开辟之后的内容:);for(int x=0;xi

17、.length;x+)System.out.print(ix+、);public class ArrayDemo01public static void main(String args)int i= new int10 ;/ 开辟了10个空间大小的数组System.out.print(数组开辟之后的内容:) ;for(int x=0;xi.length;x+)System.out.print(ix + 、) ;i0 = 30 ;/ 为第一个元素赋值i9 = 60 ;/ 为最后一个元素赋值System.out.print(n数组赋值之后的内容:) ;for(int x=0;xi.length;

18、x+)System.out.print(ix + 、) ;开辟的内容都用默认值表示,如果想要为数组的元素赋值,则需要通过下面的方式来进行访问:开辟栈内存空间Intscore=null;开辟栈内存空间的意义在于,就相当于表示一个人的名字开辟堆内存空间score=new int3;数组只有开辟了堆内存空间之后才可以使用。之前的代码数组的操作属于动态初始化,因为我们在开辟数组的时候并不知道数组中的具体内容是多少,而只是采用了默认值表示,所以,我们还可以采用另一种方式叫做静态初始化的操作:数据类型数组名称=若干取值,;范例:使用静态初始化完成public class ArrayDemo02public

19、 static void main(String args)int i = 1,2,3,4,6,7 ;/ 此时属于静态初始化System.out.print(数组开辟之后的内容:) ;for(int x=0;xi.length;x+)System.out.print(ix + 、) ;之前的数组都属于一维数组。动态初始化:数据类型数组名=new 数据类型行的个数列的个数静态初始化数据类型数组名=11,22,33,21,22,23;范例:二维数组public class ArrayDemo03public static void main(String args)int i = 1,2,2,3,

20、4,3,4,5,6,7 ;/ 此时属于静态初始化System.out.print(数组开辟之后的内容:) ;for(int x=0;xi.length;x+)for(int y=0;yix.length;y+)System.out.print(ixy + 、) ;System.out.println() ;3.5 方法方法就是一段可以重复调用的代码段,但是,现在的方法是使用主方法直接调用的,所以,定义格式为:public static 返回值类型|void 方法名称(参数列表)return 返回内容;范例:public class MethodDemo01public static void

21、main(String args)print(); /调用方法print(); /调用方法print(); /调用方法print(); /调用方法public static void print()System.out.println(HelloWorld!);以上的代码在类中定义了一个print()方法,之后我们在主方法中连续重复调用了四次,所以输出了四条语句。Void表示这个方法是没有任何的返回值类型,不需要使用return语句。(判断题)范例:完成一个加法操作。public class MethodDemo02public static void main(String args)Sys

22、tem.out.println(add(10,20);System.out.println(add(20,20);public static int add(int x, int y)int temp=x+y;return temp;在方法的使用中,还存在一种概念,叫方法的重载。重载:指的是方法名称相同,但是参数的类型或者个数可以不同。(判断题)public class MethodDemo03public static void main(String args)System.out.println(add(10,20);System.out.println(add(20,20,10);Sy

23、stem.out.println(add(20.01f,20.05f);public static int add(int x, int y)int temp=x+y;return temp;public static int add(int x, inty,int z)int temp=x+y+z;return temp;public static float add(float x, float y)float temp=x+y;return temp;实际上,重载的概念大家一直在接触,System.out.print()可以接收任意类型的参数,所以此方法也属于重载,但在使用重载的时候一定要注意,重载看的不是方法的返回值类型,而是参数的类型或个数。在方法的使用过程中还可以使用return来结束一个方法的操作,当执行到return的时候会直接返回到方法的调用处继续执行。public class MethodDemo04public static void main(String args)fun(10);fun(3);public static void fun(int x)System.out.println(进入方法。);if (x=3)return;System.out.println(结束方法。);

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!