240 likes | 475 Views
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入门,不过好像没有中文版。
E N D
Java语言程序设计 第一章Java语言概述
本章主要内容: 1.1 Java 的起源 1.2 Java语言的特点(重点) 1.3 Java的运行机制(难点) 1.4 程序设计算法及描述 1.5 Java程序的开发过程
推荐参考书 • Thinking in Java,Bruce Eckel 中文译名:Java编程思想 网上很容易搜到电子书,中英文都有。 • The JavaTMTutorial,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),然后由Java虚拟机负责解释执行。换句话说,Java不能直接生成可执行文件(例如exe)。 • Java不直接生成exe的原因,在于不同平台的exe是不兼容的。为了移植性,只好牺牲一下执行速度了(exe执行方式比解释执行方式快)。 • 显然,不同的平台,对应的JVM是不同的。 图1.1 Java程序与虚拟机
Java虚拟机是Java语言的基础,它是Java技术的重要组成部分。Java虚拟机是一个抽象的计算机,它具有一个指令集并使用不同的存储区域。它负责执行指令,还要管理数据、内存和寄存器。Java解释器负责将字节代码翻译成特定机器的机器代码。Java虚拟机是Java语言的基础,它是Java技术的重要组成部分。Java虚拟机是一个抽象的计算机,它具有一个指令集并使用不同的存储区域。它负责执行指令,还要管理数据、内存和寄存器。Java解释器负责将字节代码翻译成特定机器的机器代码。 • Java技术由Java源程序、Java字节码文件、Java虚拟机和Java类库(Java API)等四个方面组成。Java又可分为编译环境和运行期环境。
在Java编译环境,编写好一个Java源程序(.Java),经Java编译器编译成字节码文件(.class)后,保存在磁盘。在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. 设置三个环境变量(在我的电脑点右键→属性→高级→环境变量,最好设置在系统变量中) • 变量名:JAVA_HOME(一般不存在,要自己添加) 变量值:JDK的实际安装目录,如C:\jdk1.6.0_02 • 变量名:path(一般已存在,请修改原值) 变量值:在原值的最前面加%JAVA_HOME%\bin; • 变量名: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步) • 编辑源文件(.java) • 编译成字节码文件(.class) • 启动虚拟机运行.class文件
一个例题 • 用Java很容易在对话框上显示文字: import javax.swing.JOptionPane; public class Welcome { public static void main(String[] args) { JOptionPane.showMessageDialog(null, "Welcome to Java!"); } }
运行一下上面那个程序 • 打开记事本,贴上那些代码,然后,千万千万,要把源文件命名为: Welcome.java • 进入DOS,爬到Welcome所在目录,然后编译它(javac表示java compile): javac Welcome.java • 然后运行它: java Welcome
关于Java的源文件命名规则 • Java源文件不能随便取名,它一定要取这个文件中public class的那个class名,包括大小写也必须是一样的!例如上面的例子,源文件名一定要叫Welcome.java。 • 所以每一个Java源文件至少有一个class,可以有很多个class,但是只能有一个public class。 • 为什么有这么奇怪的规定?因为每一个class都可以有自己的main函数,而main函数就是程序的入口,因此JVM只会进入public class所拥有的那个main函数开始运行。