新Java教程1~5.doc

上传人:yyf 文档编号:5038037 上传时间:2020-01-29 格式:DOC 页数:46 大小:536.50KB
返回 下载 相关 举报
新Java教程1~5.doc_第1页
第1页 / 共46页
新Java教程1~5.doc_第2页
第2页 / 共46页
新Java教程1~5.doc_第3页
第3页 / 共46页
新Java教程1~5.doc_第4页
第4页 / 共46页
新Java教程1~5.doc_第5页
第5页 / 共46页
点击查看更多>>
资源描述

《新Java教程1~5.doc》由会员分享,可在线阅读,更多相关《新Java教程1~5.doc(46页珍藏版)》请在三一文库上搜索。

1、第1章 Java语言概述与面向对象思想11.1 Java语言的发展11.1.1 Java语言的产生11.1.2 Java语言的发展11.2 Java语言的特点21.3 面向对象与面向过程的差异31.3.1 面向过程思想回顾41.3.2 面向对象思想介绍41.4 面向对象程序设计中的主要概念和特征41.4.1 主要概念51.4.2 主要特征5*1.5 Java与C+的差异51.6本章小结5习题5第2章 Java语言开发环境62.1 JDK62.1.1 JDK的简介62.1.2 JDK的构成62.1.3 JDK的使用62.2 IDE92.2.1 IDE简介92.2.2 JBuilder92.2.3

2、 Eclipse92.2.4 相关资源92.3 Project管理92.3.1 Project的含义92.3.2 可行的Project组织模式92.3.3 主要开发工具的Project目录102.4 本章小结10习题10第3章 Java语言基础113.1 标识符和关键字113.1.1 分号、块和空白113.1.2 标识符113.1.3 关键字113.2 常数、常量、变量与基本数据类型123.2.1 数据类型体系以及基本概念123.2.2 整型133.2.3 浮点型143.2.4 逻辑型143.2.5 字符型143.3 运算符与表达式143.3.1 算术运算符153.3.2 关系运算符153.3

3、.3 逻辑运算符153.3.4 赋值运算符153.3.5 位运算符153.3.6 特殊运算符163.3.7 运算符的优先级163.4 基本数据类型转换163.5 流程控制173.5.1分支结构173.5.2循环结构173.6本章小结19习题19第4章 数组和字符串204.1数组204.1.1 一维数组204.1.2 多维数组214.1.3 数组属性与方法224.2 字符串224.4.1 字符串类224.4.2 字符串类的常用方法234.4.3 字符串运算与转换234.3 StringBuffer234.4本章小结24习题24第5章 Java面向对象程序设计255.1 类与对象255.1.1 类

4、的定义255.1.2 方法265.1.3 构造方法与对象创建265.1.4 类的封装275.2 继承285.2.1 继承的概念285.2.2 子类的定义语法285.2.3 子类对象构造过程295.2.4 访问控制和特殊的对象访问引用符号295.2.5 变量隐藏和方法覆盖305.2.6 多态305.3 特殊修饰控制符305.3.1 static305.3.2 final315.3.3 abstract315.4 对象的生命周期315.5 Object类325.6抽象类和接口325.6.1抽象类325.6.2 接口325.7 内部类335.7.1 内部类的作用335.7.2 内部类的定义和使用33

5、5.7.3 匿名内部类335.8 类的编组包335.8.1 包的含义335.8.2 import语句335.8.3 classpath环境变量345.9本章小结34习题类的设计35习题类的使用练习36习题综合练习36第六章 实用类与类的设计406.1串分解类406.2正则式406.3.1 正则式的语法406.3.2 正则式的使用416.3集合框架416.3.1 概述416.3.2 列表416.3.3 散列表416.3.4 Map416.4常用类416.4.1 Date类416.4.2 Math类416.4.3 Calender类416.5 类的设计416.5.1 类的分类416.5.2 类的设

