java 语言程序设计
DESCRIPTION
Java 语言程序设计. 第一章 Java 语言概述. 本章主要内容:. 1.1 Java 的起源 1.2 Java 语言的特点 (重点) 1.3 Java 的运行机制 (难点) 1.4 程序设计算法及描述 1.5 Java 程序的开发过程. 推荐参考书. Thinking in Java,Bruce Eckel 中文译名:Java编程思想 网上很容易搜到电子书,中英文都有。 The Java TM Tutorial,SUN SUN公司自己维护的Java入门,不过好像没有中文版。 - PowerPoint PPT PresentationTRANSCRIPT
Java 语言程序设计
第一章 Java 语言概述
本章主要内容: 1.1 Java 的起源 1.2 Java 语言的特点(重点) 1.3 Java 的运行机制(难点) 1.4 程序设计算法及描述 1.5 Java 程序的开发过程
推荐参考书 Thinking in Java , Bruce Eckel
中文译名: Java 编程思想网上很容易搜到电子书,中英文都有。
The JavaTM Tutorial , SUN
SUN 公司自己维护的 Java 入门,不过好像没有中文版。
Introduction To Java Programming (core/comprehensive version) , Y. Daniel Liang
中文译名: Java 程序设计导论
推荐网络资源 http://java.sun.com/
SUN 公司 Java 语言官方支持站点。
1.1Java 的起源 从 Oak 到 Java ,无心插柳的典范 1995 年,美国 Sun Microsystems 公司正式向
IT 业界推出了 Java 语言,同年 Java 入选 PC Magazine 当年十大优秀科技产品
Java ? What is Java ?因为它活泼,有生气,快速,交互……这个名字不是一个缩写,但它是一个暗示,许多程序员都喜欢喝很多这种热的,芬芳的东西。
1.2Java 语言的特点 创建一种面向对象的程序设计语言,而不是面向过程
的语言; 提供一个解释执行的程序运行环境,使程序代码独立
于平台; 吸收 C 和 C ++的优点,使程序员容易掌握; 去掉 C 和 C ++中影响程序健壮性的部分,使程序
更安全,例如指针、内存申请和释放; 实现多线程,使得程序能够同时执行多个任务 提供动态下载程序代码的机制; 提供代码校验机制以保证安全性;
1.3Java 语言的运行机制 Java 只能被编译成字节码文件 (.class) ,然后由 J
ava 虚拟机负责解释执行。换句话说, Java 不能直接生成可执行文件(例如 exe )。• Java 不直接生成 exe 的原因,在于不同平台的 exe 是不兼容的。为了移植性,只好牺牲一下执行速度了( exe 执行方式比解释执行方式快 ) 。• 显然,不同的平台,对应的 JVM 是不同的。
图 1.1 Java 程序与虚拟机
Java 虚拟机是 Java 语言的基础,它是 Java技术的重要组成部分。 Java 虚拟机是一个抽象的计算机,它具有一个指令集并使用不同的存储区域。它负责执行指令,还要管理数据、内存和寄存器。 Java 解释器负责将字节代码翻译成特定机器的机器代码。
Java 技术由 Java 源程序、 Java 字节码文件、Java 虚拟机和 Java 类库 (Java API) 等四个方面组成。 Java 又可分为编译环境和运行期环境。
图 1.2 Java技术的组成
在 Java 编译环境,编写好一个 Java 源程序( .Java ),经 Java 编译器编译成字节码文件( .class )后,保存在磁盘。
在 Java 运行期环境,首先通过类装载器把编译好的字节码文件 *.class 及源程序中所引用了的类库Java API 的字节码文件一并装载到内存方法区。
无用内存自动回收机制
在 C ++语言中是由程序员进行内存回收的,程序员需要在编写程序的时候把不再使用的对象内存释放掉。
在 Java 运行环境中,始终存在着一个系统级的线程,专门跟踪内存的使用情况,定期检测出不再使用的内存,并进行自动回收,避免了内存的泄露,也减轻了程序员的工作量。
1.4 程序设计算法及描述 一般说来,利用高级语言编程、解决具体问题
时,要经过若干步骤,主要有:分析具体问题、确定算法、编程、编辑、编译和运行。
什么是算法呢,简单地说,程序设计算法就是用计算机解决问题的方法和步骤。
描述算法的方法有很多,主要有:自然语言、流程图、盒图、伪代码、程序语言等。
流程图的基本符号如图 1.3所示。
图 1.3 流程图的基本符号
用流程图表示的三种基本结构如图 1.4 所示
图 1.4 三种基本控制结构
认识几个名字 application program interface (API)
应用程序接口。用于 Java 开发的一大堆预定义的类和接口,由sun 公司发布,不同版本的 Java , API略有不同
Java Development Toolkit (JDK)Java 开发工具包,目前最新版本是 6 (也称为 1.6 版);此外每一次的小升级,都会有一个子版本号出来。比如 jdk-6u14-windows-i586.exe 的 JDK ,主版本号是 6 , u14表示 update 14 ,即第 14次的小升级版
integrated development environment (IDE)集成开发环境,用于开发 Java 程序的著名 IDE 有 NetBeans 、 Eclipse等等
JDK 的一家 J2EE : Java2 Enterprise Edition J2SE : Java2 Standard Edition J2ME : Java2 Micro Edition
1.5 Java 程序的开发过程 1.5.1 JDK 的下载与安装 1. 下载 JDK ,下载地址: http://java.sun.com/ 2. 安装 JDK (没啥技术含量,一直 next就可以了 ) 3. 设置三个环境变量(在我的电脑点右键→属性→高级→环境变量,最好设置在系统变量中)1. 变量名: JAVA_HOME (一般不存在,要自己添加)变量值: JDK 的实际安装目录,如 C:\jdk1.6.0_02
2. 变量名: path (一般已存在,请修改原值)变量值:在原值的最前面加%JAVA_HOME%\bin;
3. 变量名: classpath (一般已存在,请修改原值)变量值:在原值的最前面加 .;%JAVA_HOME%\lib;
友情提醒:这是个英文句号,表示当前目录
Java 的开发工具 身出名门的 IDE
正派 netBeans (推荐指数:★★★★★) JBuilder (推荐指数:★★★) VisualAge (推荐指数:★★)
旁门 Visual J++ (推荐指数:☆)
开源的 IDE ( http://www.eclipse.org/ ) Eclipse (推荐指数:★★★★★)
命令行开发方式 UltraEdit/EditPlus + JDK
(推荐指数:★★★★)
Java 的注释/* 第一种格式注释,块注释*/public class HelloJava { public static void main(String args[ ]) { System.out.println("Hello Java!"); } // 第二种格式注释,行注释}/** 第三种格式注释,块注释,用于自动生成程序的帮
助文档*/
1.5.2 一个简单的 Java 程序 下面程序是在屏幕上输出一行文字。
小结: 1. 一个 Java 程序至少有一个类 class 2. 一个类可以拥有一个 main函数,这个 main函数是程序
运行的入口
Java 开发步骤( 3 步)1. 编辑源文件 (.java)
2. 编译成字节码文件 (.class)
3. 启动虚拟机运行 .class 文件
一个例题 用 Java 很容易在对话框上显示文字:
import javax.swing.JOptionPane;
public class Welcome { public static void main(String[] args) { JOptionPane.showMessageDialog(null, "Welcome to Java!"); } }
运行一下上面那个程序1. 打开记事本,贴上那些代码,然后,千万千万,要把源文件命名为: Welcome.java
2. 进入 DOS ,爬到 Welcome所在目录,然后编译它( javac表示 java compile ):javac Welcome.java
3. 然后运行它:java Welcome
关于 Java 的源文件命名规则 Java 源文件不能随便取名,它一定要取这个文件中 p
ublic class 的那个 class 名,包括大小写也必须是一样的!例如上面的例子,源文件名一定要叫Welcome.java 。
所以每一个 Java 源文件至少有一个 class ,可以有很多个 class ,但是只能有一个 public class 。
为什么有这么奇怪的规定?因为每一个 class 都可以有自己的 main函数,而 main函数就是程序的入口,因此 JVM 只会进入 public class所拥有的那个 main函数开始运行。