第一章 - java编程环境搭建
1. Java概述
1.1 Java语言发展史
相关名词解释:
语言:人与人交流沟通的表达方式
计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言
软件:软件是完成功能的程序。
程序: 由计算机执行的有序的指令的集合。
历代语言汇总:
第一代:机器语言
借助打孔机,是一种低级的面向计算机的程序设计语言,使用0和1表示各种命令;
第二代:汇编语言
又名助忆语言,使用了助记符替换机器码,如 mov 、push、pop ...和机器语言一样被称为低
级语言;
第三代:高级语言,其中分为 面向过程的编程语言 (如 BASIC,pascal ,C ) 和 面向对象的编
程语言(如C++ , Java ,C# );
Java语言简史:
Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言
Java之父:詹姆斯·高斯林(James Gosling)
2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.com
Java平台的三大版本:
J2SE (Java Standard Editon, Java标准版) 开发和部署在桌面、服务器、嵌入式环境和实时
环境中使用的Java应用程序,包括Java语言的核心类,如网络编程;(当前使用)
J2EE(Java Enterprise Edition, Java企业版) 在JAVASE的基础上包含开发企业级的应用类,
如:JSP等,提供Web服务、组件模型、管理和通信API ;
J2ME(Java Platform Micro Edition ,Java微缩版) 为在移动设备和嵌入式设备上运行的应用
程序提供一个健壮且灵活的环境 ;(应用于嵌入式开发)
JDK各个版本:
JDK 5.0 (JDK 1.5 已作为内部保留的版本号): (重要)
JDK 5.0的新特性:1.自动装箱与自动拆箱 2.枚举 3.静态导入 4.可变参数 5.泛型 6.FOREACH
增强for循环
JDK 6.0 新特性 :将J2SE更名为JAVASE、 将J2EE更名为JAVAEE 、将J2ME更名为JAVAME
JDK 7.0新特性:1.Switch中支持String 2.可以保存二进制的数据, 支持二进制字面量 3.数
字字面量增加下划线_来进行数据的分隔 4.自动资源释放
JDK 8.0新特性:1.Lambda表达式 2.函数式接口
1.2 Java语言特点
1.2.1 跨平台
Java语言具有可移植性(跨平台特性):与平台无关的特性使Java程序可以方便到用于各种平台操作系统。
Java程序并非是直接运行的,Java编译器将Java源程序编译成平台无关的字节码文件(class文件),然后由Java虚拟机(JVM)对字节码文件解释执行。所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序的跨平台。
1.2.2 自动垃圾回收功能
Java语言设计具有自动垃圾回收功能,自动垃圾回收相当于自动释放内存空间
垃圾回收的概念: 垃圾回收(Garbage Collector)是Java虚拟机(JVM)垃圾回收器提供的一
种用于在空闲时间不定时回收无任何对象引用的对象占据的内存空间的一种机制。
什么情况进行回收:程序空闲时间不定时回收
回收的方法:通过具体的垃圾回收算法进行垃圾回收
1.2.3 Java语言具有健壮性
Java语言是一种强类型语言,即在编译和运行时进行了大量的类型检查,防止不匹配的数据类型发生。
1.2.4 Java语言设计了异常处理机制
具体异常处理在后续课程中讲解。
1.3 JVM、JRE和JDK
JVM(Java Virtual Machine),Java虚拟机, JVM 是Java编程语言的核心,它提供了一个不依
赖于底层操作和机器硬件的接口。这种独立于硬件和操作系统的特性正是Java程序可以一次
编写多处执行的原因; 程序被加载到内存中的虚拟机执行.
JRE(Java Runtime Environment),Java 运行时环境,提供了运行Java程序的平台,其中
包括了内置JVM 和 为JVM提供的运行类库 ; 核心类库(java语言已经编写好的代码)
JDK(Java Development Kit)Java 开发工具包,是Java环境的核心组件,其中包括了
JRE(Java运行环境)、编译类库(在lib目录下)并提供了编译、调试、运行一个Java程序所
需的所有工具(bin目录下) ;
PS:我们只需安装JDK即可,它包含了java的运行环境和虚拟机。
1.4 JDK的下载和安装
1.4.1 下载
通过官方网站获取JDK
注意:针对不同的操作系统,需要下载对应版本的JDK。
具体下载步骤请参见《JDK下载及安装说明文档》
1.4.2 安装
傻瓜式安装,下一步即可。但默认的安装路径是在C:\Program Files下,为方便统一管理建议修改安装路径,将与开发相关的软件都安装到一个目录下,例如:E:\develop。
注意:安装路径不要包含中文或者空格等特殊字符(使用纯英文目录)。
具体安装步骤请参见《JDK下载及安装说明文档》
1.4.3 JDK的安装目录介绍
目录名称 | 说明 |
---|---|
bin | 该路径下存放了JDK的各种工具命令。javac和java就放在这个目录。 |
conf | 该路径下存放了JDK的相关配置文件。 |
include | 该路径下存放了一些平台特定的头文件。 |
jmods | 该路径下存放了JDK的各种模块。 |
legal | 该路径下存放了JDK各模块的授权文档。 |
lib | 该路径下存放了JDK工具的一些补充JAR包。 |
2. 第一个演示程序
2.1 常用DOS命令
在接触集成开发环境之前,我们需要使用命令行窗口对java程序进行编译和运行,所以需要知道一些常用DOS命令。
1、打开命令行窗口的方式:win + r打开运行窗口,输入cmd,回车。
2、常用命令及其作用
操作 | 说明 |
---|---|
盘符名称: | 盘符切换。E:回车,表示切换到E盘。 |
dir | 查看当前路径下的内容。 |
cd 目录 | 进入单级目录。 |
cd .. | 回退到上一级目录。 |
cd 目录1\目录2... | 进入多级目录。 |
cd \ | 回退到盘符目录。 |
cls | 清屏。 |
exit | 退出命令提示符窗口。 |
ipconfig | 查看Windows IP配置 |
ping ip地址 | 校验与远程计算机或本地计算机的连接是否成功 127.0.0.1 回环地址 |
备注:
- Windows的DOS命令不区分大小写;
- 使用上下箭头可以找出历史命令;
- 使用Tab键可以自动补齐命令;
2.2 Path环境变量的配置
2.2.1 为什么配置环境变量
开发Java程序,需要使用JDK提供的开发工具(比如javac.exe、java.exe等命令),而这些工具在JDK的安装目录的bin目录下,如果不配置环境变量,那么这些命令只可以在该目录下执行。我们不可能把所有的java文件都放到JDK的bin目录下,所以配置环境变量的作用就是可以使bin目录下的java相关命令可以在任意目录下使用。
2.2.2 配置环境变量步骤
具体配置步骤请参见《Java环境变量配置说明》文档。
2.3 HelloWorld案例
HelloWorld案例是指在计算机屏幕上输出“HelloWorld”这行文字。各种计算机语言都习惯使用该案例作为第一个演示案例。
2.3.1 Java程序开发运行流程
开发Java程序,需要三个步骤:编写程序,编译程序,运行程序。
2.3.2 HelloWorld案例的编写
1、新建文本文档文件,修改名称为HelloWorld.java。
2、用记事本打开HelloWorld.java文件,输写程序内容。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
2.3.3 HelloWorld案例的编译和运行
存文件,打开命令行窗口,将目录切换至java文件所在目录,编译java文件生成class文件,运行class文件。
编译:javac 文件名.java
范例:javac HelloWorld.java
执行:java 类名
范例:java HelloWorld
2.4 HelloWorld案例常见问题
2.4.1 BUG
在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。
2.4.2 BUG的解决
1、具备识别BUG的能力:多看
2、具备分析BUG的能力:多思考,多查资料
3、具备解决BUG的能力:多尝试,多总结
2.4.3 HelloWorld案例常见问题
1、非法字符问题。Java中的符号都是英文格式的。
2、大小写问题。Java语言对大小写敏感(区分大小写)。
3、在系统中显示文件的扩展名,避免出现HelloWorld.java.txt文件。
4、编译命令后的java文件名需要带文件后缀.java
5、运行命令后的class文件名(类名)不带文件后缀.class
...
2.4.4 转义字符
Java语言中定义了一些字母前加\来表示特殊含义的字符。
示例:
\n 换行
\r 回车
\r\n 回车换行
System.out.println("Today is \n Sunday.");
\t 空一个水平制表位 (8个英文空格) //如果有中文,一个中文占两个英文空格
System.out.println("aaaaaaaa\tbb\tcc\tdd\tee");//8个a后会空一个制表位再显示其他内容
2.5 Notepad++软件的安装和使用
2.5.1 什么要使用Notepad++软件
Notepad++功能比windows中的自带记事本功能强大,除了可以用来制作一般的纯文字说明文件,也十分适合编写计算机程序代码。Notepad++有行号,能够快速定位问题位置,还有语法高亮度显示、代码折叠等功能。而且它是免费的。
2.5.2 Notepad++软件安装
安装:傻瓜式安装,一直下一步即可。建议也安装到统一的开发软件目录下,比如E:\develop。
具体安装步骤请参见《Nodepad++软件安装及配置说明》文档。
2.5.3Notepad++软件配置
安装完毕之后,为了使用方便,做一个简单的配置:修改默认语言和编码。
具体配置的说明请参见《Nodepad++软件安装及配置说明》文档。