6、计原则416.5.3 类图416.5.4 单类设计416.5.5 多类设计416.6本章小结41习题分析设计问题41习题重构练习41第7章 Java的异常处理427.1 异常的概念427.2 异常处理语法427.2.1 Java的异常处理机制427.2.2 异常的产生与抛出437.2.1 异常的捕获437.3 自定义异常类447.4本章小结44习题44第8 章 I/O流458.1流的概述458.2 File类458.3 字节流458.3.1 InputStream458.3.2 OutptSream458.4 字符流458.4.1 Reader458.4.2 Writer458.5 文件流45

7、8.5.1 FileInputSteam458.5.2 FileOutptSream458.6 RandomAccessFile458.7 其他数据流(根据情况添加内容)458.7.1 DataInputSteam458.7.2 DataOutptSream45*8.8字符集处理458.8.1 字符集概述458.8.2 Java中字符集的处理方法458.9本章小结45习题45第9章 多线程459.1 多线程机制459.1.1 基本概念459.1.2 线程的状态459.2 线程类和线程接口(包含简单实例)459.2.1 线程基类459.2.2 线程接口45*9.2.3 线程组459.3 线程的同

8、步与通信459.3.1 线程同步469.3.2 线程通信469.4 线程设计(实际问题)469.4.1 基本需求469.4.2 设计方案469.5本章小结46习题46第10章 图形用户界面4610.1 AWT和SWING组件介绍4610.1.1 AWT组件4610.1.2 SWING组件4610.2 框架4610.2.1窗口4610.2.2 布局管理器4610.2.3面板4610.3 Java事件处理机制4610.3.1 Java事件基本概念4610.3.2 Java事件处理机制4610.3.3 适配器类4610.4 其他常用组件4610.4.1 标签4610.4.2 按钮4610.4.3选择

9、框(单选和复选)4610.4.4文本框4610.4.5 列表框4610.4.6对话框4610.4.7 菜单4610.5本章小结46习题46第11章 网络编程4611.1 网络编程基础4711.2 URL编程4711.2.1 URL类4711.2.1 URLConnection类4711.3 Socket编程4711.3.1 Socket编程模式4711.3.2 Socket和ServerSocket类47*11.4 UDP编程4711.4.1 DatagramPacket类4711.4.2 DatagramSocket类4711.5本章小结47习题47第12章 数据库编程4712.1 JDBC

10、技术简介4712.1.1 JDBC概述4712.1.2 JDBC编程接口4712.2 基本JDBC编程4712.2.1 连接4712.2.2查询4712.2.3 更新4712.2.4 事务4712.3 本章小结47习题47第13章 编程实例4713.1 基本需求描述4713.2 问题领域的架构抽象4713.3 计算机化的架构设计4713.4本章小结47习题47参考文献4840第1章 Java语言概述与面向对象思想1.1 Java语言的发展1.1.1 Java语言的产生上世纪90年代初期,Sun公司在研究一种适用于未来的智能设备的编程语言,该语言要具有一些新的特性,以避免C+的一些不足。该语言起

11、初命名为Oak,来源于语言作者Gosling办公室窗外的一棵橡树(Oak)。后来在注册时候遇到了冲突,于是就从手中的热咖啡联想到了印度尼西亚一个盛产咖啡的岛屿,中文名叫爪哇,Java语言得名于此。随着Internet的迅速发展,Web应用日益广泛,Java语言也得到了迅速发展。1994年,Gosling用Java开发了一个实时性较高、可靠、安全、有交互功能的新型Web浏览器,它不依赖于任何硬件平台和软件平台。这种浏览器名称为HotJava,并于1995年同Java语言一起,正式在业界对外发表,引起了巨大的轰动,Java的地位随之而得到肯定。此后的发展非常迅速。Java编程语言的句法与C+的句法

