Java程序设计(Java9版):第1章 Java开发环境配置 (Set up Java development environment)

第1章Java开发环境配置(Set up Java development environment)

工欲善其事,必先利其器。 — 《论语·卫灵公》 Write once, run anywhere. — SUN

学习要求: 掌握Windows平台下JDK安装与配置 了解Linux平台下JDK安装与配置 掌握Java环境测试 掌握第一个Java程序 掌握编译和执行命令 了解跨平台操作问题 了解集成开发环境

Java开发环境配置是学习Java的基本功!下面将分别以Windows平台和Linux平台介绍Java开发环境的配置。然后演示第一个Java程序的编辑、编译和执行过程。

1.1 Windows平台环境配置(Setup your Java Development Environment in Windows)

Windows操作系统仍然是当今世界最为流行的PC机操作系统。2014年4月微软公司停止对Window XP 操作系统的服务支持,Oracle的Java 8也停止了对Window XP的支持。国内仍然有一些机器运行着Window XP系统,如果在Window XP环境上安装JDK 8将出现“无法找到入口”的错误,如图1.1所示。如果您让需要在Window XP环境下开发Java程序,请安装JDK 7即可。

现在国内大多数PC机已经转向Window 7和Window 10。本节将详细讲解在Window 7和Window 10操作系统下的Java开发环境配置。

1.1.1下载Java开发包JDK

JDK(Java Developer’s Kit)是Java开发工具包,是针对Java开发员的产品,用于开发Java程序。JDK 包括了Java运行环境JRE、Java工具和Java基础类库,学会安装JDK是学好Java的第一步。JDK是免费的,读者朋友放心下载,无需破解。

(1)Oracle官网 通过连接http://www.oracle.com/technetwork/java/javase/downloads/index.html进入Oracle官网JDK下载页面,如图1.2所示。单击第1个Java图标,进入下一步。

图1.2 Oracle官网下载页面

(2)接受协议 单击“Accept License Agreement”前的单选按钮,接受协议。然后选择对应操作系统版本的JDK,此处选择Windows版本,如图1.3所示。此外,读者朋友可以看到其他平台下的JDK版本,比如Linux平台、Mac OS平台等。

图1.3 选择JDK版本

1.1.2 安装JDK

(1)运行安装文件 下载后得到“jdk-8u1-windows-i586.exe”文件。双击该可执行文件,将出现安装向导界面,如图1.4所示,单击“下一步”按钮。 (2)选择JDK安装目录 如图1.5所示,可以选择安装路径。由于Java平台是系统程序,建议直接单击“下一步”按钮即可,默认安装到C:\Program Files\Java目录下面。请记住JDK的安装目录。

(3)安装JRE 如图1.6所示,单击“下一步”安装JRE。在第0章已经介绍,JRE是Java的运行环境,JRE面向Java程序的使用者,而JDK是面向Java程序的开发者。JDK中已经包含了一个JRE,为什么还要再安装一个JRE呢?因为有些用Java开发的软件的运行需要JRE,比如集成开发工具Eclipse就需要单独的JRE。JRE是运行Java应用程序所必须环境的集合,包括JVM、核心类以及支持文件,但是不包含开发工具(比如编译器和解释器等)。 (4)安装完成 如图1.7所示,安装完成,单击关闭按钮即可。

1.1.3 JDK目录结构

安装完成后,JDK默认到目录C:\Program Files\Java\下,此目录下读者可以发现一个一个jdk目录和一个jre目录,如图1.8所示。

图1.8 JDK和JRE

打开jdk目录,如图1.9所示。

图1.9 JDK目录结构

JDK9的目录与之前JDK8发生了一些变化。 bin目录:bin是二进制binary缩写,表示编译后的二进制可执行文件;JDK的bin目录下可以看到“java.exe”和“javac.exe”两个文件,这就是Java的解释器和编译器命令。 lib目录:lib是library的缩写,表示库文件;JDK的lib目录存放Java开发时所需要的类库和支持文件; include目录:包含C语言头文件,用与支持Java本地接口和Java虚拟机调试程序接口的本地代码编程。

