01_Java 开发环境搭建丶第一个Java程序

Posted wurengen

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了01_Java 开发环境搭建丶第一个Java程序相关的知识,希望对你有一定的参考价值。

计算机常识

在搭建Java开发环境之前我们必须,了解一下计算机常识,好让我们更好的去学习。

windows 系统的常用 DOS 命令

什么是DOS命令呢?

  • 在DOS命令窗口中才可以输入并执行DOS命令。在最初的windows计算机中没有图形界面的,只有DOS命令窗口。也就是说通过执行DOS命令窗口可以完全完成文件的新建、编辑、保存、删除等一系列操作。

为什么要学习DOS命令呢?

  • 初次学习 Java 编程最好不要一上来就使用集成开发环境 IDE,不利于代码的掌握,建议使用文本编辑器,甚至可以使用记事本编写。在这种情况下,我们就需要熟悉一些 dos 命令。

打开 DOS 命令窗口,使用快捷键:win + r,输入 cmd,回车。

技术图片

接下来我们来看几个常见的 dos 命令吧:

  • dir 命令:查看当前目录下所有的子文件或子目录。
  • cd 命令:切换路径,使用方法是:cd+目录路径,需要注意的是路径包括相对路径和绝对路径,对于 windows 来说从硬盘的根路径下开始的路径都是绝对路径,例如:C:Program Files,所有的相对路径都是从当前所在目录作为起点开始查找的路径
  • cd ..:切换到上级目录,cd 切换到根目录。
  • 切换盘符:直接输入 c:,或者 d:,然后回车即可。切换盘符不需要 cd 命令。
  • del 命令:删除文件或目录,例如:del *.class,删除当前目录下所有的.class 文件。支持模糊匹配,*代表所有的的文件。
  • ipconfig 命令:查看 IP 地址等信息,查看更详细的信息使用 ipconfig /all。
  • ping 命令:查看两台计算机是否可以正常通信,例如:ping 192.168.1.100,正常情况下发送数据包和接收数据包数量相同并且没有延迟的时候表示通信正常,ping 192.168.1.100 -t 表示一直发送数据包和接收数据包,ping www.baidu.com 可以查看电脑是否可以正常上网。
  • mkdir 命令:创建目录,例如:mkdir abc 表示在“当前目录”下新建 abc 目录。
  • cls 命令:清屏。
  • exit 命令:退出 DOS 命令窗口

计算机组成

计算机的硬件如下图所示

技术图片

冯·诺依曼体系结构是现代计算机的基础,现在大多计算机仍是冯·诺依曼计算机的组织结构,只是作了一些改进而已,并没有从根本上突破冯体系结构的束缚。冯·诺依曼 也因此被人们称为“计算机之父”。

                         技术图片

中央处理器(Central Processing Unit,CPU):计算机的大脑。它从内存中获取指令,然 后执行这些指令。 包括:

  • 控制单元:用于控制和协调其他组件的动作
  • 算术/逻辑单元:用于完成数值运算(+、-、*、/)和逻辑运算(比较)。

每台计算机都有一个内部时钟,该时钟以固定速度发射电子脉冲。时钟速度越快,在给 定的时间段内执行的指令就越多。速度的计量单位是赫兹(Hz),1Hz相当于每秒1个脉 冲。随着CPU速度不断提高,目前以千兆赫(GHz)来表述。最初一个CPU只有一个核(core)。核是处理器中实现指令读取和执行的部分。一个多核 CPU是一个具有两个或者更多独立核的组件。可提高CPU的处理能力。

存储设备:主要有以下三种:

  • 磁盘驱动器 :每台计算机至少有一个硬盘驱动器。硬盘(hard disk) 用于永久的保存数据和程序。
  • 光盘驱动器(CD和DVD) CD的容量可达700MB。 DVD的容量可达4.7GB。
  • USB闪存驱动器 :USB: Universal Serial Bus,通用串行总线。 可以使用USB将打印机、数码相机、鼠标、外部硬盘驱动器连接到计算机上。 USB闪存驱动器很小,可用于存储和传输数据的设备。