12、相似,语义则与Small Talk TM的语义相似。Java编程语言可被用来创建任何常规编程语言所能创建的应用程序。设计Java编程语言的主要目标是:l 提供一种易于编程的语言,从而消除其它语言在诸如指针运算和存储器管理方面影响健壮性的缺陷。l 利用面向对象的概念使程序真正地成为完全面向对象的程序。l 为使代码尽可能清晰合理、简明流畅提供了一种方法。l 为获得如下两点益处提供一种解释环境:提高开发速度消除编译链接装载测试周期;代码可移植性使操作系统能为运行环境做系统级调用。l 为运行不止一个活动线程的程序提供了一种方式。l 通过允许下载代码模块,从而当程序运行时也能动态支持程序改变。l 为那些

13、保证安全性而装载的代码模块提供了一种检查方法。精心开发的Java核心技术为上述目标的实现提供了保证,其中包括如下几个主要技术:l Java虚拟机l 自动垃圾收集l 代码安全性1.1.2 Java语言的发展Java语言的发展目标并不仅仅是一种编程语言,同时还要构建一种开发环境、一种应用环境、一种部署环境。作为Java语言的最基本支持,Sun公司在1996年发布了Java开发工具包JDK 1.0(JDK是Java Develop Kit的简称),其中包括了进行Java开发所需要的各种实用程序(编译、执行、文档生成器等等)、基本类库(相当于C语言的函数库以及C+的类库)、程序实例等等。1998年,S

14、un公司发布了更新的JDK 1.2,由于在技术思想方面与以前有很多改进,所以此后的Java技术一般称之为Java 2。随后,针对不同的领域特征,Java技术分为三种不同的平台(最新的称谓又去掉了意义模糊的2,如JavaSE):l J2SE标准Java平台J2SE是Java语言的标准版,指的就是JDK(1.2及其以后版本),包含Java基础类库和语法。它用于开发具有丰富的GUI(图形用户界面)、复杂逻辑和高性能的桌面应用程序。l J2EE企业级Java平台J2EE建立在J2SE之上,用于开发和实施企业级应用程序。它是一个标准的多层体系结构,可以将企业级应用程序划分为客户层、表示层、业务层和数据层

15、,主要用于开发和部署分布式、基于组件、安全可靠、可伸缩和易于管理的企业级应用程序。l J2ME嵌入式Java技术平台J2ME也是建立在J2SE之上,主要用于开发具有有限的连接、内存和用户界面能力的设备应用程序。例如移动电话(手机)、PDA(电子商务)、能够接入电缆服务的机顶盒或者各种终端和其他消费电子产品。任何语言建立的应用程序的类型或多或少都与应用程序的运行环境有关,而Java语言一般可以建立如下的两种程序:l ApplicationsApplications是一种独立的程序,它是一种典型的通用程序,可运行于任何具备Java运行环境的设备中。l AppletsApplets是一种贮存于WWW

16、服务器上的用Java编程语言编写的程序,它通常由浏览器下载到客户系统中,并通过浏览器运行。Applets通常较小,以减少下载时间,它由超文本标识语言(HTML)的Web页来调用。Java运行环境具有一些特殊性,或者有很多特殊的人为建立的运行环境,所以Java编程中经常建立各种组件,它们可以在特定环境中运行,如Servlet、JavaBean、JSP等。在Java技术体系中,有很多免费或非免费的第三方Java组件,他们往往提供了某一方面的解决方案,可以应用在很多项目的开发过程中。学习Java语言需要逐渐了解Java技术体系,从局部细节开始学习,从整体中进行认识并选择方向,从应用中进行巩固提高。1

17、.2 Java语言的特点Java语言适用于Internet环境,是一种被广泛使用的网络编程语言,它具有如下的一些特点:l 简单Java语言的语法规则和C+类似,但Java语言取消了指针和多重继承,统一使用引用来指示对象(C+中有两种形式,实际上是两种产生对象的途径,而Java中只有一种),通过自动垃圾收集免去了程序设计人员对于内存块的释放工作。l 面向对象(近于完全)Java语言为了提高效率,定义了几个基本的数据类型以非类的方式实现,余下的所有数据类型都以类的形式进行封装,程序系统的构成单位也是类。因而几乎可以认为是完全面向对象。l 平台无关性(可移植、跨平台)Java虚拟机(JVM)是在各种

