Java 语言程序设计
清华大学
郑
莉
第一章 Java 语言基础知识 第二章 类与对象的基本概念 第三章 类的方法 第四章 类的重用 第五章 接口与多态 第六章 输入/输出流和文件 第七章 对象群体的组织 第八章 线程 第九章 图形用户界面 第十章 JDBC与数据库访问 第十一章 Servlet程序设计 第十二章 JSP程序设计
Java 语言程序设计
第一章 Java 语言基础知识
清华大学 郑 莉
JAVA语言程序设计
清华大学 郑莉
目录
1.1 Java语言与面向对象的程序设计 1.2 Java程序概述 1.3 基本数据类型与表达式 1.4 数组的概念 1.5 数组的创建和引用 1.6 本章小结
4
JAVA语言程序设计
清华大学 郑莉
1.1 Java语言与面向对象的程序设计
Java语言是一个面向对象的程序设计 语言。 ? 除了面向对象的特点以外,Java语言 还在安全性、平台无关性、支持多线 程、内存管理等许多方面具有卓越的 优点。
?
5
JAVA语言程序设计
清华大学 郑莉
1.1.1 面向对象的程序设计思想
?
Java
语 言 与 面 向 对 象 的 程 序 设 计
计算机程序设计
– 对
问题进行抽象 – 用
计算机语言表述,利用机器求解
6
JAVA语言程序设计
清华大学 郑莉
1.1.1 面向对象的程序设计思想(续)
?
Java
语 言 与 面 向 对 象 的 程 序 设 计
程序设计语言发展的历程
– 机器语言 – 汇编语言 – 高级语言 – 面向对象的语言
7
JAVA语言程序设计
清华大学 郑莉
1.1.1 面向对象的程序设计思想(续)
?
Java
语 言 与 面 向 对 象 的 程 序 设 计
面向对象的思想
– 将客观事物看作具有状态和行为的对象, 通过抽象找出同一类对象的共同状态和 行为,构成类。
8
JAVA语言程序设计
清华大学 郑莉
1.1.1 面向对象的程序
设计思想(续)
?
Java
语 言 与 面 向 对 象 的 程 序 设 计
例:
– 构建一个汽车类,需要提取所有汽车对象的共 有的状态和行为。将状态用变量表示,行为用 方法表示。
class Car { int color_number; int door_number; int speed; …… void brake() { … } void speedUp() {…}; void slowDown() { … }; …… }
9
JAVA语言程序设计
清华大学 郑莉
1.1.1 面向对象的程序设计思想(续)
?
Java
语 言 与 面 向 对 象 的 程 序 设 计
面向对象技术给软件发展带来的益处
– 可重用性 – 可靠性
?
面向对象语言的基本特征
– 抽象和封装 – 继承性 – 多态性
10
JAVA语言程序设计
清华大学 郑莉
1.1.2 Java语言的特点
? ?
Java
语 言 与 面 向 对 象 的 程 序 设 计
面向对象 安全性
– Java不支持指针 – Java的内部安全措施
?
平台无关性
– 编译后的字节码对应于Java虚拟机,因此可在 不同平台上运行
?
多线程
– Java是第一个在语言级提供内
至多线程支持的 高级语言
?
内存管理
– Java对内存自动进行管理并进行垃圾回收
11
JAVA语言程序设计
清华大学 郑莉
1.1.2 Java语言的特点(续)
?
Java
语 言 与 面 向 对 象 的 程 序 设 计
Java 语言的优点
– 易于
学习 – 代码效率高 – 代码质量高 – 开发程序快 – 体系结构中立,纯Java程序不依赖于平台 – 一处编写,各处运行 –
软件易于发布
12
JAVA语言程序设计
清华大学 郑莉
1.1.2 Java语言的特点(续)
?
Java
语 言 与 面 向 对 象 的 程 序 设 计
Java与C++的区别
– Java中没有#include 和#define 等预处理功能, 用import语来句包含其它类和包; – Java中没有structure,union及typedef; – Java中没有不属于类成员的函数,没有指针和 多重继承,Java只支持单重继承; – Java中禁用goto,但goto还是保留的关键字; – Java中没有操作符重载; – Java中没有全局变量,可以在类中定义公用、 静态的数据成员实现相同功能; …...
13
JAVA语言程序设计
清华大学 郑莉
1.1.3 Java类库
组成Java
程序的最小单位是类,类封 装了数据与处理数据的方法。 ? 对于大多数
常用的功能,有大量已经 编译好、经过测试的类,这些类的集 合就是Java类库。 ? Java类库主要是随编译器一起提供, 也有些类库是由独立软件开发商提供 的。
?
14
Java
语 言 与 面 向 对 象 的 程 序 设 计
JAVA语言程序设计
清华大学 郑莉