??????????????内存:

  • 计算机就是一系列的电路开关。每个开关存在两种状态:关(off)和开(on)。如果电路 是开的,它的值是1。如果电路是关的,它的值是0。
  • 一个0或者一个1存储为一个比特(bit),是计算机中最小的存储单位。
  • 计算机中是最基本的存储单元是字节(byte) 。每个字节由8个比特构成。

计算机的存储能力是以字节和多字节来衡量的。如下:

  • 千字节(kilobyte,KB) = 1024B
  • 兆字节(megabyte,MB) = 1024KB
  • 千兆字节(gigabyte,GB) = 1024MB
  • 万亿字节(terabyte,TB) = 1024GB

内存(也叫 Random-Access Memory,RAM):由一个有序的 字节序列组成,用于存储程序及程序需要的数据。

  • 一个程序和它的数据在被CPU执行前必须移到计算机的内存 中。
  • 每个字节都有一个唯一的地址。见右图。使用这个地址确定 字节的位置,以便于存储和获取数据。
  • 一个计算机具有的RAM越多,它的运行速度越快,但是此 规律是有限制的。
  • 内存与CPU一样,也构建在表面嵌有数百万晶体管的硅半导 体芯片上。但内存芯片更简单、更低速、更便宜。 ???????

文件在电脑中都先从硬盘中加载到内存中,然后由CPU去内存中去读取,如下图所示

     技术图片

  • 实测发现:内存存取数据的速度比硬盘的存取速度快10倍,在某些环境里,硬盘和内存之 间的速度差距可能会更大。而CPU的速度比内存不知还要快多少倍。当我们把程序从硬盘 放到内存以后,CPU就直接在内存运行程序,这样比CPU直接在硬盘运行程序就要快很多。
  • 内存解决了一部分CPU运行过快,而硬盘数据存取太慢的问题。 提高了我们的电脑的运行 速度。内存就如同一条“高速车道”一般,数据由传输速度较慢的硬盘通过这条高速车道 传送至CPU进行处理!
  • 但内存是带电存储的(一旦断电数据就会消失),而且容量有限,所以要长时间储存程序或数 据就需要使用硬盘。

内存在这里起了两个作用:

  • 保存从硬盘读取的数据,提供给CPU使用
  • 保存CPU的一些临时执行结果,以便CPU下次使用或保存到硬盘

常见的输入设备:

  • 键盘(keyboard)和鼠标(mouse)

常见的输出设备:

  • 显示器(monitor)和打印机(printer)

常见通信设备有:

  • 拨号调制解调器:使用的是电话线,传输速度可达56 000bps(bps:每秒比特)
  • DSL(数字用户线):使用的也是电话线,但传输速度叫上面的快20倍
  • 电缆调制解调器:利用有线电视电缆进行数据传输,通常速度比DSL快。
  • 网络接口卡(NIC):将计算机接入局域网(LAN)的设备。局域网通常用于大学、 商业组织和政府组织。速度甚至可达1000Mbps
  • 无线网络:在家庭、商业和学校中极其常见。计算机可通过无线适配器连接到局域 网或internet上。

常用文本编辑快捷键 

使用快捷键可以大大提高开发效率,从现在起我们应该尽可能使用快捷键来代替鼠标,接下来,我给大家列举一下通用的文本编辑快捷键。当然,如果大家想熟练掌握,还是需要后期不断的使用,请看下面列表: 

技术图片

知识框架 

技术图片

什么是Java语言

  • Java 编程语言是 Sun Microsystems 公司的 James Gosling 在 1990 年创建的,于 1995 年公布于世(一般说 Java 诞生于 1995 年)。Java 是一门面向对象的编程语言,不仅吸收了 C++语言的各种优点,还摒弃了 C++里难以理解的多继承、指针等概念,因此 Java 语言具有功能强大Java 编程语言是 Sun Microsystems 公司的 James Gosling 在 1990 年创建的,于 1995 年公布于世(一般说 Java 诞生于 1995 年)。Java 是一门面向对象的编程语言,不仅吸收了 C++语言的各种优点,还摒弃了 C++里难以理解的多继承、指针等概念,因此 Java 语言具有功能强大。和简单易用两个特征。Java 语言作为面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。 