18、体系结构真实机器中用软件模拟实现的一种想象机器,必要时候可以用硬件实现。当然,这些虚拟机内部实现各异,但其功能是一致的执行统一的Java虚拟机指令。Java编译器将Java 应用程序的源代码文件(.java)翻译成Java字节码文件(.class),它是由Java虚拟机指令构成的。由于是虚拟机器,因而Java虚拟机执行Java程序的过程一般称为解释。依赖于虚拟机技术,Java语言具有与机器体系结构无关的特性,即Java程序一旦编写好之后,不需进行修改就可以移植到任何一台体系结构不同的机器上。从操作系统的角度看,执行一次Java程序的过程就是执行一次Java 虚拟机进程的过程。l 面向网络编程J

19、ava语言产生之初就面向网络,在JDK中包括了支持TCP/IP、HTTP和FTP等协议的类库。l 多线程支持多线程是程序同时执行多个任务的一种功能。多线程机制能够使应用程序并行执行多项任务,其同步机制保证了各线程对共享数据的正确操作。l 良好的代码安全性运行时(Runtime)一词强调以动态的角度看程序,研究程序运行时候的动态变化,也用运行时环境一词表达类似的含义。Java技术的很多工作是在运行时完成的,如加强代码安全性的校验操作。一般地,Java技术的运行环境执行如下三大任务:l 加载代码由类加载器执行类加载器为程序的执行加载所需要的全部类(尽可能而未必同时)。l 校验代码由字节码校验器执行

20、Java代码在实际运行之前要经过几次测试。字节码校验器对程序代码进行四遍校验,这可以保证代码符合JVM规范并且不破坏系统的完整性。如检查伪造指针、违反对象访问权限或试图改变对象类型的非法代码。l 执行代码由运行时的解释器执行l 自动垃圾收集许多编程语言都允许在程序运行时动态分配内存块,分配内存块的过程由于语言句法不同而有所变化,但总是要返回指向存储区起始位置的指针。在C,C+ 及其它一些语言中,程序员负责取消分配内存块。有时这是一件很困难的事情。因为程序员并不总是事先知道内存块应在何时被释放。当在系统中没有能够被分配的内存块时,可导致程序瘫痪,这种程序被称作具有内存漏洞。当分配内存块不再需要时

21、,程序或运行环境应取消分配内存块。l 垃圾收集就是将不再需要的已分配内存块回收。l 在其它一般的语言中,取消分配是程序员的责任。l Java编程语言提供了一种系统级线程以跟踪存储区分配,来完成垃圾收集:n 可检查和释放不再需要的存储块n 可自动完成上述工作n 可在JVM实现周期中,产生意想不到的变化l 良好的代码健壮性Java能够检查程序在编译和运行时的错误。类型检查能帮助用户检查出许多在开发早期出现的错误。同时很多集成开发工具(IDE)的出现使编译和运行Java程序更加容易,并且很多集成开发工具(如Eclipse)都是免费的。1.3 面向对象与面向过程的差异一种程序设计语言的产生,不仅是程序

22、设计技术的改进,也包含了表达和认知思想的进步。以C语言为代表的部分早期语言,被称为面向过程的语言,不仅因为其程序设计的表达形式是以过程为基本元素,本质上更在于此时对计算机化的系统的理解的主导思想还是控制流或者数据流的,构成系统的要素是模块处理逻辑。面向对象语言的产生,是因为对于系统的理解或抽象到了更为高级的层次。此时的认知思想不仅更接近于现实世界,其抽象程度也很高。因而,既有易懂的一方面,也有难懂的另一方面,就看理解的境界了。1.3.1 面向过程思想回顾面向过程思想和程序设计语言的体现,可以简单总结为以下几条:对系统的认识采用结构化分析的过程自顶向下,逐步求精地进行功能分解;每个功能就是处理数

