Java教程——(三)JDK的安装以及第一个Java程序

安装JDK

因为Java程序必须运行在JVM之上,所以,我们第一件事情就是安装JDK。

搜索JDK 13,确保从Oracle的官网下载最新的稳定版JDK:
在这里插入图片描述
找到Java SE 13.x的下载链接,下载安装即可。

设置环境变量

安装完JDK后,需要设置一个JAVA_HOME的环境变量,它指向JDK的安装目录。在Windows下,它是安装目录,类似:

C:\Program Files\Java\jdk-13

在这里插入图片描述
在Mac下,它在**~/.bash_profile**里,它是:

export JAVA_HOME=`/usr/libexec/java_home -v 13`

然后,把JAVA_HOME的bin目录附加到系统环境变量PATH上。在Windows下,它长这样:

Path=%JAVA_HOME%\bin;

在这里插入图片描述
在Mac下,它在~/.bash_profile里,长这样:

export PATH=$JAVA_HOME/bin:$PATH

JAVA_HOME的bin目录添加到PATH中是为了在任意文件夹下都可以运行java。打开命令提示符窗口,输入命令java -version,如果一切正常,你会看到如下输出:
在这里插入图片描述
如果你看到的版本号不是13,而是12、1.8之类,说明系统存在多个JDK,且默认JDK不是JDK 13,需要把JDK 13提到PATH前面。

如果你得到一个错误输出:
在这里插入图片描述
这是因为系统无法找到Java虚拟机的程序java.exe,需要检查JAVA_HOME和PATH的配置。

可以参考如何设置或更改PATH系统变量

JDK

同学们还可以在JAVA_HOME的bin目录下找到很多可执行文件:

java:这个可执行程序其实就是JVM,运行Java程序,就是启动JVM,然后让JVM执行指定的编译后的代码;

  • javac:这是Java的编译器,它用于把Java源码文件(以.java后缀结尾)编译为Java字节码文件(以.class后缀结尾);
  • jar:用于把一组.class文件打包成一个.jar文件,便于发布;
  • javadoc:用于从Java源码中自动提取注释并生成文档;
  • jdb:Java调试器,用于开发阶段的运行调试。
第一个Java程序

我们来编写第一个Java程序。

打开文本编辑器,输入以下代码:

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

在一个Java程序中,你总能找到一个类似:

public class Hello {
    ...
}

的定义,这个定义被称为class(类),这里的类名是Hello,大小写敏感,class用来定义一个类,public表示这个类是公开的,public、class都是Java的关键字,必须小写,Hello是类的名字,按照习惯,首字母H要大写。而花括号**{}**中间则是类的定义。

注意到类的定义中,我们定义了一个名为main的方法:

public static void main(String[] args) {
        ...
    }

方法是可执行的代码块,一个方法除了方法名main,还有用()括起来的方法参数,这里的main方法有一个参数,参数类型是String[],参数名是args,public、static用来修饰方法,这里表示它是一个公开的静态方法,void是方法的返回类型,而花括号{}中间的就是方法的代码。

方法的代码每一行用;结束,这里只有一行代码,就是:

System.out.println("Hello, world!");

它用来打印一个字符串到屏幕上。

Java规定,某个类定义的public static void main(String[] args)是Java程序的固定入口方法,因此,Java程序总是从main方法开始执行。

注意到Java源码的缩进不是必须的,但是用缩进后,格式好看,很容易看出代码块的开始和结束,缩进一般是4个空格或者一个tab。

最后,当我们把代码保存为文件时,文件名必须是Hello.java,而且文件名也要注意大小写,因为要和我们定义的类名Hello完全保持一致。

如何运行Java程序

Java源码本质上是一个文本文件,我们需要先用javacHello.java编译成字节码文件Hello.class,然后,用java命令执行这个字节码文件:
在这里插入图片描述
因此,可执行文件javac是编译器,而可执行文件java就是虚拟机。

第一步,在保存Hello.java的目录下执行命令javac Hello.java

$ javac Hello.java

如果源代码无误,上述命令不会有任何输出,而当前目录下会产生一个Hello.class文件:

$ ls
Hello.class	Hello.java

第二步,执行Hello.class,使用命令java Hello

$ java Hello
Hello, world!

注意:给虚拟机传递的参数Hello是我们定义的类名,虚拟机自动查找对应的class文件并执行。

有一些同学可能知道,直接运行java Hello.java也是可以的:

$ java Hello.java 
Hello, world!

这是Java 11新增的一个功能,它可以直接运行一个单文件源码!

需要注意的是,在实际项目中,单个不依赖第三方库的Java源码是非常罕见的,所以,绝大多数情况下,我们无法直接运行一个Java源码文件,原因是它需要依赖其他的库。

小结
  • 一个Java源码只能定义一个public类型的class,并且class名称和文件名要完全一致;
  • 使用javac可以将**.java源码编译成.class**字节码;
  • 使用java可以运行一个已编译的Java程序,参数是类名。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值