Java 语言发展史

  • 1995 年初,Sun 公司发布 Java 语言,Sun 公司直接把 Java 放到互联网上,免费给大家使 用,甚至连源代码也不保密,也放在互联网公开。各种各样的小程序层出不穷,Java 终于扬眉吐气,成为了一种广为人知的编程语言。
  • 1996 年底,Flash 问世了,这是一种更加简单的动画设计软件:使用 Flash 几乎无须任何编 程语言知识,就可以做出丰富多彩的动画。Flash 逐渐蚕食了 Java 在网页上的应用。
  • 1997 年 2 月 18 日,Sun 公司发布了 JDK1.1,增加了即时编译器 JIT。 1995 年 Java 诞生到 1998 年底,Java 语言虽然成为了互联网上广泛使用的编程语言,但它 没有找到一个准确的定位
  • 1998 年 12 月,Sun 发布了 Java 历史上最重要的 JDK 版本:JDK1.2。并将 Java 分成了 J2EE (提供了企业应用开发相关的完整解决方案)、J2SE(整个 Java 技术的核心和基础)、J2ME (主要用于控制移动设备和信息家电等有限存储的设备)三个版本。
  • 2002 年 2 月,Sun 发布了 JDK 历史上最为成熟的版本,JDK1.4。
  • 2004 年 10 月,Sun 发布了万众期待的 JDK1.5。JDK1.5 增加了诸如泛型、增强的 for 语句、 可变数量的形参、注释、自动拆箱和装箱等。
  • 2005 年,Java 诞生十周年,J2SE/J2EE/J2ME 分别改名为:JavaSE/JavaEE/JavaME。
  • 2006 年 12 月,Sun 发布了 JDK1.6。
  • 2007 年 11 月,Google 宣布推出一款基于 Linux 平台的开源手机操作系统:android。Android 使用 Java 语言来开发应用程序。Android 平台的流行,让 Java 语言获得了在客户端程序上大 展拳脚的机会。
  • 2011 年 7 月 28 日,Oracle 发布了 Java SE7,这次版本升级耗时将近 5 年时间。引入二进 制整数、支持字符串的 switch 语句等。
  • 2014 年 3 月 18 日,Oracle 发布了 Java SE 8。
  • 2017 年 7 月,Oracle 发布了 JavaSE 9。
  • 2018 年 3 月 20 日,Oracle 发布了正式版 JavaSE 10。同一年 9 月 25 日发布了 Java11。
  • 2019 年 3 月 19 日,Oracle 发布了 Java12。 

Java 语言特性

sun 公司对 Java 的描述:"Java is a simple,object-oriented, distributed, interpreted, robust,secure, architecture neutral, portable, high-performance, multihreaded, and dynamic language"。翻译起来就是: “Java 是一门简单的,面向对象,分布式,解释性,健壮的,安全的,结构中立的,便捷的,高性能的,多线程的,动态的语言”。那么,在学习 Java 编程语言之前,让我们一起来看一看它有哪些特性吧?
  • ① 简单性:Java 语言底层采用 C++语言实现,相对于 C++来说,Java 是简单的,在 Java语言中程序员不需要再操作复杂的指针(指针的操作是很复杂的),继承方面也是只支持单继承(C++语言是一种半面向对象的编程语言,支持多继承,多继承会导致关系很复杂),在很多方面进行了简化。
  • ② 面向对象:Java 中提供了封装、继承、多态等面向对象的机制。
  • ③ 健壮性:在 C++程序当中的无用数据/垃圾数据需要编程人员手动释放,当忘记释放内存的时候,会导致内存使用率降低,影响程序的执行;在Java 语言当中这种问题得到了解决,因为 Java 语言引入了自动垃圾回收机制(GC 机制),Java 程序启动了一个单独的垃圾回收线程,时刻监测内存使用情况,在特定时机会回收/释放垃圾数据,这样会让内存时刻处于最好的状态。
  • ④ 多线程:Java 语言支持多个线程同时并发执行,同时也提供了多线程环境下的安全机制。
  • ⑤ 可移植性/跨平台:可移植性/跨平台表示 Java 语言只需要编写/编译一次,即可处处运行。Java 代码既可以运行在 windows 的环境下,又可以运行在 Linux 的环境下,而不需要修改Java 源程序,那么它是怎么做到的呢?功劳全在于“Java 虚拟机(Java Virtual Machine,简称JVM)”这种机制,实际上 Java 程序运行的时候并不是直接运行在操作系统上面的,而是在操作系统上先安装了一个 JVM,把 Java 程序放到了 JVM 当中运行,JVM 屏蔽了各操作系统之间的差异,这样就完成了跨平台。但是,JVM 的出现虽然搞定了跨平台,同时也带来了一些问题,比如要想运行 Java 程序就必须先安装 JVM,没有 JVM,Java 程序是运行不了的,就像你要在网页上看视频,结果浏览器却提示你需要安装 Flash 插件,这一点你是不是感觉非常不爽呀!那么 Java 程序、Java 虚拟机、操作系统之间是怎样的关系呢?请看下图:

技术图片

JDK、JRE、JVM三者之间的关系?

在学习 Java 之前,我们需要对一些专业术语有一定的了解,在 Java 中常见的专业术语包括:JDK、JRE、JVM 等,它们分别是什么,它们之间的关系又是怎样的呢,请看下图:
技术图片

从上图中我们可以看到,JDK、JRE、JVM 之间存在这样的包含关系:JDK包含 JRE,JRE又包含 JVM。换句话说,只要安装了 JDK,JRE 和 JVM 则自动就安装了。那么它们分别代表什么呢: 

  • ① JDK:JDK(Java Development Kit) 是 Java 语言的软件开发工具包(SDK)。它是每一个 Java 软件开发人员必须安装的。JDK 安装之后,它会自带一个 JRE,因为软件开发人员编写完代码之后总是要运行的。注意:如果只是在这台机器上运行 Java 程序,则不需要安装 JDK,只需要安装 JRE 即可(JRE 是有独立安装包的,这个大家可以从 Oracle 官网上找一下)。
  • ② JRE:JRE(Java Runtime Environment,Java 运行环境),运行 JAVA程序所必须的环境的集合,包含 JVM 标准实现及 Java 核心类库。
  • ③ JVM:JVM 是 Java Virtual Machine(Java 虚拟机)的缩写,JVM 是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。JVM 是实现 Java 语言跨平台的法宝。在这里我需要重点强调一下,不同的操作系统需要安装不同版本的 JDK,有专门的 windows版 JDK,Linux 版 JDK,Mac 版 JDK 等,当然不同版本的 JDK安装之后会对应不同版本的 JRE和 JVM。 

JDK 的下载与安装

  • 进入官网下载需要安装的JDK版本,傻瓜式安装,下一步即可。具体操作流程,参看百度。
  • 建议:安装路径不要有中文或者空格等特殊符号。
  • 如果操作系统是64位的,软件尽量选择支持64位的(除非软件本身不区分)。
  • JDK13安装的时候内置了一个JRE,独立于JDK之外的JRE并没有生成。对于java13来说,如果你希望生成一个独立于JDK之外的JRE的话需要执行特殊的命令。
  • JDK8安装的时候,不仅JDK内置了一个JRE,而且还会在JDK目录之外独立的生成一个单独的JRE。(以前低版本的时候,JRE实际上是有2个。)一个是JDK内置的,一个是独立于JDK之外的。

JDK的安装目录介绍 

技术图片

 配置环境变量 path

  • 为了开发方便,我们想在任意的目录下都可以使用JDK的开发工具,则必须要配置环境变量,配置环境变量的意义 在于告诉操作系统,我们使用的JDK开发工具在哪个目录下。具体操作流程,参看百度。

到目前为止,大家告诉我,一共配置了哪些环境变量? 

