第1章 Java开发入门
Java 是什么、能做什么,JDK 怎么装、第一个程序怎么写、编译与运行到底发生了什么。
本章学习目标
- 能说出 Java 的特点与应用领域
- 能安装 JDK 并配置环境变量
- 能独立写出、编译、运行一个 HelloWorld 程序
- 知道 JDK、JRE、JVM 的关系
本章导览
核心内容
Eclipse开发工具
Java的运行机制
Eclipse开发工具
目录
注
Java程序运行时,必须经过编译和运行两个步骤:
先将后缀名为.java的源文件进行编译,生成后缀名为.class的字节码文件;
然后Java虚拟机将字节码文件进行解释执行,并将结果显示出来。
Java运行机制过程分析:
编写一个Java源文件HelloWorld.java。
使用“javac HelloWorld.java”命令开启Java编译器并进行编译。
编译结束后,会自动生成一个HelloWorld.class的字节码文件。
使用“java HelloWorld”命令启动Java虚拟机运行程序,Java虚拟机首先将编译好的字节码文件加载到内存,这个过程被称为类加载,它是由类加载器完成的,然后虚拟机会通过Java解析器对加载到内存中的Java类进行解析执行。
执行后会生成计算机可以识别的机器码文件。
机器码文件在计算机运行并显示结果。
通过上面的分析不难发现,Java程序是由Java虚拟机负责解释执行的,而并非操作系统。这样做的好处是可以实现Java程序的跨平台。
下面以Windows、Linux、MacOS操作系统为例,效果如图所示:

📄 展开课件原文(第 4–47 页,共 4 页)
什么是Java
计算机语言(Computer Language)是人与计算机之间通讯的语言,分成机器语言、汇编语言、高级语言三大类。
Java是一种高级计算机语言,它是由Sun公司(已被Oracle公司收购)于1995年5月推出的一种可以编写跨平台应用软件、完全面向对象的程序设计语言。
📄 展开课件原文(第 9–9 页,共 1 页)
Java概述
为了使软件开发人员、服务提供商和设备生产商可以针对特定的市场进行开发,SUN公司将Java划分为三个技术平台:
JavaSE
JavaME
JavaEE
标准版
是为开发普通桌面和商务应用程序提供的解决方案
企业版
是为开发企业级应用程序提供的解决方案
微型版
是为开发电子消费产品和嵌入式设备提供的解决方案
简单易用
安全可靠
跨平台
面向对象性
支持多线程
脚本语言
📄 展开课件原文(第 10–11 页,共 2 页)
Java语言特点——简单易用
Java是一种相对简单的编程语言,它通过提供最基本的方法来完成指定的任务,只需掌握一些基础的概念和语法,就可以编写出很多实际可用的程序;
Java丢弃了C++中很难理解的运算符重载、多重继承等模糊概念,特别是Java语言不使用指针;
Java提供了自动垃圾回收机制,使程序员不必过多的操心内存管理的问题。
Java提供了一套可靠的安全机制来防止恶意代码的攻击;
Java程序运行之前会利用字节确认器进行代码的安全检查,确保程序不会存在非法访问本地资源、文件系统的可能,保证了程序在网络间传送的安全性。
Java引入了虚拟机的概念,通过Java虚拟机(Java Virtual Machine,称为JVM)可以在不同的操作系统上(如Windows、Linux等)运行Java程序,从而实现跨平台特性。
Java将一切事物都看成对象,通过面向对象的方式,将现实世界的事物抽象成对象,将现实世界中的关系(如父子关系)抽象为继承;
这种面向对象的方法,更利于用人们对复杂程序的理解、分析、设计和编写。
Java语言内置了多线程控制,可使用户程序并发执行;
利用Java的多线程编程接口,开发人员可以方便地写出多线程的应用程序,提高程序的执行效率。
📄 展开课件原文(第 12–16 页,共 5 页)
什么是JDK
定义:JDK(Java Development Kit),是SUN公司提供的一套Java开发环境。
说明:JDK是整个Java的核心,其中包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具等。
在1996年1月,Sun公司发布了Java的第一个开发工具包JDK 1.0;
随后相继推出了JDK 1.1、JDK 1.2、JDK 1.3、JDK 1.4、JDK 5(1.5)、JDK 6(1.6)、JDK 7(1.7)、JDK 8(1.8)和JDK 9(1.9)、JDK 10。
由于JDK 9是2017年9月发布的新版本,JDK 10是2018年3月发布的新版本,目前并不稳定,且市场使用率低,所以本教材将针对目前稳定的JDK 8(也称之为Java 8或JDK 1.8)进行讲解。
定义:JRE(Java Runtime Environment)是Sun公司提供的Java运行环境,用来提供给普通用户使用的。
说明:由于普通用户只需要运行事先编写好的Java程序,不需要自己动手编写,因此JRE工具中只包含Java运行工具,不包含Java编译工具。
注意:为了方便使用,Sun公司在其JDK工具中自带了一个JRE工具,也就是说开发环境中包含运行环境,这样一来,开发人员只需要在计算机上安装JDK即可。
📄 展开课件原文(第 17–19 页,共 3 页)
安装JDK(以Windows系统为例)
从Oracle官网下载JDK
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html
下载结果:
📄 展开课件原文(第 20–20 页,共 1 页)
JDK的使用
单击安装JDK
自定义安装功能和路径
开发工具:是JDK中的核心功能模块,其中包含一系列Java程序所必须的可执行程序,如javac.exe、java.exe等,还包含了一个专用的JRE环境。
源代码:安装此模块将会安装Java所有核心类库的源代码。
公共JRE:是Java程序的运行环境。由于开发工具中已经包含了一个JRE,因此没有必要再安装公共的JRE环境,此项可以不作选择。
自定义安装功能和路径——模块说明
完成JDK安装
JDK、JRE与JVM之间的主要关系和区别:
JDK中包含了开发工具和JRE,而JRE中又包含了Java基础类库和JVM。其中JVM是运行Java程序的核心虚拟机,而运行Java程序不仅需要核心虚拟机,还需要类加载器、字节码校验器以及Java的基础类库等。
脚
下
留
心




