第1章 java简介及环境搭建 第1章 Java简介及开发环境搭建
本章目录 1.1 Java语言简介 1.2 Java语言发展历史 1.3 Java技术体系架构 1.4 Java的工作方式 1.8 常见问题
教学目标 认识Java并了解其发展历史。 掌握安装和配置Java开发环境的方法。 掌握Java中Path及classpath属性的作用。
教学重点 Java是一门程序设计语言,其本身的发展经过了一系列的过程。 本章首先介绍Java的发展历程,让读者对Java有一个基本的认识,了解Java的主要作用,接着详细讲解Java的体系架构、工作方式,让读者明确Java的相关术语。 最后介绍了Java程序编写到运行的过程,包括MyEclipse 8.5开发环境的搭建。
一、Java语言简介 JAVA语言的特点: 简单性 Java语言比C++语言更为简洁,它扬弃了C/C++语言中的运算符重载、多重继承、指针、预处理、标题文件、结构、联合、多维数组、模板等功能。 面向对象 面向对象的原则是把数据和对该数据的操作都封装在一个类中,在程序设计时要考虑多个对象及其相互间的关系。面向对象的好处是实现代码的重复使用。
一、Java语言简介 JAVA语言的特点: 分布式 Java语言是一种面向网络的编程语言,用户若想访问其他对象,可以通过Java语言所提供的类库对TCP/IP协议进行处理,然后用户即可通过URL地址在网络上很方便地实现分布式操作。 健壮性 Java语言的健壮性在于具有较强的异常处理机制,对程序错误检查工作不仅是在编译时进行,在运行时仍会再次进行,Java语言的程序即使是出现了错误,也不会因此而导致系统崩溃。
一、Java语言简介 JAVA语言的特点: 解释性 Java语言之所以具有解释特性,是由于Java语言编写的程序在完成编译后生成的是Java字节码,并非CPU机器码。然后,通过留驻在机器上的Java语言运行环境——Java虚拟机(JVM)将所生成的字节码翻译成具体的CPU机器指令。所以,Java语言具有对程序只需编写一次,在任何平台都可以运行的特点。
一、Java语言简介 JAVA语言的特点: 安全性 平台无关性 由Java语言程序经编译后生成的应用程序不用经过任何的修改就可以在不同的软、硬件平台上运行,这就是Java语言的平台无关性。
一、Java语言简介 JAVA语言的特点: 可移植性 Java语言的平台无关性,成为了Java语言应用程序方便地移植到网络上不同机器的良好基础,使得Java语言应用程序在已配备了Java语言解释及运行环境的任一台机器上运行是可行的。 可扩展性 由于Java语言是一种基于C++的编程语言,它们之间有很多相似性,便于扩展。当然,Java语言的可扩展性还体现在:Java语言可以把内部的方法映射成软件库所定义的功能,且可以动态地与虚拟机链接。
一、Java语言简介 JAVA语言的特点: 高性能 Java语言的字节码经过了周详地设计,在采用Java技术将字节码直接转换成高性能的本机代码变得相对容易,因此,Java语言程序在非常低档的CPU上仍能顺利地进行,而其他的解释执行系统(如:BASIC)就则变得相对困难。
一、Java语言简介 JAVA语言的特点: 多线程 Java语言本身提供了一个Thread类和一组内置的方法,它负责生成线程、执行线程或者查看线程的执行状态。所以程序员要设计多线程程序时,只要继承上述的那个类和调用相应的方法就可以解决了,从而也提高了程序执行的效率。 动态性 Java语言的动态性,即可以在本地或网上动态地加载类,或者说在程序的执行过程中可以随意地增加新方法、实例变量等。
二、JAVA的历史 1995年5月23日,Java语言诞生 1996年1月,第一个JDK-JDK1.0诞生 1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录
二、JAVA的历史 1997年9月,JavaDeveloperConnection社区成员超过十万 1998年2月,JDK1.1被下载超过2,000,000次 1998年12月8日,JAVA2企业平台J2EE发布 1999年6月,SUN公司发布Java的三个版本:标准版、企业版和微型版(J2SE、J2EE、J2ME)
二、JAVA的历史 2000年5月8日,JDK1.3发布 2000年5月29日,JDK1.4发布 2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机 2001年9月24日,J2EE1.3发布 2002年2月26日,J2SE1.4发布,自此Java的计算能力有了大幅提升 2004年9月30日18:00PM,J2SE1.5发布,是Java语言的发展史上的又一里程碑事件。为了表示这个版本的重要性,J2SE1.5更名为J2SE5.0 2007年1月,J2SE1.6发布 更名为Java SE 6.0
二、JAVA的历史 猜猜哪个是Java的标志?
Java标志
Java功能 Java能干什么?
Java功能 Java能干什么?
Java功能 Java能干什么?
Java功能 Java能干什么?
Java功能 Java能干什么?更多请参看:http://java.sun.com
Java功能 Java能干什么?
Java功能 Java已经逐步从一种单纯的计算机高级编程语言发展为一种重要的Internet平台,并进而引发、带动了Java产业的发展和壮大,成为当今计算机业界不可忽视的力量和重要的发展潮流与方向 ! JAVA编写的程序可在在不同类型的计算机上运行。 编写Applet小程序 编写大型应用程序 编写GUI实用程序 编写网络应用程序
三、Java技术体系架构 完整的Java体系结构是由4个组件组合而成: (1)Java编程语言 (2)Java类文件格式 (3)Java API(Java Application Program Interface,即为Java应用程序编程接口) (4)JVM(Java Virtual Machine,即为Java虚拟机) JVM与核心类API共同构成了Java平台,也称为JRE(Java Runtime Environment,Java运行时环境),该平台可以建立在任意操作系统上。
Java各组件功能概述 应用程序 Java编程语言 Java类文件 Java运行时环境 Java API Java虚拟机 操作系统(Windows、Unix等)
三、Java技术体系架构 Java API是预先编写的代码,并按相似主题分成多个包。Java API主要分为3大平台: J2EE(Java 2 Platform Enterprise Edition ) —企业版 (J2EE),是为面向以企业为环境而开发应用程序的解决方案 J2SE(Java 2 Platform Stand Edition) —标准版 (J2SE) ,为桌面开发和低端商务应用提供了可行的解决方案 J2ME(Java 2 Platform Micro Edition ) —小型版(J2ME),是致力于消费产品和嵌入式设备的最佳解决方案
三、Java技术体系架构 J2EE J2SE EJB JSP Servlet JavaBean CORBA ORB IDL RMI IIOP JDBC J2ME JTS JTA JNDI JMS JDBC JavaIDL JavaMail Java Card API Foundation Profile MIDP CDC CLDC Java Virtual Machine CVM KVM CardVM
三、Java技术体系架构 JAVA资格认证 SCJP : Sun公司对Java平台的程序员认证 SCJD : Sun公司对Java平台的开发者认证 SCEA :Sun公司对J2EE技术的企业架构师认证
四、 Java的工作方式 本地计算机系统 .java java源程序文件 编译 .class 二进制字节码文件 解释 Java虚拟机(JVM) 本地计算机系统
四、 Java的工作方式
四、 Java的工作方式
四、 Java的工作方式
四、 Java的工作方式 Java虚拟机JVM:在真实的机器中用软件模拟实现的一种虚拟机器(类似于模拟器),提供以下定义 指令集(Bytecodes 是JVM的机器指令)。 寄存器组 类文件格式 栈 垃圾回收“堆”(实现内存的动态分配和自动回收) 内存区域
四、 Java的工作方式 Java程序通过虚拟机实现跨平台
四、 Java的工作方式 Hello.class 类装配器 Java虚拟机 字节码验证器 解释器 代码生成器 本地计算机系统
五、Java术语 1. JDK、J2 SDK JDK — java developer’s kit (java开发工具包) ,JDK 包含JVM和其他工具,以及所有的API和相关文件。JDK 是java 技术的旧名(1999/11以前), JDK1.6 是现在所用版本。 Java 2 — Java 2 Platform J2 SDK –java技术的新名称 SDK — Software Development Kit
五、Java术语 1.JDK JDK(Java Development Kit) 称为Java开发包或Java开发工具,是一个写Java的Applet小程序和应用程序的程序开发环境。JDK 是整个Java的核心,包括了Java运行环境(Java Runtime Envirnment),一些Java工具和Java的核心类库(Java API)。
五、Java术语 作为JDK实用程序,工具库中有七种主要程序。 (1)javac:Java编译器,将.java源代码文件转换成.class字节码文件。 (2)java:Java解释器,直接解释执行Java字节码文件,即application 。 (3)appletviewer:小应用程序浏览器,一种执行HTML文件上的Java应用小程序的Java浏览器,即Applet 。
五、Java术语 (4)javadoc:根据Java源码及说明语句生成HTML文档。 (5)jdb:Java调试器,可以逐行执行程序,设置断点和检查变量。 (6)javah:产生可以调用Java过程的C过程,或建立能被Java程序调用的C过程的头文件。 (7)javap:Java反汇编器,显示编译类文件中的可访问功能和数据,同时显示字节代码含义。
五、Java术语 2. JVM、JRE JVM (Java virtual machine):Java 虚拟机,将 java 字节码程序翻译成机器语言,然后由计算机执行。JVM 没有其他相关的文件。JVM 本身不足以支持java application和applet的运行。 JRE : java 运行环境 。JRE 是由JVM 和 java platform 核心类以及相关支撑文件组成。
五、Java术语 JVM、JRE及JDK的关系图 开发工具和第三方类库 Java基础类库 JDK JRE Java虚拟机(JVM) 图形界面类库(如Swing类库、AWT类库) Java基础类库 Java虚拟机(JVM) 操作系统(如Windows)
五、Java术语 JVM plus all APIs, compilers ,tools, and documentation (what you need in order to write java technology programs). JVM JRE J2 SDK JVM plus basic APIs (what you need to distribute to people who will run your Java programs)
五、Java术语 3. API API(Application programming interface ): API 是rules(syntax) ——在java技术中如何编程。 API包括数百个类——公司预先编好的代码,可以在编程中充分利用它们的功能。.
六、Java开发环境搭建 1. Java开发工具 JBuilder(Borland) Visual J++(MicroSoft) Visual Age for Java(IBM) MyEclipse JDK+Tomcat 记事本、UltraEdit等
六、Java开发环境搭建 2. JDK的下载和安装 获取JDK开发工具包网址:http://java.sun.com 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 应用程序:jdk-6u21-windows-i586.exe
六、Java开发环境搭建 3. JDK的目录结构 可执行文件所使用的库文件 Java运行时间 编译器/解释器及其他可执行文件 子目录包括演示代码 用于本地代码的C头文件 JNLP示例
六、Java开发环境搭建 4. JDK的环境配置 JAVA_HOME CLASSPATH: %JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tools.jar; .; PATH: %JAVA_HOME%\bin; 检测安装配置是否成功 打开命令提示符窗口,输入“javac”命令 演示环境变量的配置
六、Java开发环境搭建 5. MyEclipse 简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境, MyEclipse6.0以前版本需先安装Eclipse。MyEclipse6.0以后版本安装时不需安装Eclipse。 MyEclipse是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML,CSS,JavaScript,JSP,Struts,Hibernate,SQL等。 演示软件安装过程
七、Java程序的编写与运行 Java程序运行过程
七、Java程序的编写与运行 1. 显示已知文件类型的扩展名 双击桌面上的【我的电脑】图标,单击菜单【工具】|【文件夹选项…】命令打开【文件夹选项】对话框。选择【查看】选项卡,取消“隐藏已知文件类型的扩展名”复选框的选中状态 区分出来Hello.txt、Hello.java、Hello.class这些不同的文件类型
七、Java程序的编写与运行 2. 编写Java程序 Application程序基本结构 由一个或多个“类”组成。 必须有一个“类”定义了main() 方法,该方法是自动执行的类方法,是Java应用运行的起始点。而这个类也就称之为“主类”。 HelloApplication.java public class HelloApplication { public static void main(String args[]) { System.out.println("Hello, Java world! "); }
七、Java程序的编写与运行 2. 编写Java程序 public class Welcome { public static void main(String[] args) { System.out.println("***********************"); System.out.println("*Welcom to java World!*"); }
七、Java程序的编写与运行 注意事项 (1)源文件的名称一定要和类的名称保持一致。Java程序的类名称是指class关键词(Keyword)后的名称,就本例而言类名即为“Welcome”。 (2)源文件的扩展名必须为java。 (3)Java语言区分大小写。在Java程序中,System和system是两个不一样的名称。 (4)空格只能是半角空格符或是Tab字符。其他字符如小括号、双引号等均要求为英文字符。 (5)一个.java源文件中可以包含多个类,但只能有一个public类,且源文件名一定要与public类名相同。
七、Java程序的编写与运行 3. Application程序编译与执行 编译 — javac:产生Welcome.class 文件 javac Welcome.java 解释执行 — java由一个或多个“类”组成。 java Welcome (隐含.class文件) Java程序文件 源文件名要与主类名同名(包括大小写) 一个类产生一个.class文件
七、Java程序的编写与运行 4. 运行Java程序 Application: “Java应用” 是可以独立运行的Java程序。 演示程序编写及执行
七、Java程序的编写与运行 5. Java的类库 类库:在程序中可以直接使用的类的集合。 包:分组存放类库中各个文件,每个文件是一个类的定义。每个包都存放在单独的路径下,包的名称取决于文件夹的路径。如java.lang 如何引用其它包中的类呢? import 包名 例如:import java.awt.Graphics; import java.util.*;
七、Java程序的编写与运行 包 名 说 明 java.lang 支持基本语言特征,并能处理数组和字符串,该包自动加载 java.io 包 名 说 明 java.lang 支持基本语言特征,并能处理数组和字符串,该包自动加载 java.io 包含输入输出操作的类 java.util 包含多种工具类 java.swing 为创建GUI提供Swing组件 java.awt 提供原始GUI组件及Swing组件基本支持 java.awt.geom 定义了二维几何图形 java.awt.event 实现窗口化的应用程序以处理读者程序中的各种事件
七、Java程序的编写与运行 6. 编写JavaApplet程序 import java.awt.Graphics; import java.applet.Applet; public class WelcomeApplet extends Applet{ public void paint(final Graphics g){ g.drawLine(0, 0, 200, 200); }
七、Java程序的编写与运行 6. 编写JavaApplet程序 <html> <body> <applet code=WelcomeApplet.class width=200 height=100 > </applet> </body> </html>
七、Java程序的编写与运行 7. 运行JavaApplet程序 D:\> javac HelloApplet.java 不能独立运行,而是被嵌入到Web页中。 由Java兼容浏览器控制执行。 D:\> javac HelloApplet.java D:\> appletviewer index.html 演示程序编写及执行
七、Java程序的编写与运行 8. 使用MyEclipse运行Java程序 启动MyEclipse 6.5 单击【开始】|【所有程序】|【MyEclipse】|【MyEclipse 8.5】命令启动MyEclipse 新建Java项目 选择【File】|【New】|【Java Project】命令,打开【New Java Project】对话框 新建Java类 选择菜单【File】|【Class】命令 输入代码 运行程序
八、常见问题 Error:cannot read:Welcome.java javac工具程序找不到指定的.java文件。需要检查文件是否存储在当前目录中,或是文件名是否错误。 Welcome.java:1:class Welcome is public,shoud be declared in a file named Welcome.java 源文件中类的名称和源文件名称不符。需要确定源文件名称和类名称是否相同。
八、常见问题 Welcome.java:3: cannot find symbol 源程序文件中某些代码部分输入错了,原因可能是没有注意到字母的大小写。 javac不是内部或外部命令、可执行程序或批量文件 Path设置有误或没有在Path中加入JDK的bin目录。 如果没有出现上述所列问题,表明成功编译了该Java文件。在解释执行.class文件时,可能会出现下面几个常见问题。
八、常见问题 Exception in thread "main" java.lang.NoClassDefFoundError Java工具程序找不到所指定的.class文件,需要确定指定的类是否存储在当前目录中,名称是否正确。 Exception in thread "main" java.lang.NoSuchMethodError:main 没有指定Java程序的入口。Java工具程序指定的类必须有一个程序入口,即必须包括main(String args[])这个方法。
本章小结 本章主要概括描述了Java语言的发展历史、Java技术体系架构、Java的工作方式及相关术语,并且讲解了JDK和MyEclipse的安装过程。 Java的体系架构主要有3个版本 适用于小型设备和智能卡的Java 2平台Micro版(Java 2 Platform Micro Edition,J2ME) 适用于桌面系统的Java 2平台标准版(Java 2 Platform Standard Edition,J2SE) 适用于创建服务器应用程序和服务的Java2平台企业版(Java 2 Platform Enterprise Edition,J2EE)。
本章小结 Java程序的运行主要由编译和解释两个过程完成 Java的源程序称为.java文件 经过编译后产生的是同名的.class字节码文件 JDK是指Java开发工具包,JRE是指Java的运行环境,而JVM是指Java虚拟机。三者之间有紧密的关联关系,概括的讲JDK包括JRE,而JRE包含JVM,所以安装了JDK后,则直接安装了JRE及JVM。 Java类的编写可以通过记事本或MyEclipse集成开发环境完成。