23、据的一个模块,因而IPO描述充分刻画了模块的内外特征;每个模块都是控制流的,因而有典型的三种程序结构顺序、分支、循环;模块间的关系通过调用维系,因而模块成为了函数,这也是面向过程方式下最主要的代码重用方式;尽管函数调用有参数和返回值,但数据总是和函数分开的,不仅有了著名的断言程序=算法+数据,也使得绝对平等产生了无序的麻烦所有的函数和数据的关联关系没有限制;如果要使用数据流,那么只能是在数据产生之后的适当时机调用函数。这一时期的主要缺点是:对系统的理解比较难,系统地开发效率低,代码的可重用性差。1.3.2 面向对象思想介绍面向对象思想,对现实世界采用直观的理解,计算机化时候采用深度的抽象,简单

24、地可以总结如下:系统是由事物构成的,事物之间是有联系的,复杂的事物也是系统;系统与系统、系统与事物、事物与事物之间是有明确界限(边界)的;系统或事物的状态刻画可以用属性表示,属性一般是些简单的数据,如果复杂那就是事物了;系统或事物的状态会发生变化,称为行为,产生变化是有原因的(内部的或外部的),变化的过程可能是复杂的;不同的事物之间会具有共同的属性和行为,共同的极端情形就是完全包含。基于以上的认识,一个运行时(动态)的具体系统或事物,是由几个更小的具体事物构成(极端的事物就是一个简单的属性数据),它们是不断发生变化的。如果对事物这一概念进行了有效的抽象,那么问题就迎刃而解。首先,将任何一个具体

25、的事物称为对象(Object),它的极端情形就是过去的变量;事物是分类的,每一类事物都具有统一的属性和行为,即类型抽象数据类型,简称为类(Class);行为既然是过程,那么就抽象成函数,命名为方法,以示区别。例如:描述身高或姓名,各自只是一个简单的数据变量;描述一个学生,可以使用学号、姓名、宿舍、班级等;那更换宿舍算什么呢!那描述宿舍、班级,又要有许多个项目。1.4 面向对象程序设计中的主要概念和特征面向对象程序设计(Object Oriented Programming,OOP)语言中,为了进行更为高度的抽象,会引入一些现实世界中难于找到的概念,但对于一个程序语言来说确实很有价值的。以下暂时

26、介绍的概念基本上都来源于对现实世界的抽象,要从程序设计的角色中去理解它们。面向对象程序设计使系统更易于理解,也使代码具有更好的重用性、可扩展性、易于管理和维护。1.4.1 主要概念1、类类是对一类事物的抽象表示,其角色就相当于数据类型,当然可以算作复杂的数据类型。如学生、宿舍、班级。2、对象对象表示一个具体的事物,其角色就是变量,即一个复杂数据类型xx类的变量。如周瑜、张飞、瑜飞居,飞虎班。3、成员一个事物的构成元素,讨论类的时候就是虚拟的,讨论对象的时候就是具体的。如在类中,一个变量属于成员成员变量,一个对象也属于成员成员对象,一个函数也属于成员成员方法。1.4.2 主要特征OOP语言有三个

27、特征:封装、继承及多态性。1、封装类的构成包括成员变量/对象与成员方法,这样将相关的数据与函数包装在一起,同其他的类相区分,就是封装。显然,避免了面向过程语言的平行缺陷,说明了类和成员之间的所属关系。进一步地,可以限制类的成员在外部的可见性,那么就将封装体现得更完美。2、继承当一种事物甲完全是另一种事物乙的特例,那么,一般地,类甲只是比类乙多出一些成员变量/对象与成员方法,称为类甲继承类乙,类甲称为(类乙的)子类,类乙称为(类甲的)父类。父类也称为基类、超类,子类也称为导出类、派生类。显然编写子类就没有必要重复书写父类中乙有的代码部分,这是OOP中最典型的代码重用。3、多态多态表示一个类的某种

