Java 02 – 配置Java环境 编写第一个Java程序

Java 02 – 配置Java环境 编写第一个Java程序

1 下载JDK并配置环境变量

1.1 下载安装包

官方下载网址: http://www.oracle.com/technetwork/java/javase/downloads;

(1) 点击Accept License Agreement, 接受JDK的许可证协议, 再根据自己的操作系统、系统位数(x86是32位, x86-64是64位)选择合适的JDK, 点击进行下载;

(2) 下载后, Windows系统版的JDK, 点击.exe文件即可进行安装, 一直下一步即可; 若是Linux系统, 下载后直接解压, 然后统一进行下一步配置.

现在普遍使用JDK 1.8.x版本进行开发, 建议安装1.8.x版本.

要求: 安装路径中不要有中文或者特殊符号(如空格、*等), 否则可能出现一系列不好解决的问题.

1.2 配置环境变量

为什么要配置环境变量?

程序的编译和执行需要用到 javacjava 命令, 还可能需要用到其他命令, 系统将在 bin目录下查找相关程序;

实际开发中, 不可能把程序都写到 bin 目录下, 所以需要让 javacjava等命令在任意目录下都能访问到.

1.2.1 配置JAVA_HOME

(1) Windows系统的配置过程:

鼠标右键点击 [我的电脑] –> [属性] –> [高级系统设置] –> [环境变量]:

1) 新创建一个环境变量, 名为JAVA_HOME, 变量值为JDK所在目录;

2) 在path中通过%%动态获取JAVA_HOME的值 —— %JAVA_HOME%. 例如:

JAVA_HOME=F:\jdk1.8.0_162 —— (JDK所在目录)

path=%JAVA_HOME%\bin;%path% —— (不能覆盖掉原先的path变量值)

(2) Linux系统的配置过程:

1) 编辑配置文件, 加入环境变量:

# 输入如下命令, 再敲回车键, 编辑文件: 
vim /etc/profile

# 按字母'i'开启插入模式, 然后在文件最后面加入如下内容: 
export JAVA_HOME=/usr/share/jdk1.8.0_162  # 这里是你的JDK解压后的绝对路径 
export PATH=$JAVA_HOME/bin:$PATH 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

# 按 ESC, 然后按 :wq , 意为保存并退出

2) 加载配置文件:

# 重新加载配置文件, 使其立即生效: 
source /etc/profile

1.2.2 检测环境变量

(1) Windows系统下的测试方法:

打开DOS命令行 ( [开始] –> [所有程序] –> [附件] –> [命令提示符] ), 任意目录下敲入javac, 回车后, 若发现提示: ‘javac’不是内部或外部命令, 也不是可运行的程序或批处理文件., 说明环境变量配置未成功.

错误原因:

当前执行的程序如果不在当前目录下, Windows内部会在系统中已有的一个名为path的环境变量指定的所有目录中查找当前程序, 如果未能找到, 就会出现上述错误提示.

(2) Linux系统下的测试方法:

打开终端, 输入命令 java -version, 查看当前安装的Java版本, 如果不报错, 说明环境变量配置正确.

1.2.3 扩展 – 配置临时环境变量

(1) Windows系统下临时环境变量的配置方式: 通过DOS中 set 命令完成:

set — 用于查看本机的所有环境变量的信息;

set 变量名 — 查看具体一个环境变量的值;

set 变量名= — 清空一个环境变量的值;

set 变量名=具体值 — 给指定变量定义具体值.

(2) 如何在原有环境变量值的基础上添加新值?

首先通过 %变量名% 操作符获取到原有环境变量的值;

然后添加新值后, 再将新值赋给该变量即可. 例如, 为path环境变量加入新值:

set path=新值;%path%

注意: 这种配置方式只在当前DOS窗口有效, 窗口关闭配置就会失效.

1.2.4 扩展 – 配置classpath

实际开发中, 可能会频繁地执行多个class文件, 这些class文件可能存储在不同的目录下, 若不做配置, 就需要频繁地在DOS窗口中切换class文件目录, 非常麻烦.

根据path环境变量的原理, 可以定义一个名为classpath环境变量, 将要运行的class文件所在目录定义在该变量中. 如: set classpath=c:\

