JDK安装以及HelloWorld案例命令行编译运行-Java入门-黑马程序员2022年新视频DAY1笔记

Posted 做一个耐心努力的普通人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JDK安装以及HelloWorld案例命令行编译运行-Java入门-黑马程序员2022年新视频DAY1笔记相关的知识,希望对你有一定的参考价值。

JDK(Java SE Development Kit)

1.JDK的安装:JDK的官方安装地址:www.oracle.com

  • 进入官网,在菜单栏PRODUCT中找到JAVA
  • 点击JAVA,进入新界面后点击右上角download JAVA
  • Java download中有比较新版的JDK,选择所需版本对应操作系统的安装即可
  • 若要下载之前的JDK版本,点击Java archive,在Java SE downloads选择对应的JDK版本,点击进去选择对应操作系统的下载即可

2.JDK下的目录说明

  • bin:该路径下存放了各种工具命令,其中比较重要的有Javac和Java
  • conf:该路径下存放了相关配置文件
  • include:该路径下存放了一些平台特定的头文件
  • jmods:该路径下存放了各个模块
  • legal:该路径下存放了各模块的授权文档
  • lib:该路径下存放了工具的一些补充JAR包

HelloWorld案例编写

1.步骤有三步:

  • 编写程序
  • 编译文件
  • 运行程序

2.编译:操作系统并不认识Java代码,换到其他语言也是一样的,因此第一步就需要翻译代码为操作系统看得懂能操作的东西,这个过程就叫做编译。在这个案例中,需要使用javac(javac是JDK提供的编译工具)进行编译,首先进入java文件所在的目录,再使用命令javac java文件名(包括后缀),如javac HelloWorld.java。

这个时候就会生成HelloWorld.class,继续使用命令java HelloWorld(注意!此处没有后缀,可以记为有c有后缀,没有c就没有后缀)运行HelloWorld.class文件,但是命令中没有后缀。

JDK和代码往往不在同一目录下,为什么能在当前目录下直接使用javac和java命令?这是因为在下载Java在下载的时候已经帮我们配置好了环境变量。

在这个过程中,我发现了新问题,因为最初我因为贪图方便,命名文件的时候使用了全部小写的helloworld.java,但是在命名类的时候仍然是HelloWorld,如下图:

在编译的时候,我使用了javac helloworld.java,却报错:

类HelloWorld是公共的, 应在名为 HelloWorld.java 的文件中声明
public class HelloWorld

当我使用javac HelloWorld.java时却能正常编译出HelloWorld.class类名,于是我有点疑惑,是否在编译的时候使用javac 类名.java就能正常编译,我将类名HelloWorld改名为了abc,使用          javac abc.java,报错提醒是不存在abc.java这个文件,我就产生了疑问:java中类名一定要和java文件名一致吗? 

查阅了资料后发现一个回答是比较靠谱的:首先java中类名不一定要和java文件名一致,是否一致需要分情况,其次java中可以有多个类,但是最多只有一个类的类名和文件名相同,如果一个类被public修饰,那该类的类名必须和文件名相同,并且一个java文件中最多只有一个类被public修饰 最后补充一点:主方法所在类的类名一定要与文件名一致 演示: 1、java中可以有多个类: 2、java中可以有多个类,但是最多只有一个类的类名。

大概意思就是公共类(public修饰的类)的名称一定需要与文件名相同(若只有一个类时,类名也必须和文件名相同),否则就会出现编译出错的问题,但是我的原始问题还是没有得到解答,希望看到文章的大佬们可以帮我解答一下。我的理解就是公共类的名称一定需要与文件名相同,但是大小写可以不同,这种情况编译的时候只能写公共类的名称.java。

以上是关于JDK安装以及HelloWorld案例命令行编译运行-Java入门-黑马程序员2022年新视频DAY1笔记的主要内容,如果未能解决你的问题,请参考以下文章

java的源程序怎么进行编译

学android:直接用jdk来helloworld

Java基础语法

精通Linux系列Linux下常用安装服务软件源码编译安装方式与实战部署JDK环境

精通Linux系列Linux下常用安装服务软件源码编译安装方式与实战部署JDK环境

网络yum源 自定义yum仓库 zip备份 编译安装