📄 展开课件原文(第 21–25 页,共 5 页)
JDK目录介绍
JDK安装后,目录结构图如下所示:
bin目录:该目录用于存放一些可执行程序。
如javac.exe(Java编译器)、java.exe(Java运行工具)、jar.exe(打包工具)和javadoc.exe(文档生成工具)等。
db目录:db目录是一个小型的数据库。
从JDK 6开始,Java中引入了一个新的成员Java DB,这是一个纯Java实现、开源的数据库管理系统。这个数据库不仅很轻便,而且支持JDBC 4.0所有的规范,在学习JDBC时,可以选择直接使用Java DB即可。
include目录:包含一些一些C语言的头文件。
由于JDK是通过C和C++实现的,因此在启动时需要引入一些C语言的头文件,该目录就是用于存放这些头文件的。
jre目录:此目录是Java运行时环境的根目录。
它包含Java虚拟机,运行时的类包、Java应用启动器以及一个bin目录,但不包含开发环境中的开发工具。
lib目录:包含lib包文件。
lib是library的缩写,意为Java类库或库文件,是开发工具使用的归档包文件。
javafx-src.zip:该压缩文件内存放的是Java FX(Java图形用户界面工具)所有核心类库的源代码。
src.zip:src.zip为src文件夹的压缩文件,src中放置的是JDK核心类的源代码,通过该文件可以查看Java基础类的源代码。
README等:说明性文档。
javac.exe编译器工具
它可以将编写好的Java文件编译成Java字节码文件(可执行的Java程序)。
java.exe运行工具
它会启动一个Java虚拟机(JVM)进程,Java虚拟机相当于一个虚拟的操作系统,它专门负责运行由Java编译器生成的字节码文件(.class文件)。

