您好,欢迎访问三七文档
当前位置:首页 > 财经/贸易 > 资产评估/会计 > Java基础入门教程(适合所有初学者)
第1章Java语言概述与面向对象思想11.1Java语言的发展11.1.1Java语言的产生11.1.2Java语言的发展11.2Java语言的特点21.3面向对象与面向过程的差异31.3.1面向过程思想回顾41.3.2面向对象思想介绍41.4面向对象程序设计中的主要概念和特征41.4.1主要概念51.4.2主要特征5*1.5Java与C++的差异51.6本章小结5习题5第2章Java语言开发环境62.1JDK62.1.1JDK的简介62.1.2JDK的构成62.1.3JDK的使用62.2IDE82.2.1IDE简介82.2.2JBuilder92.2.3Eclipse92.2.4相关资源92.3Project管理92.3.1Project的含义92.3.2可行的Project组织模式92.3.3主要开发工具的Project目录102.4本章小结10习题10第1章Java语言概述与面向对象思想1.1Java语言的发展1.1.1Java语言的产生以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C++的一些不足。该语言起初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling用Java开发了一个实时性较高、可靠、安全、有交互功能的新型Web浏览器,它不依赖于任何硬件平台和软件平台。这种浏览器名称为HotJava,并于1995年同Java语言一起,正式在业界对外发表,引起了巨大的轰动,Java的地位随之而得到肯定。此后的发展非常迅速。Java编程语言的句法与C++的句法相似,语义则与SmallTalkTM的语义相似。Java编程语言可被用来创建任何常规编程语言所能创建的应用程序。设计Java编程语言的主要目标是:提供一种易于编程的语言,从而消除其它语言在诸如指针运算和存储器管理方面影响健壮性的缺陷。利用面向对象的概念使程序真正地成为完全面向对象的程序。为使代码尽可能清晰合理、简明流畅提供了一种方法。为获得如下两点益处提供一种解释环境:提高开发速度──消除编译─链接—装载—测试周期;代码可移植性──使操作系统能为运行环境做系统级调用。为运行不止一个活动线程的程序提供了一种方式。通过允许下载代码模块,从而当程序运行时也能动态支持程序改变。为那些保证安全性而装载的代码模块提供了一种检查方法。精心开发的Java核心技术为上述目标的实现提供了保证,其中包括如下几个主要技术:Java虚拟机自动垃圾收集代码安全性1.1.2Java语言的发展Java语言的发展目标并不仅仅是一种编程语言,同时还要构建一种开发环境、一种应用环境、一种部署环境。作为Java语言的最基本支持,Sun公司在1996年发布了Java开发工具包JDK1.0(JDK是JavaDevelopKit的简称),其中包括了进行Java开发所需要的各种实用程序(编译、执行、文档生成器等等)、基本类库(相当于C语言的函数库以及C++的类库)、程序实例等等。1998年,Sun公司发布了更新的JDK1.2,由于在技术思想方面与以前有很多改进,所以此后的Java技术一般称之为Java2。随后,针对不同的领域特征,Java技术分为三种不同的平台(最新的称谓又去掉了意义模糊的2,如JavaSE):J2SE——标准Java平台J2SE是Java语言的标准版,指的就是JDK(1.2及其以后版本),包含Java基础类库和语法。它用于开发具有丰富的GUI(图形用户界面)、复杂逻辑和高性能的桌面应用程序。J2EE——企业级Java平台J2EE建立在J2SE之上,用于开发和实施企业级应用程序。它是一个标准的多层体系结构,可以将企业级应用程序划分为客户层、表示层、业务层和数据层,主要用于开发和部署分布式、基于组件、安全可靠、可伸缩和易于管理的企业级应用程序。J2ME——嵌入式Java技术平台J2ME也是建立在J2SE之上,主要用于开发具有有限的连接、内存和用户界面能力的设备应用程序。例如移动电话(手机)、PDA(电子商务)、能够接入电缆服务的机顶盒或者各种终端和其他消费电子产品。任何语言建立的应用程序的类型或多或少都与应用程序的运行环境有关,而Java语言一般可以建立如下的两种程序:ApplicationsApplications是一种独立的程序,它是一种典型的通用程序,可运行于任何具备Java运行环境的设备中。编程语言编写的程序,它通常由浏览器下载到客户系统中,并通过浏览器运行。Applets通常较小,以减少下载时间,它由超文本标识语言(HTML)的Web页来调用。Java运行环境具有一些特殊性,或者有很多特殊的人为建立的运行环境,所以Java编程中经常建立各种组件,它们可以在特定环境中运行,如Servlet、JavaBean、JSP等。在Java技术体系中,有很多免费或非免费的第三方Java组件,他们往往提供了某一方面的解决方案,可以应用在很多项目的开发过程中。学习Java语言需要逐渐了解Java技术体系,从局部细节开始学习,从整体中进行认识并选择方向,从应用中进行巩固提高。1.2Java语言的特点Java语言适用于Internet环境,是一种被广泛使用的网络编程语言,它具有如下的一些特点:简单Java语言的语法规则和C++类似,但Java语言取消了指针和多重继承,统一使用引用来指示对象(C++中有两种形式,实际上是两种产生对象的途径,而Java中只有一种),通过自动垃圾收集免去了程序设计人员对于内存块的释放工作。面向对象(近于完全)Java语言为了提高效率,定义了几个基本的数据类型以非类的方式实现,余下的所有数据类型都以类的形式进行封装,程序系统的构成单位也是类。因而几乎可以认为是完全面向对象。平台无关性(可移植、跨平台)Java虚拟机(JVM)是在各种体系结构真实机器中用软件模拟实现的一种想象机器,必要时候可以用硬件实现。当然,这些虚拟机内部实现各异,但其功能是一致的——执行统一的Java虚拟机指令。Java编译器将Java应用程序的源代码文件(.java)翻译成Java字节码文件(.class),它是由Java虚拟机指令构成的。由于是虚拟机器,因而Java虚拟机执行Java程序的过程一般称为解释。依赖于虚拟机技术,Java语言具有与机器体系结构无关的特性,即Java程序一旦编写好之后,不需进行修改就可以移植到任何一台体系结构不同的机器上。从操作系统的角度看,执行一次Java程序的过程就是执行一次Java虚拟机进程的过程。面向网络编程Java语言产生之初就面向网络,在JDK中包括了支持TCP/IP、HTTP和FTP等协议的类库。多线程支持多线程是程序同时执行多个任务的一种功能。多线程机制能够使应用程序并行执行多项任务,其同步机制保证了各线程对共享数据的正确操作。良好的代码安全性运行时(Runtime)一词强调以动态的角度看程序,研究程序运行时候的动态变化,也用运行时环境一词表达类似的含义。Java技术的很多工作是在运行时完成的,如加强代码安全性的校验操作。一般地,Java技术的运行环境执行如下三大任务:加载代码——由类加载器执行类加载器为程序的执行加载所需要的全部类(尽可能而未必同时)。校验代码——由字节码校验器执行Java代码在实际运行之前要经过几次测试。字节码校验器对程序代码进行四遍校验,这可以保证代码符合JVM规范并且不破坏系统的完整性。如--检查伪造指针、违反对象访问权限或试图改变对象类型的非法代码。执行代码——由运行时的解释器执行自动垃圾收集许多编程语言都允许在程序运行时动态分配内存块,分配内存块的过程由于语言句法不同而有所变化,但总是要返回指向存储区起始位置的指针。在C,C++及其它一些语言中,程序员负责取消分配内存块。有时这是一件很困难的事情。因为程序员并不总是事先知道内存块应在何时被释放。当在系统中没有能够被分配的内存块时,可导致程序瘫痪,这种程序被称作具有内存漏洞。当分配内存块不再需要时,程序或运行环境应取消分配内存块。垃圾收集就是将不再需要的已分配内存块回收。在其它一般的语言中,取消分配是程序员的责任。Java编程语言提供了一种系统级线程以跟踪存储区分配,来完成垃圾收集:可检查和释放不再需要的存储块可自动完成上述工作可在JVM实现周期中,产生意想不到的变化良好的代码健壮性Java能够检查程序在编译和运行时的错误。类型检查能帮助用户检查出许多在开发早期出现的错误。同时很多集成开发工具(IDE)的出现使编译和运行Java程序更加容易,并且很多集成开发工具(如Eclipse)都是免费的。1.3面向对象与面向过程的差异一种程序设计语言的产生,不仅是以介绍面向对象编程的基本概念、基本理论为重点,结合Java语言的语法规则、编程特点和设计思想、强调容易发生错误和编程应注意的地方,使学生能对Java技术有一个总体了解,通过本课程学习,使学生掌握Java语言的基础知识,理解和掌握面向对象程序设计的基本思想,熟练地使用Java语言进行程序的编写、编译以及调试工作程序设计技术的改进,也包含了表达和认知思想的进步。以C语言为代表的部分早期语言,被称为面向过程的语言,不仅因为其程序设计的表达形式是以过程为基本元素,本质上更在于此时对计算机化的系统的理解的主导思想还是控制流或者数据流的,构成系统的要素是模块——处理逻辑。面向对象语言的产生,是因为对于系统的理解或抽象到了更为高级的层次。此时的认知思想不仅更接近于现实世界,其抽象程度也很高。因而,既有易懂的一方面,也有难懂的另一方面,就看理解的境界了。1.3.2面向对象思想介绍面向对象思想,对现实世界采用直观的理解,计算机化时候采用深度的抽象,简单地可以总结如下:系统是由事物构成的,事物之间是有联系的,复杂的事物也是系统;系统与系统、系统与事物、事物与事物之间是有明确界限(边界)的;系统或事物的状态刻画可以用属性表示,属性一般是些简单的数据,如果复杂那就是事物了;系统或事物的状态会发生变化,称为行为,产生变化是有原因的(内部的或外部的),变化的过程可能是复杂的;不同的事物之间会具有共同的属性和行为,共同的极端情形就是完全包含。基于以上的认识,一个运行时(动态)的具体系统或事物,是由几个更小的具体事物构成(极端的事物就是一个简单的属性数据),它们是不断发生变化的。如果对事物这一概念进行了有效的抽象,那么问题就迎刃而解。首先,将任何一个具体的事物称为对象(Object),它的极端情形就是过去的变量;事物是分类的,每一类事物都具有统一的属性和行为,即类型——抽象数据类型,简称为类(Class);行为既然是过程,那么就抽象成函数,命名为方法,以示区别。例如:描述身高或姓名,各自只是一个简单的数据变量;描述一个学生,可以使用学号、姓名、宿舍、班级等;那更换宿舍算什么呢!那描述宿舍、班级,又要有许多个项目。1.4面向对象程序设计中的主要概念和特征面向对象程序设计(ObjectOrientedProgramming,OOP)语言中,为了进行更为高度的抽象,会引入一些现实世界中难于找到的概念,但对于一个程序语言来说确实很有价值的。以下暂时介绍的概念基本上都来源于对现实世界的抽象,要从程序设计的角色中去理解它们。面向对象程序设计使系统更易于理解,也使代码具有更好的
本文标题:Java基础入门教程(适合所有初学者)
链接地址:https://www.777doc.com/doc-4358991 .html