1.1.4 环境变量配置

(1)高级系统设置 在桌面上右键单击“计算机”(Windows10桌面上是“此电脑”),选择“属性”菜单,弹出“系统”窗口,如图1.10所示。然后单击“高级系统设置”选项,将弹出“系统属性”对话框。

图1.10 高级系统设置

(2)系统环境变量 如图1.11所示,在“系统属性”对话框中,选中“高级”Tab页,然后单击“环境变量(N)..”,弹出“环境变量”对话框,如图1.12所示。

(3)编辑环境变量 在图1.12中“环境变量”窗口中的“系统变量”中找到Path变量;然后双击“Path”变量弹出编辑窗口,如图1.13所示。在Path的变量值最后面添加分号,与前面的路径值分开;这时只需要将JDK的bin目录的路径(编者的路径是C:\Program Files\Java\jdk-9.0.1\bin,直接复制路径值,以免出错)值粘贴到分号后面即可。

图1.13 编辑Path变量

提示 设置path变量时,不要删除path变量原有的变量值,否则会破坏系统环境变量的值。在添加JDK的bin路径时,先输入分号与其他值分割,请注意输入的是英文下的分号,不要输入冒号。因为字符很小,分号和逗号很难区分。此外,在Administrator的用户变量中也可以设置Path变量,不过只针对Administrator用户有效。建议读者朋友们设置系统变量中的Path变量值,这样对所有的用户都起作用。

(4)确定 连续单击3次“确定”按钮,关闭上面所有对话框。设置Path变量的作用是让Windows可以找到Java的常用命令。

提示 由于历史原因,在Windows平台下,对于Java 5以前的JDK版本需要设置classpath环境变量,但从Java 5开始已经对JDK做了优化,不再不需要设置classpath环境变量,只需要设置path环境变量即可。可是今天仍然有大量Java书籍和网络资料还在讲解设置classpath。请读者朋友们务必注意,不需多此一举,可能带来不必要的麻烦。如果没有正确设置classpath环境变量,将导致我们的Java程序不能执行。

1.1.5 Java环境测试

(1)打开“运行”窗口 注意:如果命令行窗口已经打开,请先关闭。 单击计算机桌面左下角的“开始”菜单中选择“运行”,弹出如图1.14的窗口。或者通过快捷键Win+R直接开打“运行”窗口。

图1.14 运行窗口

(2)打开命令行窗口 在运行窗口中,输入cmd(命令command的简写),回车即可进入命令行窗口,如图1.15所示。命令行是系统附带的DOS程序,可以执行常用的DOS命令。

图1.15 命令行窗口

(3)测试编译器命令 输入“javac”命令,将出现如图1.16所示的界面,说明javac编译源文件命令(bin目录下的javac.exe)正常使用,即是Path环境变量配置成功。

图1.16 测试javac命令

(4)测试Java解释器命令 在命令行中输入“java”,出现如图1.17所示的界面,说明java解释器命令(bin目录下的java.exe)正常。

图1.17 测试java命令

(5)查看JDK版本 最后测试查看Java版本的命令“java -version”,将出现图1.18所示的界面。

图1.18 查看JDK版本

通过上面步骤,Java环境测试成功,Windows下Java环境搭建成功。

1.1.6安装代码编辑器

编写Java程序,需要代码编辑器,但是JDK没有提供。我们可以直接使用Windows自带的“记事本”,然而记事本功能简单,不适合编辑代码。推荐大家使用Notepad++,它具有显示行号、突显关键字等特点,登录官网http://notepad-plus-plus.org/,单击“download”下载安装程序,然后双击安装即可。

1.2 Linux平台环境配置(Setup your Java Development Environment in Linux)

1.2.1 Linux简介

