版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java程序设计第一讲教案实验1 JDK的安装和Java程序编译1、主要教学目标(1)掌握在Java开发环境的配置;(2)掌握如何利用记事本编写Java程序,并进行编译,为后续需要做准备;(3)理解Javac编译程序和Java运行程序的过程。2、重点内容参考C语言程序的编译过程,掌握Java程序的编译、运行过程。3、难点分析在Java开发环境中,如何辨别和调试简单的语法错误。讲授内容一、Java的版本和发展历史1.1 Java的版本和发展历史1、Java的开发环境Java的开发环境需要JDK和JRE,其中JDK是Java的开发工具包,而JRE是Java的运行环境。2、Java的版本信息通常而言
2、,Java包括四个版本。(1)J2SE版本J2SE是Java的标准版本,通常在桌面程序中广泛使用。(2)J2EE版本J2EE是Java的企业版本,通常在Web程序中广泛使用。(3)J2ME版本J2ME是Java的移动版本,通常在智能手机程序中广泛使用。(4)JavaFX版本JavaFX是Java的互联网富客户端版本,通常使用轻量级的用户接口API。3、Java的发展历史1991年4月,由James Gosling博士领导的绿色计划(Green Project)开始启动,此计划的目的是开发一种能够在各种消费性电子产品(如机顶盒、冰箱、收音机等)上运行的程序架构。这个计划的产品就是Java语言的前
3、身:Oak(橡树)。Oak当时在消费品市场上并不算成功,但随着1995年互联网潮流的兴起,Oak迅速找到了最适合自己发展的市场定位并蜕变成为Java语言。1995年5月23日,Oak语言改名为Java,并且在SunWorld大会上正式发布了Java1.0版本。Java语言第一次提出了“Write Once,Run Anywhere”的口号。1996年1月23日,JDK 1.0发布,Java语言有了第一个正式版本的运行环境。JDK 1.0提供了一个纯解释执行的Java虚拟机实现(Sun Classic VM)。JDK 1.0版本的代表技术包括:Java虚拟机、Applet和AWT等。1996年4
4、月,10个最主要的操作系统供应商声明将在其产品中嵌入Java技术。同年9月,已有大约8.3万个网页应用Java技术来制作。在1996年5月底,Sun于美国旧金山举行了首届JavaOne大会,从此JavaOne成为全世界数百万Java语言开发者每年一度的技术盛会。1997年2月19日,Sun发布了JDK 1.1,Java技术的一些最基础的支撑点(如JDBC等)都是在JDK 1.1版本中发布的,JDK 1.1的技术代表有:JAR文件格式、JDBC、JavaBeans、RMI。Java语法也有了一定的发展,如内部类(Inner Class)和反射(Reflection)都是在这个时候出现的。直到19
5、99年4月8日,JDK 1.1一共发布了1.1.0至1.1.8九个版本。从1.1.4之后,每个JDK版本都有一个自己的名字(工程代号),分别为:JDK 1.1.4 - Sparkler(宝石)、JDK 1.1.5 - Pumpkin(南瓜)、JDK 1.1.6 - Abigail(阿比盖尔,女子名)、JDK 1.1.7- Brutus(布鲁图,古罗马政治家和将军)和JDK 1.1.8 - Chelsea(切尔西,城市名)。1998年12月4日,JDK迎来了一个里程碑式的版本JDK 1.2,工程代号为Playground(竞技场),Sun在这个版本中把Java技术体系拆分为3个方向,分别是面向桌
6、面应用开发的J2SE(Java 2 Platform, Standard Edition)、面向企业级开发的J2EE(Java 2 Platform, Enterprise Edition)和面向手机等移动终端开发的J2ME(Java 2 Platform, Micro Edition)。在这个版本中出现的代表性技术非常多,如EJB、Java Plug-in、Java IDL、Swing等,并且在这个版本中Java虚拟机第一次内置了JIT(Just In Time)编译器(JDK 1.1也可以使用外挂方式的JIT编译器)。在语言和API级别上,Java添加了strictfp关键字与现在Java
7、编码之中极为常用的一系列Collections集合类。在1999年3月和7月,分别有JDK 1.2.1和JDK 1.2.2两个小版本发布。1999年4月27日,HotSpot虚拟机发布,HotSpot最初由一家名为“Longview Technologies”的小公司开发,因为HotSpot的优异表现,这家公司在1997年被Sun公司收购了。HotSpot虚拟机发布时是作为JDK 1.2的附加程序提供的,后来它成为了JDK 1.3及之后所有版本的Sun JDK的默认虚拟机。2000年5月8日,工程代号为Kestrel(美洲红隼)的JDK 1.3发布,JDK 1.3相对于JDK 1.2的改进主要
8、表现在一些类库(如数学运算和新的Timer API等)上,JNDI服务从JDK 1.3开始被作为一项平台级服务提供(以前JNDI仅仅是一项扩展),使用CORBA IIOP来实现RMI的通讯协议,等等。这个版本还对Java 2D做了很多改进,提供了大量新的Java 2D API,并且新添加了JavaSound类库。JDK 1.3有1个修正版本JDK 1.3.1,工程代号为Ladybird(瓢虫)于2001年5月17日发布。自从JDK 1.3开始,Sun维持了一个习惯:大约每隔两年发布一个JDK的主版本,以动物名称命名,期间发布的各个修正版本则以昆虫名称作为工程名称。2002年2月13日,JDK
9、1.4发布,工程代号为Merlin(灰背隼)。JDK 1.4是Java真正走向成熟的一个版本,Compaq、Fujitsu、SAS、Symbian、IBM等著名公司都有参与甚至实现自己独立的JDK 1.4。哪怕是在近10年后的今天,仍然有许多主流应用(Spring、Hibernate、Struts等)能直接运行在JDK 1.4之上,或者继续发布能运行在1.4上的版本。JDK 1.4同样发布了很多新的技术特性,如正则表达式、异常链、NIO、日志类、XML解析器和XSLT转换器,等等。JDK 1.4有两个后续修正版:2002年9月16日发布的工程代号为Grasshopper(蚱蜢)的JDK 1.4
10、.1与2003年6月26日发布的工程代号为Mantis(螳螂)的JDK 1.4.2。2002年前后还发生了一件与Java没有直接关系,但事实上对Java的发展进程影响很大的事件,即微软的.NET Framework发布。这个无论是技术实现还是目标用户上都与Java有很多相近之处的技术平台给Java带来了很多讨论、比较和竞争,.NET平台和Java平台之间声势浩大的孰优孰劣的论战到今天为止仍然在继续。2004年9月30日,JDK 1.5发布,工程代号为Tiger(老虎)。从JDK 1.2以来,Java在语法层面上的变化一直很小,而JDK 1.5在Java语法易用性上做出了非常大的改进。自动装箱、
11、泛型、动态注解、枚举、可变长参数、遍历循环(foreach循环)等语法特性都是在JDK 1.5中加入的。在虚拟机和API层面上,这个版本改进了Java的内存模型(Java Memory Model,JMM)、提供了java.util.concurrent并发包等。另外,JDK 1.5是官方声明可以支持Windows 9x平台的最后一个JDK版本。2006年12月11日,JDK 1.6发布,工程代号为Mustang(野马)。这是目前为止最新的正式版JDK(截至本书完稿时,JDK 1.7仍然处于Early Access版本)。在这个版本中,Sun终结了从JDK 1.2开始已经有8年历史的J2EE、
12、J2SE、J2ME的命名方式,启用了Java SE 6、Java EE 6、Java ME 6的命名来代替。JDK 1.6的改进包括:提供动态语言支持(通过内置Mozilla JavaScript Rhino引擎实现)、提供编译API和微型HTTP服务器API,等等。同时,这个版本对Java虚拟机的内部做了大量改进,包括锁与同步、垃圾收集、类加载等方面的算法都有相当多的改动。在2006年11月13日的JavaOne大会上,Sun宣布最终会把Java开源,并在随后的一年多时间内,陆续地在GPL v2(GNU General Public License v2)协议下公开了JDK各个部分的源码,并
13、建立了OpenJDK组织对这些源码进行独立管理。除了极少量的产权代码(Encumbered Code,这部分代码大多是Sun本身也无权限进行开源处理的)外,OpenJDK几乎包括了Sun JDK的全部代码。OpenJDK的质量主管曾经表示,在JDK 1.7中,Sun JDK和OpenJDK除了代码文件头的版权注释之外,代码基本上完全一样,所以OpenJDK 7与Sun JDK 1.7本质上就是同一套代码库出来的产品。JDK 1.6发布以后,由于代码复杂性的增加、JDK开源、开发JavaFX、经济危机及Sun收购案等原因,Sun在JDK发展以外的事情上耗费了很多资源,JDK的更新没有再维持两年发
14、布一个主版本的发展速度。JDK 1.6到今天为止一共发布了25个Update,最新的版本为Java SE 6 Update 25,于2011年4月21日发布。2009年2月19日,工程代号为Dolphin(海豚)的JDK 1.7完成了其第一个里程碑版本。根据JDK 1.7的功能规划,一共设置了10个里程碑。最后一个里程碑版本于2010年9月9日结束。从发布的Early Access版看来目前JDK 1.7的主体功能,已经比较完善,只剩下Lambda项目(Lambda表达式)、Jigsaw(模块化支持)和Coin(语言细节进化)子项目的部分工作尚未完成,Oracle宣布JDK 1.7正式版将于2
15、011年7月28日推出,可能会把不能按时完成的Lambda、Jigsaw和部分Coin放入JDK 1.8之中。JDK 1.7的主要改进包括:提供新的G1收集器、加强对非Java语言的调用、语言级的模块化支持(取决于Jigsaw项目能不能完成)、升级类加载架构,等等。2009年4月20日,Oracle宣布正式以74亿美元的价格收购Sun公司,Java商标从此正式归Oracle所有(Java语言本身并不属于哪家公司所有,它由JCP组织进行管理,尽管JCP主要是由Sun或者说Oracle所领导的)。由于此前Oracle已经收购了另外一家大型的中间件企业BEA公司,当完成对Sun公司的收购之后,Ora
16、cle分别从BEA和Sun中取得了目前三大商业虚拟机的其中两个:JRockit和HotSpot,Oracle宣布在未来1至2年的时间内,将把这两个优秀的虚拟机互相取长补短,最终合二为一。可以预见在不久的将来,Java技术体系将会产生相当巨大的变化。1.2 Java开发环境的设置1、下载JDK开发环境到/technetwork/java/javase/downloads/index.html网址下载JDK的开发工具箱,选择JDK1.5.04版本,如jdk-1_5_0_04-windows-i586-p.exe文件。2、配置环境变量:1)在系统变量里新建JA
17、VA_HOME变量,变量值为:d:jdk1.5.0_042)新建CLASSPATH变量,变量值为:.;%JAVA_HOME%libdt.jar;%JAVA_HOME%libtools.jar3)在path变量添加变量值:%JAVA_HOME%bin;%JAVA_HOME%jrebin3、开始-运行- javac,如果能正常打印用法说明配置成功。环境变量的含义:JAVA_HOME表示JDK的安装路径CLASSPATH:java加载类路径,只有类在CLASSPATH中java命令才能识别,在路径前加了个.表示当前路径。PATH:系统在任何路径下都可以识别java和javac命令。4、在完成JDK的
18、配置之后,在cmd中运行java和javac程序,如果出现版本提示说明安装和配置成功。在CMD窗口中进入工作目录,输入notepad Hello.javapackage com;public class Hellopublic static void main(String args)System.out.println(Hello);在cmd中运行javac com/Hello.java,然后运行java com.Hello。(需要建立com文件夹) 5、如果程序中包含中文字符,在编译Java程序时,可以利用javac -encoding utf-8 FirstApp.java对程序进行编译
19、。public class FirstApppublic static void main(String args)System.out.println(“欢迎使用Java!”);二、配置sublime环境2.1 配置批处理脚本文件安装sublime Text 2,打开任意的文本编辑器,输入下面的内容,并保存为runJava.bat文件。ECHO OFFcd %dp1ECHO Compiling %nx1.IF EXIST %n1.class (DEL %n1.class)javac %nx1IF EXIST %n1.class (ECHO -OUTPUT-java %n1)然后把runJav
20、a.bat批处理文件移动到JDK的bin目录。打开Sublime的包目录,使用菜单Perferences-Browse Packages,选择Java目录,打开JavaC.sublime-build,并替换下面的行。如下图所示:改成:使用Ctrl+B命令运行程序。下面是SublimeText2快捷键。2.2 常用快捷键Ctrl+L选择整行(按住-继续选择下行)Ctrl+KK从光标处删除至行尾Ctrl+Shift+K删除整行Ctrl+Shift+D复制光标所在整行,插入在该行之前Ctrl+J合并行(已选择需要合并的多行时)Ctrl+KU改为大写Ctrl+KL改为小写Ctrl+D选词(按住-继续选
21、择下个相同的字符串)Ctrl+M光标移动至括号内开始或结束的位置Ctrl+Shift+M选择括号内的内容(按住-继续选择父括号)Ctrl+/注释整行(如已选择内容,同“Ctrl+Shift+/”效果)Ctrl+Shift+/注释已选择内容Ctrl+Space自动完成(win与系统快捷键冲突,需修改)Ctrl+Z撤销Ctrl+Y恢复撤销Ctrl+Shift+V粘贴并自动缩进(其它兄弟写的,实测win系统自动缩进无效)Ctrl+M光标跳至对应的括号Alt+.闭合当前标签Ctrl+Shift+A选择光标位置父标签对儿Ctrl+Shift+折叠代码Ctrl+Shift+展开代码Ctrl+KT折叠属性C
22、trl+K0展开所有Ctrl+U软撤销Ctrl+T词互换Ctrl+Enter插入行后Ctrl+Shift Enter插入行前Ctrl+K Backspace从光标处删除至行首Ctrl+Shift+UP与上行互换Ctrl+Shift+DOWN与下行互换Shift+Tab去除缩进Tab缩进F9行排序(按a-z)三、JDK中的三个命令行工具3.1 javac命令工具 -classpath,设定要搜索类的路径,可以是目录,jar文件,zip文件(里面都是class文件),目录、jar文件和zip文件之间利用;分隔,-classpath后的参数会覆盖掉所有在CLASSPATH里面的设定。-sourcep
23、ath, 设定要搜索编译所需java 文件的路径,可以是目录,jar文件,zip文件(里面都是java文件)。-d 设置类文件输出路径。-verbose 输出编译过程的完整信息。1、针对上面的例子,在javac编译过程中利用-verbose参数输出编译信息:2、新建一个java.txt文件,在文件内输入以下需要编译的文件的文件名,文件名之间用回车键。利用javac java.txt,对文件内的文件进行整体编译。3.2 java命令工具Java 命令是运动class文件的工具,3.3 jar命令工具jar工具可以对java文件和class文件进行打包操作。四、课后作业课后作业:(以后作业统一用P
24、DF文件提交,利用Latex编译转化为PDF文件,文件名的命名方式是(实验次数)+姓名+班级+学号(最后两位),例子:(实验1+朱伟芳+信科11+04.pdf)1、 说明JDK和JRE的区别,计算机如果没有安装JDK,是否可以运行Java程序?如果可以运行Java程序,找到JRE目录并进行截图。JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。JRE是Java Runtime Enviroment是指Java的
25、运行环境,是面向Java程序的使用者,而不是开发者。如果安装了JDK,会发同你的电脑有两套JRE,一套位于 jre 另外一套位于 C:Program FilesJavajre1.5.0_15 目录下,后面这套比前面那套少了Server端的Java虚拟机,不过直接将前面那套的Server端Java虚拟机复制过来就行了。而且在安装JDK可以选择是否安装这个位于 C:Program FilesJava 目录下的JRE。如果你只安装JRE,而不是JDK,那么只会在 C:Program FilesJava 目录下安装唯一的一套JRE。JRE的地位就象一台PC机一样,我们写好的Win32应用程序需要操作系
26、统帮我们运行,同样的,我们编写的Java程序也必须要JRE才能运行。所以当你装完JDK后,如果分别在硬盘上的两个不同地方安装了两套JRE,那么你可以想象你的电脑有两台虚拟的Java PC机,都具有运行Java程序的功能。所以我们可以说,只要你的电脑安装了JRE,就可以正确运行Java应用程序。可以,开始-运行-cmd2、 安装jdk-1_5_0_04-windows-i586-p.exe开发工具箱,并配置相应的path,ClassPath以及JAVA_HOME路径。3、 检查环境是否配置完成,并运行javac version和java version,查看两个命令运行的结果,说明javac和j
27、ava命令的作用。Javac是JDK提供的Java源程序编译器,用来对源程序进行语法检查并将其翻译成适合当前计算机运行的字节码文件,使用时其后必须写上源程序的文件全名。如javac MyFirstApp.java就是对MyFirstApp.java这个源文件进行编译。Java是JDK提供的解释器,用来解释字节码文件,同时执行其指令,实现程序的运行。如java MyFirstApp就是将编译后的字节码放在解释器上执行。4、 通常情况下,进行Java程序开发都是在Eclipse环境中开发,如果不使用Eclipse工具,能否进行Java程序开发?如果可以不使用Eclipse,举例说明。5、 如果出现
28、以下错误信息分析错误原因?在运行java Hello时Hello.java不用后缀名6、 如果出现以下错误信息分析错误原因?Public修饰的类名必须与Java文件同名,而错误中是大小写不一致7、 如果出现以下错误信息分析错误原因?system中的第一个s要大写,编译时,无法解析system,Java对大小写敏感JDK就是Java Development Kit.简单的说JDK是面向开发人员使用的SDK,它提供了Java的开发环境和运行环境。SDK是Software Development Kit 一般指软件开发包,可以包括函数库、编译程序等。JRE是Java Runtime Enviroment是指Java的运行环境,是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度周转材料租赁与施工现场临时设施建设合同3篇
- 特定行业招聘代理合同
- 废溶剂处理厂房建设施工合同
- 电影演员经纪人合作合同
- 建筑机电升级浮动价施工合同
- 石油天然气开采用地管理办法
- 2025版科技园区厂房租赁及研发支持协议3篇
- 酿酒师聘用合同协议
- 老年公寓空置房间租赁协议
- 矿山开采围护桩施工合同
- 2024年《中医妇科学》知识考试50题及答案
- 黑龙江省佳木斯市二中2024-2025学年高一上学期期中考试生物试题(无答案)
- fsQCA方法与案例分析
- 中国火锅文化课件
- 办公室装修招标文件范本
- 超星尔雅学习通《当代大学生国家安全教育》章节测试答案
- 2024年广东省广州市白云区来穗人员服务管理局招聘历年高频难、易错点500题模拟试题附带答案详解
- 2024年密码行业职业技能竞赛参考试题库500题(含答案)
- 期末 (试题) -2024-2025学年川教版(三起)英语五年级上册
- 2025届四川省新高考八省适应性联考模拟演练 生物试卷(含答案)
- 2024年中考英语专项复习训练:语法填空20篇【附解析】
评论
0/150
提交评论