第一章 Java语言概述一、程序设计语言的分类,(按照发展历史可分为三类)
1、面向机器的语言:可读性差,可移植性差。
2、面向过程的语言:重点是数据结构和算法,缺点:维护困难,可重用性低。
3、面向对象的语言:“一次编写,多次复用”
二 Java语言的发展:
1.Internet发展中的两次飞跃
( 1) WWW的出现 从资源的分散到资源的集中,
从命令行方式访问到窗口式访问,
( 2) JAVA的出现 Java Applet是可通过网络传输,经本地浏览器内嵌的解释器解释执行的 Java小应用程序,
基本应用 实现动态多媒体页面。
主要应用 交互功能的实现,即当有用户事件发生时 (鼠标点击、键盘输入等 〕,能即时响应。
WEB交互实现的方式,1.CGI程序
2.Java Applet
3.脚本 (包括 JavaScript,VBScript)
4.asp和 php,JSP
*脚本可直接嵌入 HTML或 ASP文档代码中,
3.CGI与 Java Applet实现交互的不同例,用 CGI实现数据查询,
即 Java Applet直接运行在客户端,可即时响应用户事件并访问数据库,
*ASP,PHP通过嵌入的服务器端脚本代码实现数据库访问 。
2,JAVA的历史
90年 SUN "Green"项目 --开发家用电器软件
Oak---1.与平台无关 (可移植 ),降低开发和硬件成本
2.取消了指针,提高了可靠和安全性,
3.自动内存管理,
94年用 Oak编写 Web浏览器 WebRunner.
95年申请注册 Oak失败 ------更名为 Java,浏览器改名为 HotJava.
96年 1月,SUN公布第一版编译器 JDK1.0,各大公司相继从 SUN取得了
JAVA技术许可,开发相应产品,
2,Java语言由两部分组成,
( 1)语法规则
( 2)类库:又称运行时库,提供了 Java程序与运行它的系统软件
( Java虚拟机)之间的接口三,Java程序的开发过程:
1、编写源代码:
import java.io.*;
public class MyFirst
{
public static void main(String[] args)
{
System.out.println("sthis is my first java program");
}
}
在编写 Java源程序定义类的时应注意:
( 1)区分大小写,关键字的大小写不能搞错
( 2)类之间是平行的不能嵌套定义
( 3)一个程序中可包含一个或多个类,但其中只能有一个是主类
( 4)源程序的文件名必须与主类名一致
2、编译生成字节码:
Java与传统解释型语言不同,Java的源程序不是直接交给解释器解释,而是先经过一个与编译型语言相似的编译过程,把 Java源程序翻译成一种特定的二进制字节码文件,再把这个字节码文件交给
Java解释器来解释执行;
引入编译的原因:
( 1)保证程序的语法正确性。
( 2)通过编译引入 Java类库中已编写好的模块编译中需要注意的是:
( 1)源文件必须在当前的目录下,否则编译器找不到
( 2)编译器后面空一格跟文件名
( 3)编译成功的结果是一个或多个字节码文件四,Applet与 Application
1,Java Application程序的主要特点
( 1) Java Application是独立完整的程序
( 2)在命令行调用独立的解释器软件即可运行 Java Application程序
( 3)主类必须有 main方法,也是 Java Application的入口点
2,Java Applet
import java.applet.Applet;
import java.awt.Graphics;
public class MyFirstApplet extends Applet
{
public void paint(Graphics g)
{
g.drawString("this is my first java Applet!",15,20);
}}
五,Java和 C++的区别主要有以下几点:
1,Java语言是完全面向对象的语言,它不再支持编写 C++时所用过的过程式的设计方法 。 Java语言中的很多方面都是面向消息和基于对象的,除了简单的数据类型 ( 例整型,字符型,布尔型等 ) 以外,其他的数据类型对于 Java来说都是对象 。
2,Java编译器所生成的可执行代码可以不基于任何具体的硬件平台,而是基于一种抽象的机器 —— Java虚拟机 。 而 C或者 C++要的源程序要在不同的平台上运行,必须重新进行编译 。
3,Java不支持指针,而 C++支持; Java提供数组下标越界检查,而
C++没有提供; Java提供自动内存管理机制,而 C++中需要通过运算符 new和 delete来分配和回收内存,因此 Java程序比 C++程序更稳定和安全 。
4 C/C++采用的是单弦程的体系结构,并未提供对线程的语言级支持,而 Java语言则提供了完全意义上的多线程支持 。
5,对于 C++应用程序,类库一旦升级,则必须对应用程序重新进行编译,否则就无法利用升级后类库的新增功能,而 Java语言在其支持的类库升级后,只需要直接覆盖已有的类库,不需要重新编译相应的应用程序 。
JAVA初学常见问题
1,Application和 Applet各自指什么?在使用中有区别吗?
Application和 Applet是利用 JAVA语言生成的可运行代码中最常用的两种,两者 都必须在 JAVA虚拟机上运行。简单来讲,Application更象我们平常用 VB,VC等编写的桌面程序,多以控制台( CONSOLE)
方式运行,当然也很容易实现窗口应用。而 Applet可以嵌入 Web页面中,在支持 JAVA虚拟机的浏览器上运行。在使用时应该区别 应用。
2、编写了一个简单的 Application,也通过了编译,得到了一个
CLASS文件,可是使用 JDK的 JAVA命令运行它时,却报告 CLASS找不到的错误。
这是初学 JAVA时常遇到的问题,其实很简单,看看在程序中定义的主类 名和你对程序的命名( *.JAVA)是不是相同?如果两个名称不相同,就会出现这个错误。
3、想学习 JAVA语言,可是面对很多 JAVA的开发工具,不知道用什么好?
目前出现了很多 JAVA开发工具,各自有自己的特色。对于初学者,
建议使用 SUN公司 的 JDK开始学习,注意利用 JDK的文档资料,这对打好 JAVA的基本功很有帮助。将来正式使 用 JAVA开发项目时,
可以选择一些工程化的可视化工具,如 Microsoft的 VJ++,等。实际上,经常是在开发中综合利用 JDK和其他可视化工具。
4、经常会看见还有一个 JAVAScript这样的东西,它和 JAVA有区别吗?
对比 JAVA来讲,JAVAScript并不能说是一套完整的语言,它定义了一套方法,事件处理等,主要用于 Web页面开发中增加页面效果,
进行数据有效性检查等。在开发 Microsoft ASP时也可以作为一种编程脚本。它有一个基本对等的东西就是 VBScript,