




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java技术:第1章 Java入门Java是一门很优秀的编程语言,具有面向对象、与平台无关、安全、稳定和多线程等特点,是目前软件设计中极为健壮的编程语言。Java不仅可以用来开发大型的应用程序,而且特别适合于Internet的应用开发。Java确实具备了“一次写成,处处运行”的特点,Java已成为网络时代最重要的编程语言之一。本章将对Java做一个简单的介绍,并初步了解什么是Java应用程序,什么是Java小应用程序,有关的细节会在后续的章节中讨论。1.1 Java的诞生Java是1995年6月由Sun公司引进到这个世界的革命性的编程语言,它被美国的著名杂志PC Magazine评为1995年
2、十大优秀科技产品。之所以称Java为革命性编程语言,是因为传统的软件往往与具体的实现环境有关,一旦环境有所变化就需要对软件进行一番改动,耗时费力,而Java编写的软件能在执行码上兼容。这样,只要计算机提供了Java解释器,Java编写的软件就能在其上运行。Java的出现是源于对独立于平台语言的需要,希望这种编程语言能编写出嵌入各种家用电器等设备的芯片上、且易于维护的程序。但是,人们发现当时的编程语言,比如C、C+等都有一个共同的缺点,那就是针对CPU芯片进行编译。这样,一旦电器设备更换了芯片就不能保证程序正确运行,就可能需要修改程序并针对新的芯片重新进行编译。1990年Sun公司成立了由Jam
3、es Gosling领导的开发小组,开始致力于开发一种可移植的、跨平台的编程语言,该编程语言能生成正确运行于各种操作系统、各种CPU芯片上的代码。他们的精心专研和努力促成了Java的诞生。Java的快速发展得利于Internet和Web的出现,Internet上有各种不同的计算机,它们可能使用完全不同的操作系统和CPU芯片,但仍希望运行相同的程序,Java的出现标志着真正的分布式系统的到来。注:印度尼西亚有一个重要的盛产咖啡的岛屿,中文名叫爪哇,开发人员为这种新的语言起名为Java,其寓意是为世人端上一杯热咖啡。1.2 Java的特点Java是目前使用最为广泛的网络编程语言之一。它具有简单、面
4、向对象、与平台无关、解释型、多线程、安全、动态等特点。简单:指这门编程语言既易学又好用。不要将简单误解为这门编程语言很干瘪。你可能很赞同这样的观点:英语要比阿拉伯语言容易学。但这并不意味着英语就不能表达丰富的内容和深刻的思想,许多荣获诺贝尔文学奖的作品都是用英文写的。如果你学习过C+,你会感觉Java很眼熟,因为Java中许多基本语句的语法和C+一样,像常用的循环语句、控制语句等和C+几乎一样,但不要误解为Java是C+的增强版,Java和C+是两种完全不同的编程语言,它们各有各的优势,将会长期并存下去,Java和C+已成为软件开发者应当掌握的编程语言。如果从语言的简单性方面看,Java要比C
5、+简单,C+中有许多容易混淆的概念,或者被Java弃之不用了,或者以一种更清楚更容易理解的方式实现,例如,Java不再有指针的概念。面向对象:基于对象的编程更符合人的思维模式,使人们更容易编写程序。将在第4章详细地讨论类、对象等概念。与平台无关:与平台无关是Java最大的优势。其他语言编写的程序面临的一个主要问题是:操作系统的变化,处理器升级以及核心系统资源的变化,都可能导致程序出现错误或无法运行。Java的虚拟机成功地解决了这个问题,Java编写的程序可以在任何安装了Java虚拟机(JVM)的计算机上正确的运行,Sun公司实现了自己的目标“一次写成,处处运行”。解释型:我们知道C,C+等语言
6、,都是针对CPU芯片进行编译,生成机器代码,该代码的运行就和特定的CPU有关。Java不像C或C+,它不针对CPU芯片进行编译,而是把程序编译成称为字节码的一种“中间代码”。字节码是很接近机器码的文件,可以在提供了Java虚拟机(JVM)的任何系统上被解释执行。如果把Java的程序比做“汉语”的话,字节码就相当于“世界语”,世界语不和具体的“国家”有关,只要这个“国家”提供了“翻译”,就可以再快速地把世界语翻译成本地 语言。多线程:Java的特点之一就是内置对多线程的支持。多线程允许同时完成多个任务。实际上多线程使人产生多个任务在同时执行的错觉,因为,目前的计算机的处理器在同 一时刻只能执行一
7、个线程,但处理器可以在不同的线程之间快速地切换,由于处理器速 度非常快,远远超过了人接收信息的速度,所以给人的感觉好像多个任务在同时执行。 C+没有内置的多线程机制,因此必须调用操作系统的多线程功能来进行多线程程序的 设计。安全:当准备从网络上下载一个程序时,最大的担心是程序中含有恶意的代码,比如试图读取或删除本地机上的一些重要文件,甚至该程序是一个病毒程序等。当你使用支持Java的浏览器时,你可以放心地运行Java的小应用程序(Java Applet),不必担心病毒的感染和恶意的企图,Java小应用程序将限制在Java运行环境中,不允许它访问计算机的其他部分。在第12章将详细介绍Java小应
8、用程序。动态:在学习了第4章之后,就会知道,Java程序的基本组成单元就是类,有些类是自己编写的,有些是从类库中引入的,而类又是运行时动态装载的,这就使得Java可以在分布环境中动态地维护程序及类库,而不像C+那样,每当其类库升级之后,如果想让程序具有新类库提供的功能,就需要修改程序、重新编译。1.3 安装Sun公司的SDK1三种平台简介Sun公司要实现“一次写成,处处运行”(write once,run anywhere)的目标,就必须提供相应的Java运行平台,目前Java运行平台主要分为下列3个版本。(1)J2SE:称为Java标准版或Java 标准平台。J2SE 提供了标准的SDK开发
9、平台(以前称为JDK开发平台)。利用该平台可以开发 Java桌面应用程序和低端的服务器应用程序,也可以开发Java Applet 程序。(2)J2EE:称为Java企业版或Java企业平台。使用J2EE可以构建企业级的服务应 用,J2EE平台包含了J2SE平台,并增加了附加类库,以便支持目录管理、交易管理和企业级消息处理等功能。(3)J2ME:称为Java微型版或Java小型平台。J2ME是一种很小的Java运行环境,用于嵌入式的消费产品中,如移动电话、掌上电脑或其他无线设备等。登录Sun公司的网站:,就立刻能看到有关J2SE、J2EE和J2ME的介绍。无论
10、上述哪种Java运行平台都包括了相应的Java虚拟机(Java Virtual Machine),虚拟机负责将字节码文件(包括程序使用的类库中的字节码)加载到内存,然后采用解释方式来执行字节码文件,即根据相应硬件的机器指令解释一句,执行一句。2安装J2SE平台图1.1 SDK目录结构学习Java必须从J2SE开始,因此,本书基于J2SE来学习Java。还有一些其他很好的Java程序开发环境可用,包括来自Sun、Borland、Sysmantec公司的产品,例如Sun One、JBuild等,这些产品都集成J2SE 提供的SDK作为主要部分。目前Sun公司已发布了SDK的1.4版本,可以登录到S
11、un公司的网站,免费下载SDK1.4(j2sdk-1_4_1_02-windows-i586.exe),本书使用SDK 1.4版本。注意:目前Sun公司已发布了SDK的1.5测试版本(beta版),可以登录到Sun公司的网站,免费下载SDK1.5(jdk-1_5_0-beta2-windows-i586.exe)。如果将SDK安装到D:jdk1.4目录下,则会生成如图1.1所示的目录结构。现在,就可以编写Java程序,并进行编译、运行程序了,因为安装SDK的同时,计算机就安装上了Java运行环境平台。(1)系统环境变量Pa
12、th值的设置SDK平台提供的Java编译器(javac.exe)和Java解释器(java.exe)位于Java安装目录的bin文件夹中,为了能在任何目录中使用编译器和解释器,应在系统特性中设置Path。在Windows 2000、Windows 2003、Windows XP系统中,右击“我的电脑”,在弹出的快捷菜单中,选择“属性”命令,弹出“系统特性”对话框。再单击该对话框中的“高级”选项,然后单击“环境变量”按钮,添加如下的系统环境变量:图1.2 设置系统环境变量Path变量名:PATH,变量值:D:jdk1.4bin如果曾经设置过环境变量Path,可双击该变量进行编辑操作,将需要的值加
13、入即可(如图1.2所示)。也可以在命令窗口(如MS-DOS窗口)中输入命令:Path=D:jdk1.4bin;对于Windows 9x,用记事本编辑Autoexec.bat文件,将如下的设置语句加入即可:Path=D:jdk1.4bin;(2)系统环境变量ClassPath 值的设置图1.3 设置系统环境变量ClassPathSDK的安装目录的jre文件夹中包含着Java应用程序运行时所需要的Java类库,这些类库被包含在jrelib目录下的压缩文件rt.jar中。安装SDK一般不需要设置环境变量ClassPath的值,但是如果计算机安装过一些商业化的Java开发产品或带有Java技术的一些产
14、品,如PB、Oracle等,那么这些产品在安装后,可能会修改ClassPath的值,那么当运行Java应用程序时,可能会加载这些产品所带的旧版本的类库,而导致程序要加载的类无法找到,使程序出现运行错误,这时就需要重新编辑系统环境变量ClassPath的值。对于Windows 2000、Windows 2003、Windows XP系统,右击“我的电脑”,在弹出的快捷菜单中,选择“属性”命令,弹出“系统特性”对话框,再单击该对话框中的“高级”选项,然后单击“环境变量”按钮,添加如下的系统环境变量(如图1.3所示):变量名:ClassPath,变量值:D:jdk1.4jrelibrt.jar;.;
15、如果曾经设置过环境变量ClassPath,可双击该变量进行编辑操作,将需要的值输入即可。也可以在命令行窗口(如MS-DOS窗口)中输入命令:set classpath=D:jdk1.4jrelibrt.jar;.;对于Windows 9x,用记事本编辑Autoexec.bat文件,将如下的设置语句加入即可:set classpath=D:jdk1.4jrelibrt.jar;.;注:ClassPath环境变量设置中的“.;”是指可以加载应用程序当前目录及其子目录中的类。(3)仅仅安装JRE如果只想运行别人的Java程序可以只安装Java运行环境JRE,JRE由Java虚拟机、Java的核心类,
16、以及一些支持文件组成。可以登录Sun的网站免费下载Java的JRE。注:建议下载Sun公司的Java类库文档,例如j2sdk-1_4_1-doc。1.4 一个Java程序的开发过程Java程序的开发过程如图1.4所示。图1.4 Java程序的开发过程注:字节码文件是与平台无关的二进制码,执行时由解释器解释成本地机器码,解释一句,执行一句。(1)编写源文件:使用一个文本编辑器,如Edit或记事本,来编写源文件。不可使用Word编辑器,因为它含有不可见字符。将编好的源文件保存起来,源文件的扩展名必须是.java。(2)编译Java源文件:使用Java编译器(javac.exe)编译源文件得到字节码
17、文件。(3)运行Java程序:Java程序分为两类Java应用程序和Java小应用程序,Java应用程序必须通过Java解释器(java.exe)来解释执行其字节码文件;Java小应用程序必须通过支持Java标准的浏览器来解释执行。1.5 一个简单的Java应用程序的开发过程1编写源文件public class Hello public static void main (String args) System.out.println(你好,很高兴学习Java); 注:Java源文件中语句所涉及的小括号及标点符号都是英文状态下输入的括号和标点符号,比如你好,很高兴学习Java中的引号必须是英文
18、状态下的引号,而字符串里面的符号不受汉字或英文的限制。(1)一个Java源文件是由若干个类组成的。如果你学过C语言,你就会知道一个C语言源文件是由若干个函数组成的。上面的这个Java应用程序简单到只有一个类,类的名字是Hello。(2)class是Java的关键字,用来定义类的。public也是关键字,说明Hello是一个 public类(后续章节将会系统地学习类的定义和使用)。第一个大括号和最后一个大括号以及其之间的内容叫做类体。(3)public static void main (String args)是类体中的一个方法,之后的两个大括号以及其之间的内容叫做方法体。一个Java应用程序
19、必须有一个类含有main方法,这个类称为应用程序的主类。public,static和void分别是对main方法的说明。在一个Java应用程序中main方法必须被说明为public static void。(4)String args声明一个字符串类型的数组args(注意String的第一个字母是大写的),它是main方法的参数(以后会学习怎样使用这个参数)。main方法是程序开始执行的位置。现在将源文件保存到C:1000中,并命名为Hello.java。注意不可写成hello.java,因为Java是区分字母大小写的。源文件的命名规则是这样的,如果源文件中有多个类,那么只能有一个类是publ
20、ic类。如果有一个类是public类,那么源文件的名字必须与这个类的名字完全相同,扩展名是.java。如果源文件没有public类,那么源文件的名字只要和某个类的名字相同,并且扩展名是.java就可以了。注:如果在保存文件时,系统总是给文件名末尾加上“.txt”,那么在保存文件时可以将文件名字用双引号括起,如图1.5所示。图1.5 Java源文件的保存2编译当创建了Hello.java这个源文件后,就要使用Java编译器(javac.exe)对其进行编译。C:1000javac Hello.java编译完成后生成一个Hello.class文件,该文件称为字节码文件。这个字节码文件Hello.c
21、lass将被存放在与源文件相同的目录中。如果Java源文件中包含了多个类,那么用编译器javac编译完源文件后将生成多个扩展名为.class的文件,每个扩展名是.class的文件中只存放一个类的字节码,其文件名与该类的名字相同。这些字节码文件将被存放在与源文件相同的目录中。如果你对源文件进行了修改,那么必须重新编译,再生成新的字节码文件。3运行Java应用程序必须通过Java虚拟机中的Java解释器(java.exe)来解释执行其字节码文件。Java应用程序总是从主类的main方法开始执行。因此,必须如下运行Java应用 程序:C:1000java HelloMS-DOS命令行窗口将显示如下信
22、息:你好,很高兴学习Java注:当Java应用程序中有多个类时,java命令后的类名必须是包含了main方法的那个类的名字,即主类的名字。再看一个简单的Java应用程序。也许现在还看不懂这个程序,但必须知道怎样命名、保存源文件;怎样使用编译器编译源文件;怎样使用解释器运行程序。(1)源文件public class People int height; String ear; void speak(String s) System.out.println(s); class A public static void main(String args) People zhubajie; zhuba
23、jie=new People(); zhubajie.height=170; zhubajie.ear=两只大耳朵; System.out.println(身高:+zhubajie.height); System.out.println(zhubajie.ear); zhubajie.speak(师傅,咱们别去西天了,改去月宫吧); 必须把源文件保存起来并命名为People.java(回忆一下源文件起名的规定)。假设保存People.java在C:1000下。(2)编译源文件C:1000javac People.java图1.6 用解释器运行应用程序如果编译成功,目录1000下就会有Peopl
24、e.class和A.class这两个字节码文件了。(3)执行C:1000java Ajava命令后的名字必须是含有main方法的那个类的名字,运行效果如图1.6所示。1.6 一个简单的Java小应用程序1编写源文件import java.applet.*; import java.awt.*;public class Boy extends Applet public void paint(Graphics g) g.setColor(Color.red); g.drawString(我一边喝着咖啡,一边学Java呢,5,30); g.setColor(Color.blue); g.drawS
25、tring(我学得很认真,10,50); 一个Java Applet也是由若干个类组成的,一个Java Applet不再需要main方法,但必须有且只有一个类扩展了Applet类,即它是Applet类的子类。把这个类叫做这个Java Applet的主类,Java Applet的主类必须是public的(后续章节将会系统学习类和子类)。Applet类是系统提供的类。当保存上面的源文件时,必须命名为Boy.java。这里假设保存Boy.java在C:1000目录下。注:上述源文件中使用了import语句,这是因为要使用系统提供的Applet类。Applet类在java.applet包中。java.
26、applet包中有很多类,Java语言把一些类放在一起叫做一个包,这里java.applet是一个包的包名,关于包以后还会讲解。如果不使用import语句,主类必须写成:public class Boy extends java.applet.AppletGraphics是java.awt包中的一个类。2编译C:1000javac Boy.java编译成功后,文件夹1000下会生成一个Boy.class文件。如果源文件有多个类,将生成多个class文件,都和源文件放在同一文件夹里。如果对源文件进行了修改,那么必须重新编译,再生成新的字节码文件。3运行Java Applet必须由浏览器来运行,因此必须编写一个超文本文件(含有applet标记的Web页),通知浏览器来运行这个Java Applet。下面是一个最简单的一个HTML文件,用于通知浏览器运行Java Applet。使用记事本编辑如下:超文本中的标记 和用于通知浏览器运行一个Java Applet,code通知浏览器运行哪个Java Applet。code的=后面是主类的字节码文件,width、height规定了这个Java Applet的宽度和高度,单位是像素。要想让浏览器运行一个Java Applet, 标记中的code、height、width都是必需的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年福州市长乐生态环境局招聘2人模拟试卷带答案详解
- 2025北京林业大学附属实验小学招聘1人考前自测高频考点模拟试题及答案详解(名师系列)
- 2025广东广州市越秀区人民法院合同制司法警察辅助人员岗位拟聘用人员考前自测高频考点模拟试题及1套参考答案详解
- 2025鲁控环保科技有限公司招聘20人(山东)模拟试卷及答案详解参考
- 2025年台州市黄岩区公开选调9名公务员模拟试卷附答案详解(模拟题)
- 2025年威海市环翠区教育和体育局公开招聘中小学教师(53人)模拟试卷(含答案详解)
- 2025年福建省厦门中烟益升华滤嘴棒有限责任公司招聘12人模拟试卷及答案详解(有一套)
- 2025年中国化妆品用胭脂虫提取物行业市场分析及投资价值评估前景预测报告
- 2025年宿州市中医医院招聘36人考前自测高频考点模拟试题及答案详解(典优)
- 2025年哈尔滨市南岗区人民医院招聘3人模拟试卷及答案详解(夺冠)
- 保温人员安全培训课件
- 驾校教练安全知识培训课件
- 本科教学审核评估汇报
- 《直线方程的两点式》教学设计
- 01 华为采购管理架构(20P)
- 望洞庭教学课件
- 都江堰水利工程课件
- 液氮运输投标方案(3篇)
- 《2019年甘肃省职业院校技能大赛学前教育专业教育技能赛项竞赛规程(高职教师组)》
- 《智能制造技术与工程应用》全套教学课件
- TSG T5002-2017 电梯维护保养规则
评论
0/150
提交评论