Linux是一类开放源代码和自由的类似Unix的操作系统,有众多发行版本。在服务器市场,Linux操作系统占有绝对的优势。Linux操作系统大致可以分为Redhat系列和Debian系列。Redhat系列中典型代表是RHEL(Redhat Enterprise Linux)和CentOS,稳定性方面的稳定性非常好,适合于服务器使用。Debian系列,典型的有Debian、Ubuntu和国产的Deepin等,其中Ubuntu和Deepin等系统提供了良好的桌面环境,更适合桌面PC机。 在IP行业中,Linux系统多用于服务器,而Linux桌面系统占有率较低(Windows桌面一家独大)。基于这样的事实,建议选择CentOS版本,用于服务器操作系统。

1.2.2 安装CentOS虚拟机

CentOS虚拟机安装内容已经超出本教程的范畴,请参照下面3篇博文,先安装VMware,再安装CentOS系统,可以选择安装XShell。 http://blog.csdn.net/chengyuqiang/article/details/71334057 http://blog.csdn.net/chengyuqiang/article/details/71335370 http://blog.csdn.net/chengyuqiang/article/details/71367668

1.2.3 JDK下载与安装

如果Linux系统上安装了桌面环境,可以通过浏览器直接下载JDK到Linux系统。如果Linux系统不方便下载软件,则可以先在Windows系统下载软件,然后上传到Linux服务器端。

(1)下载Linux版的JDK 如图1.19所示,选择Linux版本的JDK。为了演示Linux系统上JDK安装配置的一般性,这里下载tar.gz格式的JDK。也就是说,在其他Linux发行版系统,本节介绍的JDK安装与配置方法通用。

图1.19 选择Linux版的JDK

(2)上传到Linux服务器上 如果是在Windows端下载了JDK,则可以通过XShell中的Xftp工具将JDK软件包上传到Linux服务器端。 比如上传到Linux系统的/root目录后,通过ls命令查看。

[root@centos ~]# ls
anaconda-ks.cfg  jdk-9.0.1_linux-x64_bin.tar.gz
[root@centos ~]#

(3)解压缩 命令tar -zxvf xxx.tar.gz -C /dir表示xxx.tar.gz软件包解压缩到/dir目录,所以可以通过下面命令将jdk-9.0.1_linux-x64_bin.tar.gz软件包解压缩到/opt目录。

[root@centos ~]# tar -zxvf jdk-9.0.1_linux-x64_bin.tar.gz -C /opt

查看JDK软包目录

[root@centos ~]# ll /opt/jdk-9.0.1/
total 28
drwxr-xr-x   2 root root 4096 Nov  5 06:51 bin
drwxr-xr-x   4 root root  112 Nov  5 06:51 conf
drwxr-xr-x   3 root root  161 Nov  5 06:51 include
drwxr-xr-x   2 root root 4096 Nov  5 06:51 jmods
drwxr-xr-x 101 root root 4096 Nov  5 06:51 legal
drwxr-xr-x  12 root root 4096 Nov  5 06:51 lib
-r--r--r--   1  668  668  158 Sep 27 23:51 README.html
-rw-r--r--   1  668  668 1978 Sep 27 23:51 release
[root@centos ~]# 

可见JDK根目录是/opt/jdk-9.0.1,下面进行环境变量配置时会用到该目录。

1.2.4 环境变量配置

编辑/etc/profile.d/custom.sh文件,

[root@centos ~]# vi /etc/profile.d/custom.sh

输入如下内容:

export JAVA_HOME=/opt/jdk-9.0.1
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib

通过source命令,使/etc/profile.d/custom.sh文件生效。

[root@centos ~]# source /etc/profile.d/custom.sh

提示 对于CentOS6版本的系统,可以直接在/etc/profile文件中设置Java环境变量。对于CentOS7系统,建议新建/etc/profile.d/custom.sh文件进行Java环境变量设置。

1.2.5 环境测试

(1)测试javac

[root@centos ~]# javac
Usage: javac <options> <source files>
where possible options include:
  @<filename>                  Read options and filenames from file
  -Akey[=value]                Options to pass to annotation processors
  --add-modules <module>(,<module>)*
        Root modules to resolve in addition to the initial modules, or all modules
        on the module path if <module> is ALL-MODULE-PATH.
  --boot-class-path <path>, -bootclasspath <path>
        Override location of bootstrap class files
  --class-path <path>, -classpath <path>, -cp <path>
        Specify where to find user class files and annotation processors
  -d <directory>               Specify where to place generated class files
  -deprecation
