第1章-初次接触JAVA.ppt_第1页
第1章-初次接触JAVA.ppt_第2页
第1章-初次接触JAVA.ppt_第3页
第1章-初次接触JAVA.ppt_第4页
第1章-初次接触JAVA.ppt_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

JAVA面向对象程序设计,任课教师:肖建明联系方法子信箱:xjm_126,课程学习方法,学习方法作笔记(记录实践经验)多练和勤上机操作要善于使用帮助系统打好基础很重要招选课程教学助理一名协助老师与同学的沟通和联系,帮助老师收发作业,同学们对本课程教学的意见可以通过课程教学助理或直接向我反映。(对JAVA有浓厚兴趣者优先考虑),课程考核方式与课程要求,考核方法期末考试由笔试(70)+机试组成(30)课程要求实验需上交实验报告。作业需按时完成并上交,不按时上交累积达两次的按缺一次计。迟到5分钟以上达三次的按一次旷课计。上机玩游戏经提醒不改累计达两次的按一次旷课计。上课睡觉或上课玩手机被老师发现的,要求站立听课一分钟。旷课一次平时分减10分,旷课达四次者取消考试资格,缺交作业达4次者取消考试资格,教材及参考书,教材:1.Java面向对象程序设计(第二版).袁绍欣等编著.清华大学出版社,2012年6月参考书:1.ThinkinginJava.BruceEckel2.Sun公司提供的JavaAPIDocs3.,第1章初次接触JAVA,本章主要内容:Java语言网络时代的编程语言Java语言的特点Java程序的编译环境和执行环境第一个Java程序HelloWorldJava程序的分类Java平台,本章教学目标与教学重点,教学目标:1.了解java语言的特点、现状和未来2.熟悉java开发环境的建立3.掌握java程序编写、编译和运行方法教学重点:java程序的结构,编写、编译和运行方法,Java技术介绍,Java版本发表时是以JavaDevelopmentKits名称发表,简称JDK。随着应用范围的日益广泛,Java演化出了3个不同领域的应用平台:J2SE/JavaSE,J2EE/JavaEE与J2ME/JavaME。Java不再只是单纯的程序语言加上API库的组成,更提供开发人员在各个领域开发软件时,一种遵循的标准与框架(Framework)工具。Java这个名词不再只是表示一个程序语言,而是一种开发软件的平台,更进一步地说,也是一种开发软件时的标准与架构的统称。,Java语言的应用排行,Java语言的应用排行(2005-2006),TIOBE开发语言排行榜每月更新一次,依据的指数是基于世界范围内的资深软件工程师和第三方供应商提供,其结果作为当前业内程序开发语言的流行使用程度的有效指标。该指数可以用来检阅开发者的编程技能能否跟上趋势,或是否有必要作出战略改变,以及什么编程语言是应该及时掌握的。该指数对世界范围内开发语言的走势仍具有重要参考意义。,Java语言的应用排行,Java语言的应用排行(2007-2008),Java语言的应用排行,Java语言的应用排行(2008-2009),Java语言的应用排行,Java语言的应用排行(2009-2010),Java语言的应用排行,Java语言的应用排行(2010-2011),Java语言的应用排行,Java语言的应用排行(2011-2012),Java语言的一个重要特性就是在语言级支持多线程的程序设计。多线程就好像我们做一张桌子,如果你一个人完成这张桌子就相当于单线程,那么你需要先做桌面,做完桌面后,再做4个桌子腿,对于多线程,则类似于现在有5个人来做桌子在程序中开辟5个线程,其中1个人做桌面,另外4个人分别做4个桌子腿。,Java语言的简单性主要体现在三个方面:1、Java的风格类似于C+,因而C+程序员初次接触Java语言,就会感到很熟悉。从某种意义上讲,Java语言是C及C+语言的一个变种,因此,C+程序员可以很快地掌握Java编程技术。2、Java摒弃了C+中容易引发程序错误的一些特性,如指针、结构、枚举以及内存管理等。3、Java提供了丰富的类库,可以帮助我们很方便的开发Java程序。,面向对象可以说是Java的一个重要特性,它支持继承、重载、多态等面向对象的特性。Java语言的设计是完全面向对象的,它不支持类似C语言那样的面向过程的程序设计技术。,JAVA是一种网络语言,它在设计时就考虑到网络传输协议,因此它能很容易地处理TCP/IP协议,再加上其面向对象特性,使JAVA运行时所需的对象可以分散于网络上,而不必局限于同一主机,通过HTTP和FTP等协议,JAVA可以利用网络来打开或存取远程对象,就像存取本机的文件一样方便。,JAVA致力于检查程序在编译和运行时的错误。Java也是一种强类型的语言,其类型检查比C+还要严格。类型检查帮助我们检查出许多开发早期出现的错误。Java自己负责内存管理,提供了垃圾内存回收机制,有效的避免了C+中最头疼的内存泄漏问题。Java例外处理机制将程序中所有非正常情况下的条件句柄集合在一起,以防止程序在特殊情况下被破坏。,Java作为一种网络语言,其源代码被编译成一种结构中立的中间文件格式(字节码)。Java字节码是一种近似于机器码的中间码,不受限于计算机硬设备和操作平台的种类,只要计算机中有Java的运行环境(即JVM),Java字节码就可以在那台计算机上运行,Java的这项特性也就是SUM公司最为强调的Java优势:一次编译,处处运行。与平台无关是Java语言最大的优势。,安全是网络语言首先要考虑的问题,Java的安全性可从两个方面得到保证:一方面,在Java语言里,删除了指针和释放内存等C+功能,避免了非法内存操作。另一方面,通过Java的安全体系架构来确保Java代码的安全性。当我们从网上下载Java代码在本地执行时,Java的安全架构能确保恶意的代码不能随意访问我们本地计算机的资源,例如:删除文件,访问本地网络资源等操作都是被禁止的。JVM在解释Java字节码时会将所有不合法的数据和无权限的存取操作加阻隔。,Java代码是解释执行的,我们使用Java编译器将Java代码编译成字节码,这是一种中间代码,然后由Java解释器解释执行。而相比之下,C+程序是编译执行的,C+程序代码被编译为本地机器指令,然后执行。,结构中立是确保程序可移植的主要原因,除此之外,Java严格规定数据类型和类结构的标准,使程序可以适用于所有的计算机平台;Java的链接库(classlibrary)还定义了一些可移植的接口以及这些类在不同的计算机平台上的定义结构,这些均使Java具有良好的可移植性。,Java的动态特性是其面向对象设计方法的扩展。它允许程序动态地装入运行过程中所需要的类,这是采用C+语言进行面向对象程序设计所无法实现的。在C+程序设计中,每当在类中增加一个实例变量或成员函数后,引用该类的所有子类都必须重新编译,否则将导致程序崩溃。,简单面向对象分布性健壮性安全性体系结构中立可移植性解释执行多线程动态性,Java的特点,Java是从以下几个方面来解决这个问题:,1.Java编译器不将对实例变量和成员函数的引用编译为数值引用,而是将符号引用信息在字节码中保存下来,再由解释器在完成动态连接类后,将符号引用信息转换为数值偏移量。2.一个在存储器中生成的对象不在编译过程中决定,而是延迟到运行时由解释器确定。这样对类中的变量和方法进行更新时就不至于影响现存的代码。3.解释执行字节码时,这种符号信息的查找和转换过程仅在一个新的名字出现时才进行一次,随后代码便可以全速执行。在运行时确定引用的好处是可以使用已被更新的类,而不必担心会影响原有的代码。如果程序连接了网络中另一系统的某一类,该类的所有者也可以自由地对该类进行更新,而不会使任何引用该类的程序崩溃。4.Java还简化了使用一个升级的或全新协议的方法。如果你的系统运行Java程序时遇到了不知怎样处理的程序,Java能自动下载你所需要的功能程序。,Java的特点,Java跨平台的原理1.Java的跨平台是通过Java虚拟机(JVM)来实现的。2.Java虚拟机规范为不同的硬件平台提供了一种编译Java技术代码的规范,该规范使Java软件独立于平台,因为编译是针对作为虚拟机的“一般机器”而做,这个“一般机器”可用软件模拟并运行于各种现存的计算机系统,也可用硬件来实现。3.Java程序并不是在本机操作系统上直接运行,而是通过Java虚拟机向本机操作系统进行解释来运行。换句话说,任何安装有Java虚拟机的计算机系统都可以运行Java程序,而不论最初开发应用程序的是何种计算机系统。,Java的特点,Java跨平台的原理图,从图中我们可以看出,Java应用程序是和底层的操作系统(基于硬件的平台)相隔离的,它们之间是通过Java平台来进行通信的。,Java开发环境的建立,Java应用平台介绍1.JavaSE(JavaPlatform,StandardEdition)J2SE是Java各种应用平台的基础,想要学习其他的平台应用,必须先了解J2SE,这也是我们这门课程接下来将要学习的主要内容。J2SE可以分为4个主要的部分:JVM、JRE、JDK与Java语言。要运行Java程序,平台上必须有Java虚拟机(JVM),JVM包括在Java运行环境(JRE)中。如果要开发Java程序,则必须安装JDK(JavaSEDevelopmentKits),JDK包括了JRE以及开发过程中所需要的一些工具程序(如javac、java、appletviewer)。Java语言只是JavaSE的一部分,除此之外,Java最重要的就是它提供了庞大且功能强大的API类库,我们可以使用这些API作为基础来进行程序的开发,而无须重复开发功能相同的组件(因此,在熟悉Java语言后,更多的时间应该放在学习如何使用这些API来编写程序)。,Java开发环境的建立,2.JavaEE(JavaPlatform,EnterpriseEdition)JavaEE以JavaSE为基础,定义了一系列的服务、API、协议等,适用于开发分布式、多层式、以组件为基础、以Web为基础的应用程序。整个JavaEE的体系是相当庞大的,如JSP、Servlet、EnterpriseJavaBeans(EJB)、JavaRemoteMethodInvocation(RMI)等,其中的每个服务或技术都可以通过一本专门的书进行介绍。学习JavaEE的前提是学好JavaSE。3.JavaME(JavaPlatform,MicroEdition)JavaME是Java平台版本中最小的一个,目的是作为小型数字设备上开发及部署应用程序的平台,如消费型电子产品或嵌入式系统。,Java开发环境的建立,要编写、编译和运行Java程序,我们需要在计算机系统中安装Java平台以及源代码编辑器。Java平台可从网站免费下载,该网站上提供了免费的Java开发工具包(JavaDevelopersKits,简称JDK),我们可以下载适合于我们计算机操作系统的JDK,利用这些工具来开发Java程序。同时,在市面上已出现了好多由其它公司开发的专业Java集成开发工具如Jbuilder、VisualJ+、Jcreator、Eclipse等。,Java开发环境的建立,JDK包括:JavaAPI工具集基本工具(javac,java,javadoc,appletviewer,jar,jdb,javah,javap,extcheck)远程方法调用工具(RemoteMethodInvocation,RMI)(rmic,rmiregistry,rmid,serialver)国际化工具(native2ascii)安全工具(keytool,jarsigner,policytool)JavaIDL和RMI-IIOP工具(tnameserv,idlj,orbd,servertool)Java插件工具(Plug-in),1.Java开发工具包(JDK)的下载与安装A.WindowsPlatform-TheJavaSEDevelopmentKit6(JDK6)下载地址为:,Java开发环境的建立,2.设置Path环境变量安装完JDK之后,为了能方便利用JDK工具进行java源文件的编译和运行,我们常常要根据JDK的安装路径设置环境变量:PATH可执行文件路径环境变量,用来指定Java开发包中的一些可执行程序(如java.exe、javac.exe等)所在的位置CLASSPATH类路径环境变量,用来指定Java虚拟机要查找的类名所在的目录。类路径告诉Java应用程序去哪里查找第三方和自定义类。对于Path环境变量,我们需添加”C:ProgramFilesJavajdk1.6.0bin”(JDK安装目录+”bin”)”,对于classpath我们常设置为:”.;C:ProgramFilesJavajdk1.6.0libtools.jar”。具体的设置方法有两种:,Java开发环境的建立,环境变量设置方法一:(1)右击“我的电脑”,在弹出菜单中选择“属性”,出现系统属性对话框,然后选择“高级”属性页(windowsXP中):,Java开发环境的建立,(2)在“高级”属性页面中有一个“环境变量”按钮,点击该按钮进入环境变量编辑窗口:,Java开发环境的建立,(3)在系统变量区域找到变量Path,双击该行以编辑该环境变量的值。在该变量已有的值前面添加“C:ProgramFilesJavajdk1.6.0_10;”(注意:不包括引号,分号不能缺少,“c:jdk1.6.0bin”是开发包的安装路径,如果安装到其他路径,需作相应修改),点击“确定”按钮进行保存工作。新增classpath变量并设置其值为:“.;C:ProgramFilesJavajdk1.6.0_10libtools.jar”(注意我们也可以在用户变量栏进行环境变量的设置,但此时的设置仅对当前的用户有效,而在系统变量区域进行的设置则对所有用户均有效。),Java开发环境的建立,环境变量设置方法二:在C盘根目录下的AUTOEXEC.BAT文件末尾追加如下的一行代码:SETpath=C:ProgramFilesJavajdk1.6.0_10bin;%PATH%SETclasspath=.;C:ProgramFilesJavajdk1.6.0_10libtools.jar;然后重新启动计算机,使得设置生效。基本DOS命令介绍:cd,dir,cls,del,md,copy,ren,help,exit,Java开发环境的建立,至此,jdk就已设置好了,再加上一个用于编写java源文件的文档编辑器,我们就可以开始进行java编程了。对于文档编辑器,我们可以采用windows操作系统自带的记事本(notepad.exe),可使用其它的集成开发工具所带的编辑器。,Java开发环境的建立,Java程序分为Application和Applet两类。它们之间的主要区别如下:,JAVA程序的分类,Java程序的编写、编译和运行,一、一个简单的Java应用程序示例。1)编写源代码打开记事本,录入程序代码,然后保存到一文件中。编写源代码注意事项:(1)由于Java编译器和解释器对于代码中的字符是大小写敏感的,所以输入代码、命令以及文件名时,应注意大小写是否正确,Java语句须以分号结尾。(2)源文件名必须和公共类的类名相同,并且大小写也要一样(这是由Java编译器和解释器是大小写敏感而决定的),并且扩展名一定是.java。,/这是文件名为“HelloWorld.java”的简单应用程序importjava.io.*;/引入包classHelloWorld/定义类publicstaticvoidmain(Stringargs)/main方法System.out.println(“HelloWorld!”);/*在屏幕上输出HelloWorld!*/,定义类的关键字,类名,必须这么写,Java程序的编写、编译和运行,(2)编译程序(javac文件名.java)单击【开始】|【运行】命令,在命令行上输入“cmd”,按回车键,即可打开一个命令窗口,将目录转换到编写的Java源程序所在的目录,输入“javacfilename.java”,本例应输入“javacHelloWorld.java”。如果屏幕上没有出现错误提示,则表示已经正常完成了编译工作。再次使用DIR命令,可以发现目录下多了一个文件HelloWorld.class,即编译好的中间字节代码(bytecode)文件。,Java程序的编写、编译和运行,3)执行程序(java类名)同样在命令窗口中输入“javafilename”,本例应输入“javaHelloWorld”,运行结果如图所示。,Java程序的编写、编译和运行,编程模拟训练,1.编写一JAVA应用程序,输出下面的图形:*输出:加法口诀表呢?,Java程序的基本结构:(1)至多有一个public类,文件名必须与类名相同。(2)程序可以有一个或多个其它类。(3)当需要从某个类继承或使用某个类及其方法时,可用import引入该类的定义。(4)程序运行入口为publicstaticvoidmain方法。(5)Java程序组成结构package语句/0个或1个,须放在文件开始处import语句/0个或多个,须放在所有类定义之前publicclassDefinition/0个或1个,文件名须与类名相同classDefinition/0个或多个interfaceDefinition/0个或多个,Java程序的编写、编译和运行,常见的一些问题:(1)Java编译器和解释器对于代码中的字符是大小写敏感的。所以在输入代码时要特别注意字符的大小写,例如HelloWorld和helloworld是不同的,同样public和Public也是不同的。(2)保存源代码为文件时,要注意文件的命名。文件名一定要和源代码中公开类的类名一致(包括大小写),并且文件扩展名必须为.java。注意,如果将示例中的publicclassHelloWorld改为classHelloWorld(即HelloWorld不再是公开类),则可以将其保存为任何一个合法的、并以.java为扩展名的文件,如test.java。,Java程序的编写、编译和运行,(3)若执行javacHelloWorld.java时提示:javac不是内部或外部命令,也不是可运行的程序或批处理文件。则说明系统不能正确定位编译器javac.exe,这是因为未能正确设定PATH环境变量。(4)若执行javaHelloWorld时出现如下提示信息:Exceptioninthread“main”java.lang.NoClassDefFoundError:HelloWorld,则说明未能正确设定classpath环境变量。(5)在编译时,需要用文件的全名(大小写无关),例如javacHelloWorld.java;解释运行时只需要用类名(识别大小写),而不需要带上.class,如javaHelloWorld。,Java程序的编写、编译和运行,编写和运行带命令行参数的Java程序:publicclassTest1publicstaticvoidmain(Stringargs)if(args.length=1)System.out.println(输入的第一个参数为:+args0);,Java程序的编写、编译和运行,二、Applet程序示例和应用程序不同的是,Applet一般需在支持Java的Web浏览器中运行。使用特定的HTML标签(tag)将Applet嵌入在HTML页面中,并且Applet程序和页面均存放在服务器上,当远程用户通过浏览器来访问页面时,页面中所嵌入的Applet程序通过网络被下载到浏览器中并加以运行。下面示例如何建立和运行一个小程序。(1)编写Applet源代码(2)编写嵌入Applet的HTML文件,Java程序的编写、编译和运行,将HelloWorld改写成Applet程序,importjava.awt.*;importjava.applet.*;publicclassHelloWorldAppletextendsAppletpublicvoidinit()publicvoidpaint(Graphicsg)g.drawString(HelloWorld!,25,25);编辑html页面,和HelloWorldApplet.class在同一目录,取名为HelloWorldApplet.html,在其中编写代码:,Java程序的编写、编译和运行,(3)编译并运行Applet编译applet的方法与前面介绍的编译application的方法相同。只需在源文件目录下执行:javacHelloWorldApplet.java但运行的方法却是不同的,对于应用程序使用的是java解释器。而运行小应用程序则使用的是Applet查看器或WEB浏览器。使用appletviewer的方法:在DOS命令行输入如下命令并回车:appletviewerHelloWorldApplet

温馨提示

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

评论

0/150

提交评论