- 语言:人与人交流沟通的表达方式。计算机语言:人与计算机之间进行信息交流沟通的一种特殊语言。Java语言是美国Sun公司(Stanford University Network)在1995年推出的计算机语言。Java之父:詹姆斯·高斯林(James Gosling。2009年,Sun公司被甲骨文公司收购,所以我们现在访问oracle官网即可:https://www.oracle.com
java语言的三个版本:
- JavaSE:用于桌面应用的开发,是其他两个版本的基础
- JavaME:用于嵌入式消费类电子设备
- JavaEE: Java 语言的(企业版),用于 Web 方向的网站开发。Java语言主要应用在互联网程序的开发领域。常见的互联网程序比如天猫、京东、物流系统、网银系统等,以及服务器后台处理大数据的存储、查询、数据挖掘等也有很多应用。
要开发一个Java程序,我们得安装JDK。JDK:(JavaDevelopment Kit):Java开发工具包,也就是说必须要有JDK才能开发Java程序。我们得先安装了JDK,然后才能进行Java程序的开发。了解了JDK是什么之后,我们再来对JDK的版本做一个说明:
这么多的版本,大家不用记,了解即可。知道三个版本就可以了,这里我们标红了:JDK8,JDK11,JDK17。JDK8是企业用的最多的版本,JDK11和JDK17是后续长期支持更新的版本。
JAVA语言的主要特点
- Java语言是强制面向对象的。Java语言提供类、接口和继承等原语,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为implements)。
- Java语言是健壮的。Java的强类型机制、异常处理、垃圾的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。
- 跨平台:任何软件的运行,都必须要运行在操作系统之上,而我们用Java编写的软件可以运行在任何的操作系统上,这个特性称为Java语言的跨平台特性。该特性是由JVM实现的,我们编写的程序运行在JVM上,而JVM运行在操作系统上。
Java语言中的相关名词
- JVM(Java Virtual Machine ):Java虚拟机,简称JVM,是运行所有Java程序的假想计算机,是Java程序的运行环境,是Java 最具吸引力的特性之一。我们编写的Java代码,都运行在 JVM 之上。Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”。
- JRE (Java Runtime Environment) :是Java程序的运行时环境,包含 JVM 和运行时所需要的 核心类库 。我们想要运行一个已有的Java程序,那么只需安装 JRE 即可。
- JDK (Java Development Kit):是Java程序开发工具包,包含 JRE 和开发人员使用的工具。我们想要开发一个全新的Java程序,那么必须安装 JDK 。
总结:我们只需安装JDK即可,它包含了java的运行环境和虚拟机。三者关系: JDK > JRE > JVM,如下图所示
Java语言跨平台原理
Java程序并非是直接运行的,Java编译器将Java源程序编译成与平台无关的字节码文件(class文件),然后由Java虚拟机(JVM)对字节码文件解释执行。所以在不同的操作系统下,只需安装不同的Java虚拟机即可实现java程序的跨平台。 如图所示,Java的虚拟机本身不具备跨平台功能的,每个操作系统下都有不同版本的虚拟机。
开发环境搭建- 第一步:JDK下载,通过官方网站获取JDK http://www.oracle.com。具体下载步骤请参见百度。针对不同的操作系统,需要下载对应版本的JDK。
- 第二步:安装,下一步即可。但默认的安装路径是在C:Program Files下,为方便统一管理建议修改安装路径,将与开发相关的软件都安装到一个目录下,例如:D:develop。或者 E:develop。安装路径不要包含中文或者空格等特殊字符(使用纯英文目录)。
JDK的安装目录介绍如下图所示:
- 第三步:JAVA_HOME环境变量的配置。为了开发方便,我们想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义在于告诉操作系统,我们使用的JDK开发工具在哪个目录下。具体步骤请参见百度
- 第四部:验证环境变量的配置是否配置成功。进入DOS操作界面,输入java -version后回车,下面会显示已安装的JDK版本信息则代表安装成功。
键盘常用键位图
常用DOS命令
Java语言的初学者,学习一些DOS命令,会非常有帮助。DOS是一个早期的操作系统,现在已经被Windows系统取代,对于我们开发人员,目前需要在DOS中完成一些事情,因此就需要掌握一些必要的命令。如何进入DOS操作窗口 :按下Windows+R键盘,打开运行窗口,输入cmd回车,进入到DOS的操作窗口。
打开DOS命令行后,看到一个路径 c:user 就表示我们现在操作的磁盘是c盘。常用命令 如下图所示:
Java 的加载与执行 在编写第一个 Java 程序之前,我们应当对 Java 的加载与执行提前有一个简单的了解,请看下图:通过上图,我们可以看到 Java 程序从开发到最终运行是这样进行的:
- 第一步(写代码):在任意位置创建一个.java 结尾的文件,程序员在该文件中编写符合 Java语法的源代码,这个文件被称为Java 源文件。
- 第二步(编译):使用“javac”命令对 java 源文件进行编译,如果 Java 源文件符合 Java语法规则,则编译生成 1 个或者多个以“.class”结尾的文件。“.class”结尾的文件我们称之为字节码文件,注意字节码文件不是普通文本文件,使用记事本等文本编辑器是无法打开的,但该文件内容也不是二进制,如果是二进制形式的话,操作系统是可以直接执行的,这个文件的内容我们称之为字节码。注意:这里有一个“类名”的概念,假设生成的文件是 A.class,则表示类名为 A,B.class 则表示类名为 B。
- 第三步(运行):使用“java”命令运行已编译的 Java 程序,假设编译之后的字节码文件是 A.class,则在 dos 命令窗口中执行 java A命令,这个时候 Java 虚拟机(JVM)就启动了,Java 虚拟机通过“类装载器 ClassLoader”从硬盘中找到 A.class 文件并装载,字节码文件被装 载到 Java 虚拟机之后,Java 虚拟机解释器对字节码进行解释,最终解释为二进制码,然后操 作系统通过执行二进制指令来和硬件平台完成交互。
- Java 程序从开发到运行包括编译和运行两个阶段,这两个阶段可以在不同的操作系统中完成,例如在 windows 环境下进行编译,在 Linux 环境下运行,这是因为有 JVM 机制的存在,做到了一次编译到处运行(跨平台/可移植)。
- 编译阶段需要使用 javac.exe命令,运行阶段需要使用 java.exe命令。
- 一个 Java 源文件可能会编译生成多个 class 文件。
- Java 源文件中的源代码如果不符合 Java 的语法机制则编译时编译器会提示错误信息, 并且无法生成 class 文件。反之则生成 class 文件,而 class 文件才是最终要执行的程序,此时将 Java 源文件删除是不会影响 Java 程序运行的。
- 若生成的字节码文件名为 A.class,那么我们称 A为一个类的名字
- 当编译阶段完成之后,我们可以使用 JRE 中的 java.exe 命令运行程序,例如执行命令 “java A”,该命令执行后会启动类加载器,类加载器去硬盘上搜索 A.class 文件,找到该字节 码文件之后,将其加载到 JVM 当中,JVM 中的解释器会将 A.class 字节码文件解释为操作系 统可以执行的二进制码,然后操作系统通过执行二进制码和硬件平台交互。
- 运行 Java 程序的前提是当前操作系统上已经安装了对应版本的 JVM(JVM 不是单独 安装的,安装 JRE 即可,不同的操作系统需要安装不同版本的 JRE,不同版本的 JRE 对应不 同版本的 JVM)。
具体如下图所示:
1:编写Java源程序
在我们指定的目录下新建文本文件,完整的文件名修改为 HelloWorld.java ,其中文件名为 HelloWorld ,后缀名必须为 .java 。 在文件中键入文本并保存,代码如下:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
第一个 HelloWord 源程序就编写完成了,Java源程序是程序员编写的,程序员自己可以看得懂得程序。本质就是一个文本文件,但是扩展名不是.txt,而是.java。JVM是看不懂的,也就不能运行,因此我们必须将编写好的 Java源文件编译成JVM可以看懂的 字节码文件 。
2:编译Java源文件
JVM只能识别0和1,而存储0和1的文件叫做字节码文件(.class文件)。 如何把源文件(程序)翻译成JVM能够执行的字节码文件(程序)呢?在DOS命令行中,进入Java源文件的目录,使用 javac 命令进行编译。
编译成功后,命令行没有任何提示。打开 源文件目录,发现产生了一个新的文件 HelloWorld.class ,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。
3:运行Java程序
不管是源文件(程序)还是字节码文件(程序)都存储在硬盘中 ?不会自动执行,如何把字节码文件交给JVM执行呢 ?我们在DOS命令行中,进入Java源文件的目录,使用 java 命令进行运行。
当我们看见DOS的操作窗口打印出Hello World!,就代表我们第一个Java程序成功了。
HelloWorld案例详解
在电脑系统或程序中,隐藏着的一些未被发现的缺陷或问题统称为bug(漏洞)。出现了bug:我们要多看,多思考,多查资料,多尝试,多总结。HelloWorld案例常见问题如下所示:
注释注释:就是对代码的解释和说明。其目的是让人们能够更加轻松地了解代码。为代码添加注释,是十分必须要的,它不影响程序的编译和运行。对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。Java中的注释分为下面几种:
单行注释:格式是使用//,从//开始至本行结尾的文字将作为注释文字。
多行注释 :多行注释的格式是使用将一段较长的注释括起来。多行注释里面不允许有多行注释嵌套。
文档注释:文档注释以结束。注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。
下面我们就来对入门案例进行注释
//定义一个类,类的名字叫做HelloWorld
public class HelloWorld {
public static void main(String[] args){
System.out.println("zhushi....");
}
}
常量
直接写出来的人可以理解的数据,在java中叫做字面量 。字面量也就是常量。Java程序中固定不变的数据就是常量。也就是说在程序的执行过程中,其值不可以发生改变的量。
代码演示:打印不同类型的常量
public class Demo02Constant {
public static void main(String[] args) {
// 输出整数常量: 100 200
System.out.println(100);
System.out.println(200);
// 输出小数常量: 5.5 7.7
System.out.println(5.5);
System.out.println(7.7);
// 输出 字符常量: a
System.out.println('a');
// 输出字符串常量
System.out.println("a");
//输出布尔常量
System.out.println(true);
System.out.println(false);
// 空常量
//System.out.println(null);错误: 不能直接打印空常量null
}
}
注意事项:
- 字符常量:必须使用单引号''引起来,而且单引号''中只能写一个字符(不能不写,也不能写2个以上)
- 字符串常量:必须使用双引号""引起来,而且单引号""中可以写任意多个字符(0个,1个,2个....)