...
...

(2)测试java

[root@centos ~]# java
Usage: java [options] <mainclass> [args...]
           (to execute a class)
   or  java [options] -jar <jarfile> [args...]
           (to execute a jar file)
   or  java [options] -m <module>[/<mainclass>] [args...]
       java [options] --module <module>[/<mainclass>] [args...]
           (to execute the main class in a module)
...
...

(3)查看JDK版本信息

[root@centos ~]# java -version
java version "9.0.1"
Java(TM) SE Runtime Environment (build 9.0.1+11)
Java HotSpot(TM) 64-Bit Server VM (build 9.0.1+11, mixed mode)
[root@centos ~]#

1.3 HelloWorld

按照国际惯例,学习一门语言的第一个程序应该是在控制台输出“Hello,World!”,也就是大名鼎鼎的HelloWorld程序。本教材同样以这个经典的国际惯例作为Java语言的第一个程序。

1.3.1 新建文本文件

不失一般性,将每章的Java源程序存放在D盘下,比如本章代码存在ch1目录中。如图1.25所示,在ch1目录下右键单击新建一个文本文件。

1.3.2 修改文件扩展名

如果文件的扩展名没有显示,可以通过下面方法设置。 (1)单击文件夹的“工具”菜单下的“文件夹选项”来设置。

(2)在文件夹选项对话框中,单击“查看”分页,然后找到“隐藏已知文件类型的扩展名”选项,取消勾选即可。

1.3.3 重命名

重命名该文本文件为“HelloWorld.java”,确定修改文件扩展名。

1.3.4 编辑代码

右键单击“HelloWorld.java”文件,在弹出的快捷菜单中选择“Edit with Notepad++”(安装Notepad++后,右键菜单会添加“Edit with Notepad++”子菜单),即可编辑Java代码,如图1.28所示。

编辑代码如下:

/*
   定义类HelloWorld,class是关键字,类名是HelloWorld
*/
public class HelloWorld{
    //主方法,类似于C语言的主函数,Java程序的执行入口     
    public static void main(String[] args){
        //标准输出语句,类似于C语言的printf输出语句 
        System.out.println("Hello,world!");
    }
}

注意保存源代码。

1.3.5 编译执行

Java编译命令和解释执行命令格式如下: Java编译命令格式:javac 源文件名.java Java解释命令格式:java 字节码文件名

(1)打开命令行窗口 如图1.29所示,在命令行中输入输入“d:”进入D盘,然后再输入“cd ch1”即可进入ch1目录。cd是DOS操作系统命令,表示更改切换当前目录。

(2)编译源文件 然后,在命令行中输入“javac HelloWorld.java”编译HelloWorld.java源文件。

(3)字节码文件 在ch1目录下可以看到对应的“HelloWorld.clss”字节码文件,如图1.30所示。

(4)解释执行字节码文件 最后,在命令行中输入“java HelloWorld”执行字节码文件,运行结果如图1.29所示。注意使用java命令时,参数是字节码文件名,不能带上.class后缀名。

1.4 JShell

Java 9 中引入了交互式编程环境(REPL),这就是JShell,它允许可以执行 Java脚本代码,并且立即返回结果。因此,我们不需要创建什么一个解决方案或工程,就能很容易地编写代码并能很快的看到运行结果。我们不必等待整个项目 build 完去检查多行代码的执行结果。JShell,就像其他 REPL 一样,有利于探索式编程,我们很容易地进行交互式尝试和调试不同的算法和结构。

1.4.1 进入JShell

(1)Windows系统 直接在命令行中输入jshell,回车即可进入JShell环境。

(2)Linux系统 在终端中执行jshell命令。

1.4.2 执行Java代码

(1)Windows系统

其中String s="Hello,World"表示定义了一个字符串变量s,s值是"Hello,World" (2)Linux系统

(3)查看帮助 输入/help,回车查看帮助。 (1)Windows系统

(2)Linux系统