📄 展开课件原文(第 26–30 页,共 5 页)
系统环境变量
JDK安装完成后,要想在系统中的任何位置都能编译和运行Java程序,还需要对环境变量进行配置。
通常来说,我们需要配置两个环境变量——PATH和CLASSPATH。
PATH环境变量—用于告知操作系统到指定路径去寻找JDK。
CLASSPATH环境变量—用于告知JDK到指定路径去查找类文件(.class文件)。
为什么要设置系统环境变量?
需要设置哪些系统环境变量?
打开环境变量窗口
【计算机】=>【属性】=>【系统】=>【高级系统设置】=>【高级】=>【环境变量】=>【环境变量】
配置JAVA_HOME变量
【系统变量】 => 【新建】 => 【新建系统变量】
“变量名”的文本区域值设置为“JAVA_HOME”;
“变量值”的文本区域值设置为JDK的安装目录“D:\Java\jdk1.8.0_151”(路径以读者JDK安装目录为准)。
配置PATH变量
【环境变量】 => 【系统变量】区域选中名为“Path”的系统变量,单击【编辑】按钮,打开【编辑系统变量】窗口,并在“变量值”的文本区域值的起始位置添加“%JAVA_HOME%\bin;”
单击系统中的【开始】【所有程序】【附件】【运行】(或者使用快捷键Win+R),在打开的运行窗口中输入“cmd”指令并确定后,将打开命令行窗口。在窗口中执行“javac”命令后,如果能正常地显示javac命令的帮助信息,即说明系统PATH环境变量配置成功。
效果验证

📄 展开课件原文(第 31–35 页,共 5 页)
第一个Java程序
在D盘根目录下新建一个test文件夹,并在该文件夹中新建文本文档,重命名为HelloWorld.java后,用记事本方式打开,在其中编写一段Java代码。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("这是第一个Java程序!");}
编写Java源文件
class是一个关键字,它用于定义一个类。在Java中,类就是一个程序的基本单元,所有的代码都需要在类中书写。
HelloWorld是类的名称,简称类名。class关键字与类名之间需要用空格、制表符、换行符等任意的空白字符进行分隔。类名之后要写一对大括号,它定义了当前这个类的管辖范围。
编写Java源文件——文件解释说明
“public static void main(String[] args){}”定义了一个main()方法,该方法是Java程序的执行入口,程序将从main()方法所属大括号内的代码开始执行。
在main()方法中编写了一条执行语句“System.out.println("这是第一个Java程序!");”,它的作用是打印一段文本信息,执行完这条语句会在命令行窗口中打印“这是第一个Java程序!”。打开命令行窗口,并通过如下命令进入test目录。
D:
cd test
使用命令行窗口进入指定目录
在命令行窗口中输入“javac HelloWorld.java”命令,对源文件进行编译。
上面的javac命令执行完毕后,会在当前目录下生成一个字节码文件“HelloWorld.class”。
编译Java源文件
注意
在命令行窗口使用javac命令对带有中文的Java源文件进行编译时,必须保证源文件的编码格式和命令行窗口解码格式一致,否则会出现源文件编译错误。
在中文环境下,命令行窗口默认编码格式是GBK,而记事本编码格式也是GBK,所以在编写HelloWorld.java源文件时,可以直接使用Windows系统自带的记事本进行编辑并保存。
如果使用了其他文本编辑器(如EditPlus、Notepad++等)来编写Java源文件,这些文本编辑器默认编码格式多数为UTF-8,那么必须将Java源文件以GBK格式编译,或者是将命令行窗口更改为文本编辑器相同的编码格式。
注
在命令行窗口中输入“java HelloWorld”命令,运行编译好的字节码文件。
运行Java程序
在使用javac命令编译文件1-1中的程序时,有可能会出现“找不到文件”的错误。
出现上图错误很有可能是因为文件的扩展名被隐藏了,虽然文本文件被重命名为“HelloWorld.java”,但实际上该文件的真实文件名为“HelloWorld.java.txt”,文件类型并没有得到修改。
脚
下
留
心
打开Windows系统控制面板中的【文件夹选项】,在“查看”选项下高级设置一栏中将“隐藏已知文件类型的扩展名”选项前面的“√”取消,单击【确定】按钮。
文件显示出扩展名.txt后,将其重命名为HelloWorld.java即可。