到目前为止,我们只配置了一个环境变量path,并且这个环境变量path和java实际上没关系,是人家windows操作系统的机制。对于Java的JDK所属的环境变量,有一个叫做:JAVA_HOME。这个JAVA_HOME目前我们不需要,不配置这个环境变量也不会影响当前java程序的运行。但是后期学习到JavaWEB的时候需要安装Tomcat服务器,那个时候JAVA_HOME就必须配置了。那么除了JAVA_HOME环境变量之外,JDK相关的环境变量还有其他的吗?
答案:有的。

Java的加载与执行过程

在编写第一个 Java 程序之前,我们应当对 Java 的加载与执行提前有一个简单的了解,java程序从编写到最终运行经历了哪些过程?请看下图: 
技术图片

 通过上图,我们可以看到 Java 程序从开发到最终运行是这样进行的:

  • 第一步(写代码):在任意位置创建一个.java 结尾的文件,程序员在该文件中编写符合 Java语法的源代码,这个文件被称为Java 源文件。
  • 第二步(编译):使用“javac”命令对 java 源文件进行编译,如果 Java 源文件符合 Java语法规则,则编译生成 1 个或者多个以“.class”结尾的文件。“.class”结尾的文件我们称之为字节码文件,注意字节码文件不是普通文本文件,使用记事本等文本编辑器是无法打开的,但该文件内容也不是二进制,如果是二进制形式的话,操作系统是可以直接执行的,这个文件的内容我们称之为字节码。注意:这里有一个“类名”的概念,假设生成的文件是 A.class,则表示类名为 A,B.class 则表示类名为 B。
  • 第三步(运行):使用“java”命令运行已编译的 Java 程序,假设编译之后的字节码文件是 A.class,则在 dos 命令窗口中执行 java A命令,这个时候 Java 虚拟机(JVM)就启动了,Java 虚拟机通过“类装载器 ClassLoader”从硬盘中找到 A.class 文件并装载,字节码文件被装载到 Java 虚拟机之后,Java 虚拟机解释器对字节码进行解释,最终解释为二进制码,然后操作系统通过执行二进制指令来和硬件平台完成交互。
以上则是 Java 程序加载与执行的过程,接下来我给大家总结 7 条规则,大家可以理解并记忆一下:
  • ① Java 程序从开发到运行包括编译和运行两个阶段,这两个阶段可以在不同的操作系统中完成,例如在 windows 环境下进行编译,在 Linux 环境下运行,这是因为有 JVM 机制的存在,做到了一次编译到处运行(跨平台/可移植)。
  • ② 编译阶段需要使用 javac.exe(安装 JDK 之后该命令就存在了)命令,运行阶段需要使用 java.exe(安装 JRE 之后该命令就存在了)命令。
  • ③ 一个 Java 源文件可能会编译生成多个 class 文件。
  • ④ Java 源文件中的源代码如果不符合 Java 的语法机制则编译时编译器会提示错误信息,并且无法生成 class 文件。反之则生成 class 文件,而 class 文件才是最终要执行的程序,此时将 Java 源文件删除是不会影响 Java 程序运行的(当然,我们也不必删除 java 源文件,因为在运行 class 文件之后,如果没有达到预期的运行效果,这个时候还需要将 Java 源代码修改,重新编译,以达到最终的运行效果)。
  • ⑤ 若生成的字节码文件名为 A.class,那么我们称 A为一个类的名字
  • ⑥ 当编译阶段完成之后,我们可以使用 JRE 中的 java.exe 命令运行程序,例如执行命令“java A”,该命令执行后会启动类加载器,类加载器去硬盘上搜索 A.class 文件,找到该字节码文件之后,将其加载到 JVM 当中,JVM 中的解释器会将 A.class 字节码文件解释为操作系统可以执行的二进制码,然后操作系统通过执行二进制码和硬件平台交互。
  • ⑦ 运行 Java 程序的前提是当前操作系统上已经安装了对应版本的 JVM(JVM 不是单独安装的,安装 JRE 即可,不同的操作系统需要安装不同版本的 JRE,不同版本的 JRE 对应不同版本的 JVM)。

问题:字节码文件是二进制文件吗?字节码文件不是二进制文件。如果是二进制的话,就不需要JVM了。因为操作系统可以直接执行二进制。

HelloWorld入门程序