28、行为存在多种实现版本。简单的情况是在一个类中,给出多种不同的实现,复杂的情况是在多个子类中各自给出不同的实现。*1.5 Java与C+的差异1.6本章小结习题1解释Java语言的三种平台。2解释支撑Java语言目标的三种主要技术(自查资料完善)。3关于面向对象与面向过程的不同,从问题理解和问题表示两种角度,按照个人的理解和认识,例示其不同的地方。第2章 Java语言开发环境2.1 JDK2.1.1 JDK的简介可以从Sun公司的官方网站(http:/)上下载Java开发工具包(JDK)。不必要求最新的版本,注意Java SE、Windows平台等信息。如:jdk-1_5_0_17-window

29、s-i586-p.exe2.1.2 JDK的构成2.1.3 JDK的使用1、安装过程简单,基本使用默认设置,注意安装目录(最好简单化)。2、设置环境变量环境变量应用程序运行时候需要的一些相对固定值的参数。例如,Java开发工具等软件需要使用JDK,那么必须知道JDK在系统中的什么位置,于是大家约定在操作系统中定义一个名称为JAVA_HOME的环境变量,其内容表示JDK的安装目录。在win2000/2003中的方法:操作【我的电脑】【属性】【高级】【环境变量】后,在【系统变量】区域进行新建、编辑等操作即可。JAVA_HOME必设的环境变量,表示JDK安装目录(如C:Javajdk1.5.0_17

30、)。(第一次是新建)Path名称程序查找路径。如果需要在命令行方式下使用Java的话,修改其内容,在前面增加JDK命令目录,不同项目中间使用分号分隔。(修改,增加%JAVA_HOME%bin)CLASSPATH类库设置。(新建,.; C:Javajdk1.5.0_17 libtools.jar)。3、使用l 创建程序可以使用最简单的文本编辑器,编写如下的程序,保存的名字必须是Hello.java。package chap01; /当前类所属包名称public class Hello /当前类名 public static void main(String args) /应用程序的主函数 Sys

31、tem.out.println(Hello, 我的第一个Java应用程序!); /输出函数 l 程序内容解释在以上的程序中,必须了解并逐渐熟悉的关键点:n 声明包名chap01,指明类的位置(所属包)、相当于文件夹名称,用途在于方便类的组织和管理;n 声明类名Hello,与程序文件名相同(指必须的public类);n 类属性public,描述类的可见性,即类和其它类、包的关系;n 主函数main,程序入口(仅Applications类型需要);n 主函数属性public static,公有、静态(特殊的函数);n 主函数的参数String args,命令行参数(如果执行程序时候给了参数,将会由

32、系统封装成字符串数组传递到这里,程序内部可以从此获得并处理);n 输出函数这是Java类库中提供的一个在标准输出设备(显示器、字符输出,对于操作系统来说是可以重定向的设备)显示文本的函数。注意其中出现的类名称System、成员对象名称out、成员方法名称println,书写语法以及参数。从帮助中可以方便地查找到函数的参数语法;n 整个类的框架括号等表达的结构。n 注释格式/表示行注释,本行后面的内容为注释;/*/表示块注释,其中的内容为注释。以上的内容在一个Java应用程序中几乎是必需的。l 典型源文件布局一个Java源文件可包含三个“顶级”要素:n 一个包声明(可选,没有表示顶级包,但有点麻

33、烦);n 任意数量的导入语句import,表示将要使用的外部Java类;n 类和接口声明。该三要素必须以上述顺序出现。即,任何导入语句出现在所有类定义之前;如果使用包声明,则包声明必须出现在类和导入语句之前。如果需要或者说是遵循编程规范,那么在文件开头可以使用如下形式的文档注释:/*文档信息描述*/这种形式的注释可以被专门的文档生成工具所处理(由javadoc命令生成的HTML文件)。l 程序编译如下图中的命令javac Hello.java。注意编译后的文件变化。l 程序运行如下图中的命令java chap01.Hello。l 命令窗口与简单命令解释有多种形式打开如下的命令窗口,注意其中常见