📄 展开课件原文(第 36–44 页,共 9 页)
Eclipse开发工具
注
Eclipse是由蓝色巨人IBM花费巨资开发的一款功能完整且成熟的IDE集成开发环境。
Eclipse是一个开源的、基于Java的可扩展开发平台,是目前最流行的Java语言开发工具之一。
Eclipse具有强大的代码编排功能,可以帮助程序开发人员完成语法修正、代码修正、代码补全、信息提示等工作,大大提高了程序开发的效率。
Eclipse的设计思想是“一切皆插件”。就其本身而言,它只是一个框架和一组服务,它所有的功能都是将插件组件加入到Eclipse框架中来实现的。
下载地址:
https://www.eclipse.org/downloads/
注意:Eclipse安装时只需将下载好的ZIP包解压保存到指定目录下(例如D:\eclipse)就可以使用了。本教材使用的Eclipse版本是Neon.3 Release (4.6.3)。
安装Eclipse开发工具
启动Eclipse开发工具
(1)在Eclipse安装文件中双击运行eclipse.exe文件,效果如下图所示:
(2)Eclipse启动完成后会弹出一个对话框,提示选择工作空间(Workspace),效果如下图所示:
工作空间用于保存Eclipse中创建的项目和相关设置。可以使用Eclipse提供的默认路径为工作空间,也可以单击【Browse...】按钮来更改路径,工作空间设置完成后,单击【OK】按钮即可。
(3)工作空间设置完成后,由于工具是第一次打开,因此会进入到Eclipse的欢迎界面,效果如下图所示:
Eclipse工作台
在Eclipse欢迎界面单击关闭欢迎界面窗口,就进入了Eclipse工作台界面,Eclipse工作台主要由标题栏、菜单栏、工具栏、透视图四部分组成:
Eclipse工作台上几种主要视图说明:
Package Explorer(包资源管理器器视图):用来显示项目文件的组成结构。
Editor(文本编辑器视图):用来编写代码的区域。
Problems(问题视图):显示项目中的一些警告和错误。
Console(控制台视图):显示程序运行时的输出信息、异常和错误。
Outline(大纲视图):显示代码中类的结构。
Eclipse透视图
定义:透视图(Perspective)是比视图更大的一种概念,用于定义工作台窗口中视图的初始设置和布局,目的在于完成特定类型的任务或使用特定类型的资源。
分类:在Eclipse的开发环境中提供了几种常用的透视图,如Java透视图、资源透视图、调试透视图、小组同步透视图等。
用户可以通过界面右上方的透视图 按钮 在不同的透视图之间切换。选择要进入的透视图,也可以在菜单栏中选择【Window】→【Perspective】→【Open Perspective】→【Other...】打开其他透视图,如下所示:
在弹出的“Open Perspective”对话框中,可以选择用户要打开的透视图,如图所示:
小提示
如果小心错误的操作了透视图(Perspective),比如关闭了Console视图,这时可以通过【Window】→【Show View】来选择想要打开的Console视图。如果视图窗口过多且不方便手动调整位置时也可以重置透视图(在菜单栏选择【Window】→【Perspective】→【Reset Perspective】),如下图所示:
创建Java项目
在Eclipse的菜单栏中依次选择【File】→【New】→【Java Project】,或者在Package Explorer视图中单击鼠标右键,然后选择【New】→【Java Project】会出现一个“New Java Project”对话框,如右图所示。
在上图对话框中,“Project name”文本框表示项目的名称,这里将项目命名为chapter01,其余选项保持默认,然后单击【Finish】按钮完成项目的创建。这时,在Package Explorer视图中便会出现一个名称为chapter01的Java项目,效果如下图所示:
在Package Explorer视图中,鼠标右键单击chapter01项目下的src文件夹,选择【New】 → 【Package】,会出现一个“New Java Package”对话框,如图下图所示:
在项目下创建包
表示项目所在的目录
表示包的名称
鼠标右键单击包名,选择【New】→【Class】会出现一个“New Java Class”对话框,如图下图所示:
创建Java类
表示类名
接着创建一个HelloWorld类,单击【Finish】按钮,就完成了HelloWorld类的创建。这时,在“com.itheima.first”包下就出现了一个HelloWorld.java文件,如下图所示:
创建好的HelloWorld.java文件会在编辑区域自动打开,如下图所示:
创建完HelloWorld类后,就可以在文本编辑器里完成代码的编写工作,同样以一个main()方法和一条输出语句为例,如下图所示:
编写程序代码
鼠标右键单击Package Explorer视图中的HelloWorld.java文件,在弹出框中选择【Run As】→【Java Application】来运行程序,如下图所示:
运行程序
除此之外,还可以在选中文件后,直接单击工具栏上的 按钮运行程序。程序运行完毕后,会在Console视图中看到运行结果,如下图所示:
使用鼠标右键单击文本编辑器中左侧的空白处,在弹出的窗口中选择【Show Line Numbers】,即可显示出行号,如下图所示:
包的定义与使用
包定义的意义:Java引入了包(package)机制,程序可以通过声明包的方式对Java类定义目录。
包定义的规则:Java中的包是专门用来存放类的,通常功能相同的类存放在相同的包中。在声明包时,使用package语句,具体示例如下:
package cn.itcast.first; // 使用package关键字声明包,位于Java源文件的第一行
public class Example01{...}注意:包必须在源文件中所有代码前声明,在不考虑注释和空行的情况下,它会位于源文件第一行。
多
学
一
招
在使用Eclipse时,定义的类都是含有包名的。
如果没有显式地声明package语句,创建的类会处于默认包下。在实际开发中,这种情况是不应该出现的。
本教材的示例代码主要展现的是功能部分的代码,所以在大多数示例代码中没有为示例指定包名,但是在提供的源码中,都已使用包名。
在开发时,一个项目中可能会使用很多包,当一个包中的类需要调用另一个包中的类时,就需要使用import关键字引入需要的类。
使用import可以在程序中一次导入某个指定包下的类,这样就不必在每次用到该类时都书写完整类名,简化了代码量。
使用import关键字的具体格式如下所示:
import 包名.类名;注意:import通常出现在package语句之后,类定义之前。如果有时候需要用到一个包中的许多类,则可以使用“import 包名.*; ”来导入该包下所有类。
在JDK中,不同功能的类都放在不同的包中,其中Java的核心类主要放在java包及其子包下,Java扩展的大部分类都放在javax包及其子包下。
java.util:包含Java中大量工具类、集合类等,例如Arrays、List、Set等。
java.net:包含Java网络编程相关的类和接口。
java.io:包含了Java输入、输出有关的类和接口。
java.awt:包含用于构建图形界面(GUI)的相关类和接口。
除了上面提到的常用包,JDK中还有很多其他的包,比如数据库编程的java.sql包、编写GUI的javax.swing包等,JDK中所有包中的类构成了Java类库。