开发环境已经搭建完毕,可以开发我们第一个Java程序了。 Java程序开发三步骤:编写、编译、运行。

                            技术图片

1:编写Java源程序

新建文本文件,完整的文件名修改为 HelloWorld.java ,其中文件名为 HelloWorld ,后缀名必须为 .java 。用记事本打开,在文件中键入文本并保存,代码如下

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

第一个 HelloWord 源程序就编写完成了,但是这个文件是程序员编写的,JVM是看不懂的,也就不能运行,因此我 们必须将编写好的 Java源文件 编译成JVM可以看懂的 字节码文件 。

2:编译Java源文件

在DOS命令行中,进入Java源文件的目录,使用 javac 命令进行编译。

技术图片

编译成功后,命令行没有任何提示。源文件的目录,发现产生了一个新的文件 HelloWorld.class ,该文件就是编译后的文件,是Java的可运行文件,称为字节码文件,有了字节码文件,就可以运行程序了。

3:运行Java程序

在DOS命令行中,进入Java源文件的目录,使用 java 命令进行运行。

技术图片

 我们一起来研究一下:“java HelloWorld”的执行过程以及原理。

  1. 先启动JVM(java虚拟机)
  2. JVM启动之后,JVM会去启动“类加载器classloader”   类加载器的作用:加载类的。本质上类加载器负责去硬盘上找“类”对应的“字节码”文件。
    • 默认情况下类加载器(classloader)会从当前路径下找(解释了为什么要进入class字节码文件所在的目录下)
    • 我们可以设置一个环境变量classpath,叫做:classpath给类加载器指定一个路径,让类加载器去指定的路径下加载字节码文件。
    • classpath是一个环境变量,是给谁指路的?是给“类加载器”指路的。
    • classpath环境变量不属于windows操作系统,classpath环境变量隶属于java。classpath环境变量是java特有的。
    • 在环境变量中配置classpath,变量名不能随意写:大小写无所谓,但必须叫做:classpath(计算机-->右键-->属性-->高级系统设置-->环境变量-->新建...)例如:classpath=D:course,配置了classpath=D:course之后,类加载器只会去D:course目录下找“xxx.class”文件不再从当前路径下找了。

         3.类加载器如果在硬盘上找不到对应的字节码文件,会报错,报什么错?错误: 找不到或无法加载主类类加载器如果在硬盘上找到了对应的字节码文件,类加载器会将该字节码文件装载到JVM当中,JVM启动“解释器”将字节码解释为“101010000...”这种二进制码,操作系统执行二进制码和硬件交互。

总结:

学习编程最容易犯的错是语法错误。Java要求你必须按照语法规则编写代码。 如果你的程序违反了语法规则,例如:忘记了分号、大括号、引号,或者拼 错了单词,java编译器都会报语法错误。尝试着去看懂编译器会报告的错误信。

入门程序说明

编译和运行是两回事

  • 编译:是指将我们编写的Java源文件翻译成JVM认识的class文件,在这个过程中, javac 编译器会检查我们 所写的程序是否有错误,有错误就会提示出来,如果没有错误就会编译成功。
  • 运行:是指将 class文件 交给JVM去运行,此时JVM就会去执行我们编写的程序了。

关于main方法

  • main方法:称为主方法。写法是固定格式不可以更改。main方法是程序的入口点或起始点,无论我们编写多少程序,JVM在运行的时候,都会从main方法这里开始执行。
Java 中的注释

作用:

注释是对代码的解释和说明,其目的是让程序员能够更加快速的理解代码。它是编写程序时,写程序的人给一个语句、程序段等的解释或提示,能提高程序代码的可读性。我认为添加注释,是为了程序更容易理解与维护,特别是维护,更是对自己代码负责的一种体现。注释在编译的时候不会生成到 class 字节码文件当中,它只在 java 源文件中保留。

注释的三种方式

Java 语言的注释包括三种方式,它们分别是:

第一种:单行注释语法格式如下:
  • // 单行注释,两个正斜杠后面的内容被注释

第二种:多行注释,语法格式如下:

          /*
           * 这里的注释信息为多行注释:
            * 第 1 行注释信息
            * 第 2 行注释信息
           */