classpath环境变量的作用类似于path环境变量, 但它的作用在于告诉JVM去哪里找到class文件.

1.2.5 环境变量path和classpath的作用

(1) path变量是Windows程序(可执行)文件的搜索路径, 即扩展名为.exe的程序文件所在的目录, 用于指定DOS窗口命令的路径.

(2) classpath变量是class文件(Java类文件)所在的目录, 用于指定类搜索路径, JVM就是通过它来寻找该类的class类文件的.

Windows系统下的JDK环境变量配置示例:

003-Windows系统下的JDK环境变量

1.3 JVM如何查找类文件

如果没有配置classpath环境变量, JVM只在当前工作目录下查找要运行的类文件;

如果配置了classpath环境, JVM会先在classpath环境变量值的目录中查找要运行的类文件;

情形一: classpath值的结尾处有 ; —— JVM在classpath目录下没有找到指定的类文件, 就会在当前目录下再查找一次;

情形二: classpath值的结尾处没有 ; —— JVM在classpath目录下没有找到指定的类文件, 不会在当前目录下查找, 即使当前目录下有,也不会运行.

默认加 ., 表示当前目录.

2 编写我的第一个Java程序 – HelloWorld

2.1 编写步骤

2.1.1 定义一个类

/**
 * 定义一个名为HelloWorld的类, 在类定义后加一对大括号
 */
public class 类名 {
    // 在大括号里面添加一个主(main)方法/函数: 
    public static void main(String [] args){
        // 在主方法的大括号内添加一行输出语句: 
        System.out.println("Hello World!");
    }
}

2.1.2 示例代码

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello World!");
    }
}

2.2 运行代码

在命令行模式中, 输入 javac 命令对源代码进行编译,生成字节码文件:

javac HelloWorld.java

编译完成后, 如果没有报错信息, 输入 java 命令对class字节码文件进行解释运行:

# 注意, 在类名后面不写.class
java HelloWorld

2.3 程序运行时的常见问题

(1) 错误: 找不到xxx.java文件.

原因: 文件扩展名隐藏导致编译失败; 路径错误或者文件名错误.

(2) 错误: 找不到或无法加载主类.

原因: jvm没有找到要运行的类, 一般是类名写错, 请检查大小写以及单词的拼写.

(3) 错误: 在类 Demo中找不到主方法, 请将主方法定义为:xxx.

原因: 类中没有定义主方法. 或者主方法写错.

(4) 错误: 非法字符: xxx.

原因: 代码中出现了中文字符.

2.4 代码执行流程

HelloWorld的执行流程

3 代码注释

上面写代码的时候, 用文字说明了每个步骤的作用, 这些文字就是注释.

3.1 注释概述

3.1.1 什么是注释

注释是用于解释说明程序的文字, 程序编译、运行时不会被解析.

3.1.2 注释的作用

a. 解释说明程序, 提高代码的可读性;

b. 帮助开发人员调试错误.

3.2 Java中的注释

(1) 单行注释:

// 这是单行注释

(2) 多行注释:

/* 
 这是多行注释
*/

(3) 文档注释 —— 这是Java特有的:

JDK的 javadoc 工具能够提取解析Java源文件中的文档注释及代码, 并将这些内容形成一个HTML文档 —— 对程序进行说明(生成一套以网页文件形式体现的该程序的说明文档).

/** 
 * 这是文档注释
 * @author  作者是马瘦风
 * @version 版本是 v 0.1
 */

3.3 注释示例代码

/**
 * 这是我的第一个Java程序-HelloWorld
 * 
 * @author Heal Chow
 * @date 2019/02/21 23:38
 */
public class HelloWorld {
    /*
     * 这是main方法, 是程序的入口方法, 所有代码的执行都是从main方法开始的
     */
    public static void main(String[] args) {
        // 这是输出语句
        System.out.println("Hello World!");
    }
}

说明: 示例代码可在 我的GitHub上 查看并下载.

(全文完)

瘦风的南
微信关注《瘦风的南墙》 在移动端阅读文章

(感谢阅读, 转载请注明作者和出处 瘦风的南墙 , 请勿用于任何商业用途)

——=== 访问 本站404页面 寻找遗失儿童 ===——

发表评论

你的个人信息不会被公开, 注意:标记为 * 的项必填。