34、的命令的含义以及其成功执行的前提。一条命令一般由 命令动词+空格+参数 构成,并以回车结束。命令动词中如果不包含路径那么将从默认的路径中查找命令程序,命令可能的参数内容以及形式取决于程序本身,如果需要,可以使用诸如 java -? 或 java help 形式获得。d:切换当前分区;cd切换当前某分区下的工作文件夹,需要参数;md创建新的文件夹,需要参数;copy拷贝文件;2.2 IDE2.2.1 IDE简介IDE的含义是Java集成开发环境(Integrated Development Environment,IDE)。有很多IDE可供选择,典型的如JBuilder、Eclipse等。2.2

35、.2 JBuilderJBuilder是使用Java开发的,支持J2EE技术的Java集成开发环境。但JBuilder不是完全免费的。JBuilder的安装程序存放在机器中的C:javaJBX中,两个目录相当于两张光盘,安装时候当出现安装项目列表时候只选第一个即可,安装后的处理按照其中的说明文件进行,解密环节或许需要执行若干次。最好先安装JDK。如果出现解密命令失败,一般是path环境变量设置问题。2.2.3 EclipseEclipse是基于Java的,开放源码的、可扩展的应用开发平台,它为编程人员提供了一流的Java集成开发环境(Integrated Development Environ

36、ment,IDE)。是一个可以用于构建集成Web和应用程序的开发工具平台,其本身并不会提供大量的功能,而是通过插件来实现程序的快速开发功能。Eclipse是一个成熟的可扩展的体系结构。它为创建可扩展的开发环境提供了一个平台。这个平台允许任何人构建与环境或其他工具无缝集成的工具,而工具与Eclipse无缝集成的关键是插件。Eclipse还包括插件开发环境(PDE),PDE主要针对那些希望扩展Eclipse的编程人员而设定的。这也正是Eclipse最具魅力的地方。通过不断的集成各种插件,Eclipse的功能也在不断的扩展,以便支持各种不同的应用。虽然Eclipse是针对Java语言而设计开发的,但

37、是它的用途并不局限于Java语言,通过安装不同的插件Eclipse还可以支持诸如C/C+、PHP、COBOL等编程语言。Eclipse利用Java语言写成,所以Eclipse可以支持跨平台操作,但是需要SWT(Standard Widget Toolkit)的支持,不过这已经不是什么大问题了,因为SWT已经被移植到许多常见的平台上,例如Windows、Linux、Solaris等多个操作系统,甚至可以应用到手机或者PDA程序开发中。2.2.4 相关资源需要关注各家公司的官网、以及对应中文网站。还有如这样的综合性技术网站。2.3 Project管理2.3.1 Project的含义Project即

38、项目或工程,几乎所有的IDE,使用时候必须先建立Project,才可以创建程序、编译程序、运行程序、修改程序、调试程序。如果有一种非常理想和完善的IDE工具,那么它可以管理一个Project的所有文档资源和生命周期。最好是从软件工程的角度去思考和理解Project。2.3.2 可行的Project组织模式学习程序设计语言,首先要学会管理自己的代码资源,使用合理的组织方式。影响实际项目开发中的工程组织方式有多种因素:软件生命周期的不同阶段、项目的功能结构、项目关联人员角色、文档分类等。在本书的学习中,建议每章组织为一个工程,章内所有例子、习题以及自己创建的程序能够分门别类(文件夹=包)进行组织。

