JavaSE - HelloWorld
今天开始做JavaSE的神。
1. Java概述
1.1 Java简介
Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。
Java - 百度百科
- Java 是一项用于开发应用程序的技术,可以让 Web 变得更有意思和更实用。 Java 与 javascript 并不相同,后者是一种用于创建 Web 页的简单技术,只能在浏览器中运行。
- 使用 Java 可以玩游戏、上载照片、联机聊天以及参与虚拟体验,并能够使用联机培训、网上银行和互动地图等服务。如果没有安装 Java,则许多应用程序和网站都无法工作。
Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的 Java 面向对象程序设计语言和 Java 平台的总称。由 James Gosling和同事们共同研发,并在 1995 年正式推出。
后来 Sun 公司被 Oracle(甲骨文)公司收购,Java 也随之成为 Oracle 公司的产品。
Java 分为三个体系:
- JavaSE(J2SE)(Java 2 Platform Standard Edition,java平台标准版);
- JavaEE(J2EE)(Java 2 Platform Enterprise Edition,java平台企业版);
- JavaME(J2ME)(Java 2 Platform Micro Edition,java平台微型版)。
2005 年 6 月,JavaOne 大会召开,SUN 公司公开 Java SE 6。此时,Java 的各种版本已经更名,以取消其中的数字 “2”:J2EE 更名为 Java EE,J2SE 更名为Java SE,J2ME 更名为 Java ME。
Java 简介 - Java教程/菜鸟教程
1.2 Java特性
-
Java 语言是简单的:
Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。
-
Java 语言是面向对象的:
Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为
implements
)。Java 语言全面支持动态绑定,而 C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯面向对象程序设计语言。 -
Java语言是分布式的:
Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括
URL
、URLConnection
、Socket
、ServerSocket
等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。 -
Java 语言是健壮的:
Java 的强类型机制、异常处理、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。
-
Java语言是安全的:
Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类
ClassLoader
),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager
)让 Java 应用设置安全哨兵。 -
Java 语言是体系结构中立的:
Java 程序(后缀为
java
的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为class
的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。 -
Java 语言是可移植的:
这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。
-
Java 语言是解释型的:
如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。
-
Java 是高性能的:
与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。
-
Java 语言是多线程的:
在 Java 语言中,线程是一种特殊的对象,它必须由
Thread
类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread
(Runnable
) 的构造子类将一个实现了Runnable
接口的对象包装成一个线程,其二,从Thread
类派生出子类并重写run
方法,使用该子类创建的对象即为线程。值得注意的是Thread
类已经实现了Runnable
接口,因此,任何一个线程均有它的run
方法,而run
方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java 语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized
)。 -
Java 语言是动态的:
Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
2. JDK的安装与配置
2.1 JDK与JRE简介
The JDK is a development environment for building applications and components using the Java programming language.
Java SE Development Kit 17 downloads - Java Downloads/Oracle
The Java Runtime Environment (JRE) is a set of software tools for development of Java applications. It combines the Java Virtual Machine (JVM), platform core classes and supporting libraries.
What Does Java Runtime Environment (JRE) Mean? - Java Runtime Environment (JRE)/techopedia
Java Development Kits(JDK)是SUN公司(已被Oracle收购)针对Java开发员的软件开发工具包 。自从Java推出以来,JDK已经成为使用最广泛的Java SDK(Software Development Kit)。
Java Runtime Environment(JRE)是SUN公司(已被Oracle收购)针对Java程序的运行时环境,内置Java虚拟机(Java Virtual Machine,JVM)以及一些标准的类库(Class Library)。
JDK安装包自带JRE,JRE安装包可以单独下载。Java开发人员必须使用JDK进行开发,而普通用户只需安装JRE便可在电脑上运行Java程序。
2.2 JDK下载
JDK8(Java 1.8)下载步骤:
- 访问 Oracle 官网的 Java SE 8 Archive Downloads 下载页面:
- 下拉找到“Java SE Development Kit 8u202”的Windows版本的下载超链接,点击链接下载(注意要下载对应架构的JDK安装包):
- jdk-8u202-windows-i586.exe 是适用于32位架构的Windows系统的JDK8安装包。
- jdk-8u202-windows-x64.exe 是适用于64位架构的Windows系统的JDK8安装包。
- 点击链接,同意相关协议后,会提示登入Oracle账户,没有Oracle账户的可创建一个使用,登入账户后自动开始下载:
2.3 JDK安装与配置
JDK安装步骤:
- 运行下载完成的JDK安装包:
- 点击“下一步”,可更改JDK的安装位置,不需更改点击“下一步”:
- 等待JDK安装完毕,会弹出JRE的安装界面:
- 点击“确定”,可更改JRE的安装位置,不需更改点击“下一步”:
- 等待JRE安装完毕,点击“关闭”,安装成功:
- (Windows10系统配置环境变量)同时按
Win + R
键呼出运行窗口,键入sysdm.cpl
并回车,打开系统属性界面:
- 依次点击“高级” -> “环境变量”,进入环境变量配置界面:
- (创建
JAVA_HOME
变量)在“系统变量”下方点击“新建”,变量名填入JAVA_HOME
,变量值填入JDK安装路径,比如C:\Program Files\Java\jdk1.8.0_202
。完成之后点击“确定”:
- (导入
Path
变量)选择“系统变量”的Path
变量,点击“编辑”,进入Path
变量编辑界面:
- (导入
Path
变量)点击“新建”,填入%JAVA_HOME%\bin
,再次点击“新建”,填入%JAVA_HOME%\jre\bin
,完成后点击“确定”(注意切勿修改或删除其他变量,否则计算机有可能会发生异常!):
- (创建
CLASSPATH
变量)回到环境变量设置界面,在“系统变量”下方点击新建,变量名填入CLASSPATH
,变量值填入.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
(注意变量值开头有个点),完成后点击“确定”:
- 点击“确定”,至此环境变量配置完毕,同时按
Win + R
键呼出运行窗口,键入cmd
并回车,打开命令行界面:
- 输入
java -version
命令并回车,查看安装的Java版本信息,如果显示的文本与下方大致相同,则JDK配置完毕,可以使用了:
3. 编写并运行第一个Java程序
打开记事本,键入以下内容:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World!");
}
}
完成后保存,修改文件名为HelloWorld.java
。使用资源管理器在该文件所在的位置输入cmd
并回车,打开命令行界面:
在命令行界面键入javac HelloWorld.java
命令,使用javac.exe
编译器将Java源码文件(*.java
)编译为Java字节码文件(*.class
):
编译完成后,在命令行界面键入java HelloWorld
命令,运行第一个Java程序:
4. 分析第一个Java程序
-
Java源码文件是后缀名为
.java
的文本文件,可以使用任何文本编辑器打开;Java字节码文件是后缀名为.class
的二进制流文件,可由Java虚拟机直接运行。 -
使用
javac.exe
编译器将Java源码文件转换成Java字节码文件的这一过程称为编译,使用java.exe
解释器运行Java字节码文件即可获得结果。 -
class
关键字表示这是一个类,被public
关键字修饰的类、方法或属性被称为公共类、方法或属性。公共类的类名必须和类所在的源码文件名相同。 -
main
方法为程序的入口方法,为固定写法,入口方法是程序运行的起点。