java入门学习第1章Java概述Word格式文档下载.docx
- 文档编号:16747605
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:9
- 大小:33KB
java入门学习第1章Java概述Word格式文档下载.docx
《java入门学习第1章Java概述Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《java入门学习第1章Java概述Word格式文档下载.docx(9页珍藏版)》请在冰豆网上搜索。
WWW的创始人
Berners-Lee说
计算机事业发展的下一个浪潮就是
Java,并且将很快会发生的"
。
看来
使用
Java已成大势所趋
!
MicroSoft和
IBM两大公司都计划在
Internet上销售用
Java编写的软件。
Apple、
HP、
MicroSoft、
Novell、
SGI、
SCO、
Tandem等公司均计划将
Java并入各自开发的操作系统
而负责开发并推广
Java技术的
SunSoft公司
(这是
SUN下属的一个子公司
),将通过颁发许可证的办法来允许各家公司把Java虚拟机和
Jav
a的
Applets类库嵌入他们开发的操作系统
这样各类开发人员就能更容易地选择多种平台来使用
Java语言编程
不同的用户也就可以脱离
Web浏览器来运行
Java应用程序
这无疑是很受广大用户欢迎的
也为
Java语言的应用开拓了极为广阔的前景。
(当然
各类
JavaOS之间的兼容性必须得到重视
好在JavaSoft已保证将监督这种兼容性
)。
另外
由
JavaSoft推出的完全用
Java编写的
Internet上新型浏览器HotJava,比去年
alpha版更为实用
不仅能编制动态的应用软件
而且能编制完整的成套桌面应用软件
将来还会提供更多的能帮助编制动态应用软件的模块
显然
这也是为
Java的应用提供了有力的例证。
今年
6月
7日
SUN公司和台湾经济事务部信息发展局、台湾信息技术研究所等单位牵头
成立了一个"
Java联盟
参加的有
22个在台湾相当著名的计算机公司
并在台北建立一个
Java开发中心
在新竹建立一个"
Java语言实验室"
以掀起台湾开发与应用
Java语言的热潮。
香港则在今年
4月就举行了全岛的
Java杯比赛
在计算机界掀起了学习Java的热潮
(尤其是在大学生们中
出现了一批
Java迷
有人预言
Java将是网络上的
世界语
今后所有的用其他语言编写的软件统统都要用
Java语言来改写。
二、
Java语言对软件开发技术的影响
工业界不少人预言
Java语言的出现
将会引起一场软件革命
这是因为传统的软件往往都是与具体的实现环境有关
换了一个环境就需要作一番改动
耗时费力
而
Java语言能在执行码
(二进制码
)上兼容
这样以前所开发的软件就能运行在不同的机器上
只要所用的机器能提供
Java语言解释器即可。
Java语言将对未来软件的开发产生影响
可从如下几个方面考虑
1软件的需求分析
可将用户的需求进行动态的、可视化描述
以提供设计者更加直观的要求。
而用户的需求是各色各样的
不受地区、行业、部门、爱好的影响
都可以用
Java语言描述清楚。
2软件的开发方法
由于
Java语言的面向目标的特性
所以完全可以用
O-O的技术与方法来开发
这是符合最新的软件开发规范要求的。
3
Java语言的动画效果远比
GUI技术更加逼真
尤其是利用
WW
W提供的巨大动画资源空间
可以共享全世界的动态画面的资源。
4软件最终产品
用
Java语言 开发的软件可以具有可视化、可听化、可操作化的效交互、动画与动作
要它停就停
要它继续就继续
而这是在电影与电视播放过程中难以做到的。
5其它
使用
Java语言对开发效益、开发价值都有比较明显的影响。
三、工业界对
Java语言的评价
1996年
5月
29~
31日
在美国旧金山召开了一个全世界
Java语言开发者大会
(JavaOne
Developer
Confer-ence),出席会议的多达
6500多人
来自工业界的超过一半
有人评价说
这是近年来计算机界最
光辉的一次盛会
一些工业界的老总们相当看好
Java语言
认为它的使用将会引起一场软件革命。
从软件的设计风格、设计方法、设计目标到设计过程
都会产生彻底的变革
"
甚至会改变此星球的生活方式
在这次会上
Java的创始人之一
James
Gosling说
Java不仅仅只是applets,它能做任何事情
Dta咨询公司的高级软件工程师
Rich
Kadel说
Java不仅仅是一种程序设计语言
更是现代化软件再实现的基础
;
Java还是未来新型OS的核心
将会出现
Java芯片
将构成各种应用软件的开发平台与实现环境
是人们必不可少的开发工具
……
由于各界都看好它
各大公司都纷纷表示支持
Java,Inte
l、
Xerox公司声言将把
Java嵌入到他们的产品中去。
就连华尔街金融界也在投入资金人力用
Java开发电子贸易、金融软件。
所以有人说
现在第三方的开发商都团结在
Java大旗周围了
纷纷推出用
Java开发的各种软件产品
以期尽快地占领市场。
四、
Java语言的应用前景
Java语言有着广泛的应用前景
大体上可以从以下几个方面来考虑其应用
1所有面向对象的应用开发
包括面向对象的事件描述、处理、综合等
2计算过程的可视化、可操作化的软件的开发
3动态画面的设计
包括图形图像的调用
4交互操作的设计
(选择交互、定向交互、控制流程等
);
5
Internet的系统管理功能模块的设计
包括
Web页面的动态设计、管理和交互操作设计等
6
Intranet(企业内部网
)上的软件开发
(直接面向企业内部用户的软件
7与各类数据库连接查询的
SQL语句实现
8其它应用类型的程序。
1.2
Java的特点
Java是一个广泛使用的网络编程语言
它是一种新的计算概念。
首先
作为一种程序设计语言
它简单、面向对象、不依赖于机器的结构、具有可移植性、鲁棒性、安全性、并且提供了并发的机制、具有很高的性能。
其次
它最大限度地利用了网络
Java的小应用程序
(applet)可在网络上传输而不受
CPU和环境的限制。
Java还提供了丰富的类库
使程序设计者可以很方便地建立自己的系统。
下面我们分别从这三个方面来讨论
Java的特点
然后通过把
Java与
C,C++相比进一步指出它所具有的优点。
一、
Java语言
Java语言有下面一些特点
:
简单、面向对象、分布式、解释执行、鲁棒、安全、体系结构中立、可移植、高性能、多线程以及动态性。
1.简单性
Java语言是一种面向对象的语言
它通过提供最基本的方法来完成指定的任务
只需理解一些基本的概念
就可以用它编写出适合于各种情况的应用程序。
Java略去了运算符重载、多重继承等模糊的概念
并且通过实现自动垃圾收集大大简化了程序设计者的内存管理工作。
Java也适合于在小型机上运行
它的基本解释器及类的支持只有
40KB左右
加上标准类库和线程的支持也只有
215KB左右。
库和线程的支持也只有
2.面向对象
Java语言的设计集中于对象及其接口
它提供了简单的类机制以及动态的接口模型。
对象中封装了它的状态变量以及相应的方法
实现了模块化和信息隐藏
而类则提供了一类对象的原型
并且通过继承机制
子类可以使用父类所提供的方法
实现了代码的复用。
3.分布性
Java是面向网络的语言。
通过它提供的类库可以处理
TCP/IP协议
用户可以通过
URL地址在网络上很方便地访问其它对象。
4.鲁棒性
Java在编译和运行程序时
都要对可能出现的问题进行检查
以消除错误的产生。
它提供自动垃圾收集来进行内存管理
防止程序员在管理内存时容易产生的错误。
通过集成的面向对象的例外处理机制
在编译时,Java提示出可能出现但未被处理的例外
帮助程序员正确地进行选择以防止系统的崩溃。
另外,Java在编译时还可捕获类型声明中的许多常见错误
防止动态运行时不匹配问题的出现。
5.安全性
用于网络、分布环境下的
Java必须要防止病毒的入侵。
Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现
这样就防止程序员使用"
特洛伊
木马等欺骗手段访问对象的私有成员
同时也避免了指针操作中容易产生的错误。
6.体系结构中立
Java解释器生成与体系结构无关的字节码指令
只要安装了
Java运行时系统
Java程序就可在任意的处理器上运行。
这些字节码指令对应于
Java虚拟机中的表示
Java解释器得到字节码后
对它进行转换
使之能够在不同的平台运行。
7.可移植性
与平台无关的特性使
Java程序可以方便地被移植到网络上的不同机器。
同时
Java的类库中也实现了与不同平台的接口
使这些类库可以移植。
另外,Java编译器是由
Java语言实现的
Java运行时系统由标准
C实现
这使得Java系统本身也具有可移植性。
8.解释执行
Java解释器直接对
Java字节码进行解释执行。
字节码本身携带了许多编译时信息
使得连接过程更加简单。
9.高性能
和其它解释执行的语言如
BASIC、
TCL不同
Java字节码的设计使之能很容易地直接转换成对应于特定CPU的机器码
从而得到较高的性能。
10.多线程
多线程机制使应用程序能够并行执行
而且同步机制保证了对共享数据的正确操作。
通过使用
多线程
程序设计者可以分别用不同的线程完成特定的行为
而不需要采用全局的事件循环机制
这样就很容易地实现网络上的实时交互行为。
11.动态性
Java的设计使它适合于一个不断发展的环境。
在类库中可以自由地加入新的方法和实例变量而不会影响用户程序的执行。
并且
Java通过接口来支持多重继承
使之比严格的类继承具有更灵活的方式和扩展性。
Java
Applet
Java语言的特性使它可以最大限度地利用网络。
Ap-plet是
a的小应用程序
它是动态、安全、跨平台的网络应用程序。
Applet嵌入
HTML语言
通过主页发布到
Internet。
网络用户访问服务器的
Applet时
这些Applet从网络上进行传输
然后在支持
Java的浏览器中运行。
Java语言的安全机制
用户一旦载入
Applet,就可以放心地来生成多媒体的用户界面或完成复杂的计算而不必担心病毒的入侵。
虽然
Applet可以和图像、声音、动画等一样从网络上下载
但它并不同于这些多媒体的文件格式
它可以接收用户的输入
动态地进行改变,而不仅仅是动画的显示和声音的播放。
三、丰富的类库
Java提供了大量的类以满足网络化、多线程、面向对象系统的需要。
1.语言包提供的支持包括字符串处理、多线程处理、例外处理、数学函数处理等
可以用它简单地实现Java程序的运行平台。
2.实用程序包提供的支持包括哈希表、堆栈、可变数组、时间和日期等。
3.输入输出包用统一的
流
模型来实现所有格式的
I/O,包括文件系统、网络、输入;
4.低级网络包用于实现
Socket编程。
5.抽象图形用户接口包实现了不同平台的计算机的图形用户接口部件
包括窗口、菜单、滚动条、对话框等
使得
Java可以移植到不同平台的机器。
6.网络包支持
Internet的
提供了与
In-ternet的接口。
它支持
URL连接
WWW的即时访问
并且简化了用户
/服务器模型的程序设计。
Java和
C、
C++
对于变量声明、参数传递、操作符、流控制等
Java使用了和
C++相同的传统
使得熟悉
C++的程序员能很方便地进行编程。
同时
Java为了实现其简单、鲁棒、安全等特性
也摒弃了
C和
C++中许多不合理的内容。
1.全局变量
Java程序中
不能在所有类之外定义全局变量
只能通过在一个类中定义公用、静态的变量来实现一个全局变量。
例如
Class
GlobalVar{
public
static
global_var;
、
}
在类
GlobalVar中定义变量
global_var为
stat-ic,使得其它类可以访问和修改该变量。
Java对全局变量进行了更好的封装。
而在
C++中
依赖于不加封装的全局变量常常造成系统的崩溃。
2.Goto
Java不支持
C++中的
goto语句
而是通过例外处理语句
try,
Catch,final等来代替
C++中用
goto来处理遇到错误时跳转的情况
使程序更可读且更结构化。
3.指针
指针是
C++中最灵活
也是最容易产生错误的数据类型。
由指针所进行的内存地址操作常会造成不可预知的错误
同时通过指针对某个内存地址进行显式类型转换后
可以访问一个
C++中的私有成员
从而破坏安全性
造成系统的崩溃。
而
Java对指针进行完全的控制
程序员不能直接进行任何指针操作
例如把整数转化为指针
或者通过指针释放某一内存地址等。
数组作为类在Java中实现
良好地解决了数组访问越界这一C、
C++中不作检查的错误。
4.内存管理
在
C中
程序员通过库函数
malloc()和
free()来分配和释放内存
C++中则通过运算符
new和
delete来分配和释放内存。
再次释放已释放的内存块或未被分配的内存块
会造成系统的崩溃
同样
忘记释放不再使用的内存块也会逐渐耗尽系统资源。
Java中
所有的数据结构都是对象
通过运算符new为它们分配内存堆。
通过new得到对象的处理权
而实际分配给对象的内存可能随程序运行而改变
Java对此自动地进行管理并且进行垃圾收集
有效防止了由于程序员的误操作而导致的错误
并且更好地利用了系统资源。
5.数据类型的支持
对于不同的平台
编译器对于简单数据类型如
in
t,float等分别分配不同长度的字节数
例如:
int在
IBM
PC中为
16位
VAX-11中为32位
这导致了代码的不可移植性
但在
对于这些数据类型总是分配固定长度的位数
如对
int型
它总占
32位
这就保证了
Java的平台无关性。
6.类型转换
可以通过指针进行任意的类型转换
常常带来不安全性
而
运行时系统对对象的处理要进行类型相容性检查
以防止不安全的转换。
7.头文件
C++中用头文件来声明类的原型以及全局变量、库函数等
在大的系统中
维护这些头文件是很困难的。
Java不支持头文件
类成员的类型和访问权限都封装在一个类中
运行时系统对访问进行控制
防止对私有成员的操作。
Java中用
import语句来与其它类进行通讯
以便使用它们的方法。
8.结构和联合
C++中的结构和联合中所有成员均为公有
这就带来了安全性问题。
Java中不包含结构和联合,所有的内容都封装在类中。
9.预处理
C++中用宏定义来实现的代码给程序的可读性带来了困难。
Java中
不支持宏
它通过关键字
final来声明一个常量
以实现宏定义中广泛使用的常量定义。
1.3.简
单
的
Java程
序
下面我们先介绍两个简单的Java程序,并对其进行分析。
例
1.1.
class
HelloWorldApp
{
//an
application
void
main
(String
args[
]){
System.out.println("
Hello
World!
本
程
序
作
是
输
出
下
面
一
行
信
息
程序中,首先用保留字class来声明一个新的类
其类名为Hell
oWorldApp,它是一个公共类
(public)。
整个类定义由大括号
{}括
起
来
在该类中定义了一个
()方
法
其中public表示访问权限
指明所有的类都可以使用这一方法;
static指明该方法是一个类方法,它可以通过类名直接调用;
void则指明main()方法不返回任何值。
对于一个应用程序来说,main()方法是必需的,而且必须按照如上的格式来定义。
Java解释器在没有生成任何实例的情况下
以
main()作为入口来执行程序
Java程序中可以定义多个类
每个类中可以定义多个方法,但是最多只能有一个公共类,
main()方法也只能有一个,作为程序的入口。
main()方法定义中,括号()中的String
]是传递给main()方法的参数,参数名为
args,它
类
String的一个实例,参数可以为0个或多个,每个参数用"
类名参数名
来指
定,
多个参数间用逗号分隔。
在main()方法的实现
(大
括
号
中
),只有一条语句
System.out.println
("
它用来实现字符串的输出,这条语句实现与C语言中的printf语句和C++中cout<<语句相同的功能
另外,//后的内容为注释
现在我们可以运行该程序。
首先把它放到一个名为HelloWorldApp.java的文件中,
这里,文件名应和类名相同,因为Java解释器要求公共类必须放在与其同名的文件中。
然后对它进行编译
C:
\>javac
HelloWorldApp.java
编译的结果是生成字节码文件HelloWorldApp.class。
最后用java解释器来运行该字节码文件:
\>java
HelloWorldApp
结果在屏幕上显示Hello
我们再来看下面的一个例子
1.2
import
java.awr.*;
java.applet.*;
HelloWorldApplet
extends
Applet
applet
paint(Graphics
g){
g.drawString
20,20);
这是一个简单的Applet(小应用程序
程序中,首先用import语句输入java.awr和java.applet下
所
有
包
使
得
该
可
能使
这
些
中所定义的类,
它类似于C中的
#include语
句
然后声明一个公共类HelloWorldApplet,用
extends指明它是
Applet的子类。
在类中,我们重写父类Ap-plet的paint()方法,其中参数g为Graphics类,它表明当前作画的上下文。
在paint()方法中,调用
g的方法drawString(),在坐标
(20,20)处
输出字符串"
其中坐标是用象素点来表示的
这个程序中没有实现main()方法,这是Applet与应用程序Application(如例1)的区别之一
为了运行该程序,首先我们也要把它放在文件
HelloWorldApplet.java中,然后对它进行编译
HelloWorldApplet.java
得到字节码文件HelloWorldApplet.class。
由于Applet中没有main()方法作为Java解释器的入口,我们必须编写HTML文件,把该Applet嵌入其中,然后用appletviewer来运行,或在支持Java的浏览器上运行
它的<HTML>文件如下
<HTML>
<HEAD>
<TITLE>
An
</TITLE>
</HEAD>
<BODY>
<applet
code="
HelloWorldApplet.class"
width=200
height=40>
</applet>
</BODY>
</HTML>
其中用<applet>标记来启动HelloWorldApplet,code指明字节码所在的文件,width和height指明applet所占的大小,我们把这个HTML文件存入Example.html,然
后
运
\>appleviewer
Example.html
这时屏幕上弹出一个窗口,其中显示Hello
显示结果.
如
图
从上述例子中可以看出,Java程序是由类构成的,对于一个应用程序来说,必须有一个类中定义main()方法,而对applet来说,它必须作为
Applet的一个子类。
在类的定义中,应包含类变量的声明和类中方法的实现
Java在基本数据类型、运算符、表达式、控制语句等方面与C、
C++基本上是相同的,但它同时也增加了一
新的内容,在以后的各章中,我们会详细介绍
本节中,只是使大家对Java程序有一个初步的了解
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 入门 学习 概述