39、平时管理好自己的劳动成果,要有代码资源的积累。2.3.3 主要开发工具的Project目录2.4 本章小结习题1. 建立一个总结文档,分章节记录以后学习实践过程中的一些关键的操作过程和技巧、问题的解决方法、总结等。以便以后查阅。2练习JDK的安装、编译并执行Hello或自己编写的应用程序。3改造Hello程序,自定义三个整型变量a、b、c并赋值,然后适当地处理保证a最大、c最小,再按从大到小顺序输出。编程时候主函数的代码中,除了输出函数之外,其它可以按照c语言的语法进行。4. 安装JBuilder,尝试创建工程、建立程序、编译、运行、修改、调试。此过程中,关注其中的少量主菜单(文件、工程、运行

40、)中的主要功能。4. 查阅JBuilder帮助,通过System类最终找到输出函数print系列适当阅读。第3章 Java语言基础3.1 标识符和关键字3.1.1 分号、块和空白在Java编程语言中,语句是由分号(;)终止的代码,一条语句可占多行。一个块(block)或一个复合语句是以上括号和下括号()为边界的语句集合;函数体、类体也是块。块语句可以嵌套。3.1.2 标识符在Java编程语言中,标识符是赋予变量、类或方法的名称。标识符可从一个字母、下划线(_)或美元符号($)开始,随后也可跟数字。标识符是大小写区别对待的并且未规定最大长度。有效标识符如下:identifieruserNameU

41、ser_name_sys_varl$changeJava源程序采用有效的16-bit 双字节字符编码标准(Unicode) ,而不是8-bit ASCII文本。因而,一个字母有着更广泛的定义,而不仅仅是a到z和A到Z。谨慎对待非ASCII字符,因为Unicode可支持看似相同而实际不同的字符。标识符不能是关键字,但是它可包含一个关键字作为它的名字的一部分。例如,thisone是一个有效标识符,但this却不是,因为this是一个Java关键字。3.1.3 关键字表3-1 Java编程语言中的关键字abstractdoimplementsprivatethrowbooleandoubleimpo

42、rtprotectedthrowsbreakelseinstanceofpublictransientbyteextendsintreturntruecasefalseinterfaceshorttrycatchfinallongstaticvoidcharfinallynativesupervolatileclassfloatnewswitchwhilecontinuefornullsynchronizeddefaultifpackagethis关键字对Java技术编译器有特殊的含义,它们可标识数据类型名或程序构造(construct)名。以下是有关关键字的重要注意事项:l true、fal

43、se和null为小写,而不是象在C+语言中那样为大写。严格地讲,它们不是关键字,而是文字。然而,这种区别是理论上的。l 无sizeof运算符;所有类型的长度和表示是固定的,不依赖执行机器环境。l 没有goto和const字。3.2 常数、常量、变量与基本数据类型3.2.1 数据类型体系以及基本概念1、Java基本数据类型体系Java编程语言定义了八个原始数据类型(非类类型)和一种特殊类型(类类型)。原始类型可分为四种:l 逻辑类型 booleanl 字符类型 char l 整数类型 byte、short、int、longl 浮点类型 double、float它们都是非引用类型其变量就是内存单元

44、、内存单元存储的就是数据。示例如下:一个特定长度的内存单元,其中存放一个特定编码格式的数据,高级语言中为了方便使用和描述,赋予它一个特定的符号名称,如x。int x=3;0000 0003Hvoid不再作为类型出现,仅在表示函数没有返回值的时候使用。作为面向对象语言,支持复杂的数据类型抽象抽象数据类型,因而所有不能使用原始数据类型表达的问题都使用抽象数据类型。为了统一抽象机制,Java语言中建立了一个Object类,作为Java语言中所有类的基类,其中定义了一些重要的方法和属性。另外,Java的对象统一使用new操作符在内存堆中动态创建,没有了C+的全局对象或堆栈对象的建立方式,只对应其对象指针方式。C+的对象定义语法如下:Student s; /自动在全局数据区中建立一个对象或函数的栈空间中建立一个对象,程序中赋予特定的符号名字以求方便,程序员不需要考虑空间归还问题。Student* sp = new Student(); /在内存堆中动态创建一个对象,sp指向它,程序员必需在适当时候使用delete sp进行空间归还。一个特定长度的内存单元,其中存放一个特定对象的引用,高级语言中为了方便使用和描述,赋予它一个特定的符号名称,如sp。J

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1