jshell> /help
|  Type a Java language expression, statement, or declaration.
|  Or type one of the following commands:
|  /list [<name or id>|-all|-start]
|   list the source you have typed
|  /edit <name or id>
|   edit a source entry referenced by name or id
|  /drop <name or id>
|   delete a source entry referenced by name or id
|  /save [-all|-history|-start] <file>
|   Save snippet source to a file.
|  /open <file>
|   open a file as source input
|  /vars [<name or id>|-all|-start]
|   list the declared variables and their values
|  /methods [<name or id>|-all|-start]
|   list the declared methods and their signatures
|  /types [<name or id>|-all|-start]
|   list the declared types
|  /imports 
|   list the imported items
|  /exit 
|   exit jshell
|  /env [-class-path <path>] [-module-path <path>] [-add-modules <modules>] .
|   view or change the evaluation context
|  /reset [-class-path <path>] [-module-path <path>] [-add-modules <modules>]
|   reset jshell
|  /reload [-restore] [-quiet] [-class-path <path>] [-module-path <path>]...
|   reset and replay relevant history -- current or previous (-restore)
|  /history 
|   history of what you have typed
|  /help [<command>|<subject>]
|   get information about jshell
|  /set editor|start|feedback|mode|prompt|truncation|format ...
|   set jshell configuration information
|  /? [<command>|<subject>]
|   get information about jshell
|  /! 
|   re-run last snippet
|  /<id> 
|   re-run snippet by id
|  /-<n> 
|   re-run n-th previous snippet
|  
|  For more information type '/help' followed by the name of a
|  command or a subject.
|  For example '/help /list' or '/help intro'.
|  
|  Subjects:
|  
|  intro
|   an introduction to the jshell tool
|  shortcuts
|   a description of keystrokes for snippet and command completion,
|   information access, and automatic code generation
|  context
|   the evaluation context options for /env /reload and /reset

jshell> 

(4)退出JShell 输入/exit,回车退出JShell环境。 (1)Windows系统

(2)Linux系统

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏名山丶深处

windows平台安装maven

1464
来自专栏前端架构

IntelliJ Idea创建新项目默认编码如何设置

每次创建新项目默认的编码都是GBK,总是需要进入设置中将图中的两个地方改为UTF-8.(这是因为我们的系统编码默认为GBK编码,当然也可以在dos里面把wind...

361
来自专栏北京马哥教育

教你Python环境如何搭建

本次将向大家介绍如何在本地搭建Python开发环境。 Python可应用于多平台包括 Linux 和 Mac OS X。 你可以通过终端窗口输入 "pytho...

3969
来自专栏北京马哥教育

ansible常用模块简单介绍

本篇介绍下常用的模块。根据官方的分类,将模块按功能分类为:云模块、命令模块、数据库模块、文件模块、资产模块、消息模块、监控模块、网络模块、通知模块、包管理模块、...

750
来自专栏Objective-C

X-code 统计代码行数

2618
来自专栏静下来

Linux CentOS常用命令记录

我自己很少参与服务器管理,所以偶尔用下,老是忘记一些常用的命令。 人老了,啥事都记不住,各种密码也是,经常靠找回密码登录一些网站。 一:解压压缩 我比较常用ta...

2678
来自专栏乐沙弥的世界

Apache httpd 2.4 访问控制

Apache访问控制可以由几个不同的模块完成。其中最重要的是mod_authz_core和mod_authz_host。Apache使用Require指令进行授...

622
来自专栏编程坑太多

自己总结的,苦心总结的linux命令

1264
来自专栏云计算教程系列

如何在Ubuntu上创建Sudo用户[快速入门]

该sudo命令提供了一种机制,用于向普通用户授予通常仅对root用户可用的管理员权限。本指南将向您展示在Ubuntu上创建具有sudo访问权限的新用户的最简单方...

540
来自专栏架构之路

Ubuntu下安装codeblocks步骤

前言 linux下安装codeblocks本来就是件困难的事情,因为通常情况下,需要安装的各种依赖安装不全会导致CB安装失败,然后在安装各种依赖的过程中又会产生...

3066

扫码关注云+社区