第三种:javadoc 注释。

          /**
           * 这里的信息是 javadoc 注释
           * @author 作者名字
           * @version 版本号
           * @since 自从哪个版本号开始就存在了
         */
注意:
  • 对于 javadoc 注释来说,这里的注释会被 JDK bin 目录下的 javadoc.exe 命令解析并生成帮助文档(生成帮助文档后期做项目的时候大家会接触到的)。

注释注意事项:

  • 对于单行和多行注释,被注释的文字,不会被JVM(java虚拟机)解释执行。
  • 多行注释里面不允许有多行注释嵌套
  • 文档注释内容可以被JDK提供的工具 javadoc 所解析,生成一套以网页文件形式体现的该程序的说明文档。

???????注释使用,代码演示

/*
    1、什么是注释,有什么用?
        注释是对java源代码的解释说明。
        注释可以帮程序员更好的理解程序。

    2、注释信息只保存在java源文件当中,java源文件编译生成的字节码class文件,
    这个class文件中是没有这些注释信息的。

    3、在实际的开发中,一般项目组都要求积极的编写注释。这也是一个java软件工程师
    的基本素养。

    4、注释不是写的越多越好,精简,主线清晰,每个注释都应该是点睛之笔。(以后慢慢锻炼)
*/

// 这种注释属于单行注释,只注释两个斜杠后面的

/**
 * 类的注释信息
 *
 * @author bjpowernode-dujubin
 * ....
 * @version 1.0
 */
public class HelloWorld { // 这是一个类,类名叫做HelloWorld
    public static void main(String[] args) {
        System.out.println("Hello World");
        System.out.println("动力节点-口口相传的Java黄埔军校");
    }
}

/*
    在这里可以编写多行注释
    这是一行注释
    这是第二行注释
    这是第三行注释
*/

小结第一个程序

  • Java源文件以“java”为扩展名。源文件的基本组成部分是类(class),如 本例中的HelloWorld类。
  • Java应用程序的执行入口是main()方法。它有固定的书写格式: public static void main(String[] args) {...}。没有main方法的类可以编译通过,却无法运行。  
  • Java语言严格区分大小写。
  • Java方法由一条条语句构成,每个语句以英文状态下的“;”结束。
  • 大括号都是成对出现的,缺一不可。
  • 一个源文件中最多只能有一个public类。其它类的个数不限,如果源文件包含 一个public类,则文件名必须按该类名命名。
  • 非常非常重要的是:方法体中的代码遵循自上而下的顺序依次逐行执行。
  • 在java中任何有效的代码必须写到“类体”当中,最外层必须是一个类的定义。
  • 类名后面必须是一对大括号,这一对大括号被称为“类体”
 小知识:
public class Test4{
    // 注意:args可以改名字,随意,对于主方法来说只有这个位置可以改,其它位置不能动
    public static void main(String[] fdsafdsafdsafdsa){
        System.out.println("hello world");
    }
}

public class 和 class 的区别

  • 如果定义 public class 的类,只能定义一个,并且要求此类名必须和 java 源文件名保持一致。
  • 一个 java 源文件中可以定义多个 class,并且在编译的时候一个 class 会对应编译生成一个 class 字节码文件。
  • public 的 class 可以没有定义。源文件名字可以随意定义。
  • 任何一个 class 中都可以设定程序入口,也就是说任何一个 class中都可以写 main 方法(主方法),想从哪个入口进去执行,则让类加载器先加载对应的类即可
  • 在实际的开发中,虽然一个 java 源文件可以定义多个 class,实际上这是不规范的,比较规范的写法是一个 java 源文件中只定义一个 class。

以上是关于01_Java 开发环境搭建丶第一个Java程序的主要内容,如果未能解决你的问题,请参考以下文章

秒懂Java02_搭建开发环境01_Java开发必备

day01环境JAVA开发环境搭建

java入门教程:开发环境之jdk搭建Windows10_环境变量配置

030_Java开发环境搭建

java小白训练营2109-day01搭建开发环境

Mac系统-java环境搭建_01