📄 展开课件原文(第 48–72 页,共 25 页)
本章小结
本章首先讲解了Java语言的概念和特点,然后讲解了如何在Windows系统平台中搭建Java开发环境和配置环境变量,并通过一个入门案例演示了Java程序的编译和运行。接下来通过入门案例的执行过程,讲解了Java的运行机制。最后讲解了常用的开发工具Eclipse的下载、安装以及使用。
📄 展开课件原文(第 73–74 页,共 2 页)
课件里的提醒 课件原文中的“注意 / 说明 / 定义”
- 定义:JDK(Java Development Kit),是SUN公司提供的一套Java开发环境。
- 说明:JDK是整个Java的核心,其中包括Java编译器、Java运行工具、Java文档生成工具、Java打包工具等。
- 定义:JRE(Java Runtime Environment)是Sun公司提供的Java运行环境,用来提供给普通用户使用的。
- 说明:由于普通用户只需要运行事先编写好的Java程序,不需要自己动手编写,因此JRE工具中只包含Java运行工具,不包含Java编译工具。
- 注意:为了方便使用,Sun公司在其JDK工具中自带了一个JRE工具,也就是说开发环境中包含运行环境,这样一来,开发人员只需要在计算机上安装JDK即可。
- 注意:Eclipse安装时只需将下载好的ZIP包解压保存到指定目录下(例如D:\eclipse)就可以使用了。本教材使用的Eclipse版本是Neon.3 Release (4.6.3)。
- 定义:透视图(Perspective)是比视图更大的一种概念,用于定义工作台窗口中视图的初始设置和布局,目的在于完成特定类型的任务或使用特定类型的资源。
- 注意:包必须在源文件中所有代码前声明,在不考虑注释和空行的情况下,它会位于源文件第一行。
- 注意:import通常出现在package语句之后,类定义之前。如果有时候需要用到一个包中的许多类,则可以使用“import 包名.*; ”来导入该包下所有类。
本章代码速览 把课件里的示例代码集中起来,可直接复制运行
public class HelloWorld {public static void main(String[] args) {System.out.println("这是第一个Java程序!");在main()方法中编写了一条执行语句“System.out.println("这是第一个Java程序!");”,它的作用是打印一段文本信息,执行完这条语句会在命令行窗口中打印“这是第一个Java程序!”。package cn.itcast.first; // 使用package关键字声明包,位于Java源文件的第一行public class Example01{...}import 包名.类名;