资源预览内容
第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
第5页 / 共50页
第6页 / 共50页
第7页 / 共50页
第8页 / 共50页
第9页 / 共50页
第10页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Java程序设计与应用开发任课教师:於东军电子信箱:njyudjnjust.edu.cn课件下载地址:http:/www.csbio.sjtu.edu.cn/members/ydj/南京理工大学Java程序设计与应用开发於东军杨静宇李千目等清华大学出版社南京理工大学第一章第一章 快速入门快速入门1.1Java简介1.2Java开发环境的构建1.3Java应用程序1.4JavaApplet南京理工大学1.1Java简介1.1.1发展简史1.1.2Java的特点南京理工大学1.1.1发展简史雏形:二十世纪九十年代初,SUN出于智能家电项目的需求推出的一种面向对象的“可移植”语言。1995年,使用Java语言开发出了一个浏览器HotJava,并获得了极大的成功。引发了世界范围内的Java热,至今未衰。1998年Java1.2版本的出现,Java成为现代开发工具中的利器。Java现在的体系结构可以分为三大块,J2SE(Java2PlatformStandardEdition)、J2EE(Java2PlatformEnterpriseEdition)和J2ME(Java2PlatformMicroEdition)。南京理工大学Java创始人JamesGoslingJava带给Sun的只有声誉为智能家电开发的Java,不想“有心栽花花不开,无心插柳柳成荫”,在家电市场毫无起色,却因其“一次编程,到处运行”的跨平台特性,赶上了互联网的高速发展时机,在企业级市场上大放异彩。2010年,美国数据软件巨头甲骨文公司(Oracle)宣布以74亿美元收购太阳微电子公司(SUN).南京理工大学Java能做什么:JavaDemo演示JFCJava2DSwingSet南京理工大学1.1.2Java的特点简单、面向对象面向对象、分布式、解释型语言、健壮性、安全性、结构中立、可移植性、高性能、多线程、动态更多内容参见Java白皮书南京理工大学简单Java语法要比C+的语法简单。Java剔除了C+中那些复杂而且不常使用的语法特性,例如操作符重载、多重继承等等。熟悉C+的读者在学习Java时,很多时候需要做的就是设法“忘记”C+中的一些语法规则。对于没有编程经验的读者来说,Java还是具有相当难度的。一方面Java有一些奇怪的语法(如匿名内部类),另一方面需要自己编写大量的代码(习惯“拖”控件编程的需要一个适应过程)。建议初学者使用文本编辑工具自己手工编写代码。通过这种方式,读者可以尽快熟悉Java语法并强化了记忆。南京理工大学面向对象面向对象是现代编程语言的重要特性之一。历史的经验已经表明,面向对象技术极大地提高了人们的软件开发能力。现在很难想象还使用纯粹的面向过程的语言去开发大型、复杂的项目。Java语言是一种纯粹的面向对象的语言,在面向对象一些问题的处理上要优于C+(如多重继承)。习惯于传统面向过程的读者在刚理解面向对象的概念时,会存在一定的困难。但是考虑到面向对象的优越性,在这方面花点精力是值得的。南京理工大学健壮性Java语言的设计目标之一,就是帮助程序员编写出高可靠性的程序。为此,Java语言提供了很多技术用以提高程序的可靠性,如数组越界检查、运行时类型检查、取消指针操作以及垃圾自动回收等等。C/C+中指针具有强大的功能和灵活性。也正是这个原因,指针运算成为程序不稳定的最大隐患之一。而有些语言,例如Basic,没有显式的指针,这又会使得在实现某些功能时变得困难(如实现自己定制的数据结构)。Java语言同时考虑到这两方面的问题,提出了一个很好的解决方法:可以有指针,但是取消了指针的运算。这样上面的两个问题便迎刃而解。Java中并不是没有指针了,Java中的引用其实就是指针,只是取消了指针运算。取消指针运算防止了内存泄漏的可能性。南京理工大学可移植性跨平台:在不同的操作系统上源代码不做修改就能得到相同的运行结果。以数据类型说明可移植性问题:同一数据类型在不同平台上的大小是不一样的。有的平台上整型(int)用16位二进制来表示,而有的平台上却是用32位二进制来表示。这样一个在用32位二进制来表示整数的平台上开发的程序拿到用16位二进制表示整数的平台上去运行,很可能就会产生溢出问题。Java中使用固定大小的数据类型解决了这个问题,例如整型始终用32位来表示,和底层平台的转换由Java虚拟机来完成。可移植性问题不仅仅存在于数据类型大小不一致,其他方面如图形界面的显示、多线程等都存在可移植性问题。确实,Java在可移植性上已经取得了极大的成功,但还不够完善。然而,这并不能掩盖Java在这方面所做的贡献以及其他诸多的优点。南京理工大学多线程具有多线程处理能力可以使得应用程序能够具有更好的交互性、实时性。Java在多线程处理方面性能超群,同时也非常简单。有过C+多线程编程经验的读者,一定会对Java的多线程编程之简单感到惊叹。Java中多线程的实现是由操作系统或是线程库来完成的,编程人员在不同平台上使用多线程的Java代码是完全相同的。正是由于Java中使用多线程的简单性,使得它成为服务器端应用程序开发的利器。南京理工大学Java平台Java不仅仅是一种编程语言,它还是一个平台(Platform)。所谓平台是指应用程序运行的软硬件环境,通常是操作系统和硬件的总称。例如Windows2000,Linux,Solaris等等都是不同的平台。Java平台是运行在这些平台之上的纯粹的软平台,由两大部分组成:Java虚拟机和Java应用程序接口(JavaAPI)。图1.1.1显示了Java平台,从图中我们可以看出,Java应用程序是和底层的操作系统(基于硬件的平台)相隔离的,它们之间是通过Java平台来进行通信的。南京理工大学Java平台-图Java应用程序JavaAPIJava虚拟机操作系统(基于硬件的平台)Java平台南京理工大学1.2Java开发环境的构建1.2.1Java开发包的安装1.2.2环境变量设定1.2.3基本DOS命令南京理工大学基本要求Java开发包纯文本编辑器Java开发包:JDK写字板、UltraEdit等TextPad、JCreator、JBuiler、VisualAge、Eclipse等南京理工大学1.2.1Java开发包的安装Step1:从http:/www.sun.com获取免费的Java开发包安装程序Step2:双击Java开发包安装程序,出现安装界面南京理工大学Java开发包的安装-1Step3:随后,安装程序会弹出许可证协议阅读画面南京理工大学Java开发包的安装-2Step4:选择接受协议条款,然后点击“下一步”按钮,出现安装类型选择画面南京理工大学Java开发包的安装-3Step5:点击选中自定义,然后点击“下一步”按钮,出现下图所示的自定义安装内容选择画面南京理工大学Java开发包的安装-4Step6:点击“下一步”按钮进入正式安装。其他版本的开发包安装过程中除了显示画面略有不同,其他方面类似南京理工大学1.2.2环境变量设定PATH路径环境变量,用来指定Java开发包中的一些可执行程序(如java.exe、javac.exe等)所在的位置。CLASSPATH类路径环境变量,参见第四章。南京理工大学PATH设定之一(Windows2000/NT/XP)(1)右击“我的电脑”,在弹出菜单中选择“属性”,出现系统属性对话框,南京理工大学PATH设定之一(Windows2000/NT/XP)(2)选择“高级”属性页,在该属性页面中有一个“环境变量”按钮,点击该按钮进入环境变量编辑窗口南京理工大学PATH设定之一(Windows2000/NT/XP)(3)在系统变量区域找到变量Path,双击该行就可以编辑该环境变量的值。在该变量已有的值后追加“;c:jdk1.4bin”(注意:不包括引号,分号不能缺少,c:jdk1.4是开发包的安装路径,如果安装到其他路径,需作相应修改),点击“确定”按钮进行保存工作。至此,完成了Path环境变量的设定工作。所追加的值是用来指定Java开发包中的一些可执行程序(如编译、解释以及调试等可执行的工具程序)所在的位置的。南京理工大学PATH设定之二(Windows95/98/ME)在AUTOEXEC.BAT文件末尾追加如下的一行代码:SETPATH=c:jdk1.4bin;%PATH%然后重新启动计算机,使得设置生效。南京理工大学PATH设定之三Unix(包括Solaris和Linux)在Unix(包括Solaris和Linux)操作系统中依据所使用的shell不同,设定PATH的方法也有所不同。例如,若使用的是Cshell,则向/.cshrc文件末尾追加如下代码:setpath=(/usr/local/jdk1.4/bin$path)南京理工大学1.2.3基本DOS命令如何进入DOS控制台窗口这里以Window200为例,点击“开始”“运行”,在弹出的对话框中输入“CMD”,点击“确定”,即可进入DOS控制台窗口。需要注意的,这种方式进入DOS控制台窗口后,当前目录为系统缺省目录,如果你想转换到其他盘符,例如D:,可以在提示符后输入“D:”,然后回车就转换到D:盘了。南京理工大学DOS命令简介DIR功能显示目录中的文件以及子目录。CLS功能清除屏幕DEL功能删除一个或是多个文件。MD功能创建目录。COPY功能文件复制,将一份或多份文件复制到另一个位置。HELP功能帮助EXIT功能退出DOS窗口。南京理工大学1.3Java应用程序(1)编写源代码代码输入完毕后,将其保存成一个文件,取名为HelloWorld.java。并存放到一个指定的目录中去(如F:Chapter01code)。南京理工大学观察可以发现目录F:Chapter01code中有一个文件,名字为HelloWorld.java,这就是我们刚才保存的源代码文件南京理工大学编写源代码注意事项由于Java编译器和解释器对于代码中的字符是大小写敏感的,所以您在按照本书内容输入代码、命令以及文件名时,注意大小写是否正确。该文件名必须是HelloWorld(和公开类的类名相同,并且大小写也要一样,这是由Java编译器和解释器是大小写敏感而决定的),并且扩展名一定是.java。南京理工大学1.3.2编译源代码在命令提示行输入以下命令并回车:javacHelloWorld.java南京理工大学观察如果屏幕上没有出现错误提示,则表示已经正常完成了编译工作。再次使用DIR命令,可以发现目录下多了一个文件HelloWorld.class,即编译好的中间字节代码(bytecode)文件南京理工大学1.3.3运行程序在命令提示行输入:javaHelloWorld南京理工大学1.3.4常见问题解答(1)Windows系统对于DOS命令中字符的大小写是不敏感的。例如:输入DIR、dir或是Dir得到的结果是相同的。(2)Java编译器和解释器对于代码中的字符是大小写敏感的。所以在输入代码时要特别注意字符的大小写,例如HelloWorld和helloWorld是不同的,同样public和Public也是不同的。南京理工大学常见问题续1(3)保存源代码为文件时,要注意文件的命名。文件名一定要和源代码中公开类的类名一致(包括大小写),并且文件扩展名必须为.java。注意,如果将例1.3.1中的publicclassHelloWorld改为classHelloWorld(即HelloWorld不再是公开类),则可以将其保存为任何一个合法的、并以.java为扩展名的文件,例如NotHelloWorld.java。南京理工大学常见问题续2(4)如果在进行编译时报类似如下错误(如果读者使用的是英文版的操作系统,错误信息将是英文):javac不是内部或外部命令,也不是可运行的程序或批处理文件。则表示系统不能正确定位编译器javac.exe,原因是未能正确设定PATH环境变量。请参考1.2.2小节关于环境变量的设置。南京理工大学常见问题续3编译时,需要用文件的全名,例如javacHelloWorld.java;解释运行时只需要用类名,而不需要带上.class,例如javaHelloWorld。如果输入:javaHelloWorld.class那么系统报如下错误:Exceptioninthreadmainjava.lang.NoClassDefFoundError:HelloWorld/class南京理工大学1.3.5理解例子Java代码中具有三种类型的注释:(1)单行注释/comments从/至该行结束的内容是注释部分,编译器予以忽略。(2)多行注释/*comments*/在/*和*/之间的所有内容均为注释部分,位于/*和*/之间的内容可以是一行或是多行。南京理工大学(3)文档注释/*commentsline1*commentsline2*.*commentslinen*/南京理工大学类定义&main方法publicclassHelloWorld.publicstaticvoidmain(Stringargs).南京理工大学命令行参数&输出语句publicstaticvoidmain(Stringargs)System.out.println(Strings)南京理工大学1.4JavaAppletApplet称为小应用程序,和应用程序不同的是,Applet一般是在支持Java的Web浏览器中运行。使用特定的HTML标签(tag)将Applet嵌入在HTML页面中,并且Applet程序和页面均存放在服务器上,当远程用户通过浏览器来访问页面时,页面中所嵌入的Applet程序通过网络被下载到浏览器中并加以运行南京理工大学1.4.1编写编写Applet源代码源代码importjavax.swing.JApplet;/引入JApplet类importjavax.swing.JLabel;/引入标签类JLabelpublicclassHelloWorldAppletextendsJAppletpublicvoidinit()System.out.println(initApplet);publicvoidstart()System.out.println(startApplet); getContentPane().add(newJLabel(HelloWorldApplet);publicvoidstop()System.out.println(stopApplet); publicvoiddestroy()System.out.println(destoryApplet);南京理工大学四个方法init()打开嵌有Applet的HTML页面时,该方法被调用以进行必要的初始化工作。start()该方法在init方法结束后被调用,用以启动Applet。stop()关闭嵌有Applet的HTML页面时,该方法自动调用,以关闭Applet。destroy()stop方法执行完毕后,该方法被调用,用以释放Applet所使用的资源。南京理工大学1.4.2编写嵌入Applet的HTML文件 例例1.4.2 HelloWorldApplet.htmlASimpleAppletExampleThisisasimpleapplet.南京理工大学1.4.3运行Applet运行应用程序使用的是java解释器。而运行小应用程序则使用Applet查看器或是WEB浏览器。(1)使用appletviewer在DOS命令行输入如下命令并回车:appletviewerHelloWorldApplet.html南京理工大学运行Applet-续1使用WEB浏览器,例如InternetExplorer直接使用WEB浏览器打开页面文件HelloWorldApplet.html南京理工大学
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号