zl程序教程

您现在的位置是:首页 >  后端

当前栏目

Java基础篇 | Java开发环境的搭建

JAVA基础开发 环境 搭建
2023-09-14 09:04:52 时间
前言: 对于java以前学过一点点,时间太久都忘了,今天开始就更新java了;从最基础的开始,打好java基础,便于以后复习。我们刚开始学就在dos命令框运行,不要直接在编译器IDEA上直接敲代码,这样才能锻炼敲代码的速度!第一小节的内容大部分都是理论,重点在于理解!

目录

🏀1.常用dos命令总结

🏀2.常用的文本编辑组合键

🏀3.Java语言的简单了解

🥅Java语言的特性

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

🥅对Java的加载与执行的理解

🏀4.第一个Java程序

🥅JDK的安装与配置

🥅程序的编译

🥅程序的运行

🥅其它环境变量

🥅程序的剖析

🏀5.public class 和 class的区别

🏀6.简单习题练习


🏀1.常用dos命令总结

对于dos命令,它不像Linux命令那样被我们频繁的使用,这就造成我们很容易遗忘;其实很多的dos命令和Linux命令是相通的;今天就先带大家重拾常用的dos命令;面对零基础的同学进行详解!

1、怎么打开DOS命令窗口
        ⭐️win键 + r (组合键):可以打开“运行”窗口
        ⭐️在运行窗口文本框中输入: cmd,然后回车

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

3、默认情况下DOS命令窗口打开之后,定位的位置是哪里?
        ⭐️C:\Users\86177> 这是我电脑默认的当前路径

4、切换盘符?
        ⭐️直接输入盘符就行:
            c: 回车
            d: 回车
        ⭐️当切换到D盘根下了,那么当前路径就是:D:\>,当前路径是当前所在的位置。

5、mkdir(md) abc(创建文件夹)创建一个目录,起名abc;和Linux是一样的

6、创建文本文件:echo 123 > 111.txt;就可以把123内容追加到111.txt中,并会创建这个文本文件;Linux特有echo追加内容的功能

7、删除目录:用rmdir(rd),例如rmdir abc就会删除abc目录

         ⭐️对于rmdir建议大家记全称,不然容易和Linux的删除目录rmdir(rm)搞混

8、del命令,删除一个或者多个文本文件
         ⭐️删除test.c文件:del test.c
         ⭐️删除所有.c结尾的文本文件,支持模糊匹配:del *.c

9、dir 查看当前目录下的文件和目录
          ⭐️比如:dir/b > list.xls就可以把当前目录下的文件名字追加到excel表格当中

10、切换目录?(非常重要,必须掌握)
        ⭐️使用cd命令来完成目录的切换:cd是什么含义?change directory(改变目录)
        ⭐️cd命令怎么用,语法格式是什么? cd 路径
        ⭐️路径在windows系统上包括:相对路径和绝对路径。
        ⭐️什么是相对路径呢?
            一定要注意,从路径形式上来看,相对路径是一定不会以盘符开始的。
            相对路径:相对路径一定是相对于当前所在“位置”而言的。
            相对路径是相对于当前而言,从当前所在的位置作为起点。
            死记:相对路径一定是从当前位置作为起点开始找。
        ⭐️什么是绝对路径呢?
            在windows操作系统中凡是路径起点是盘符的都是绝对路径,
            例如:C:\Users\86177>
        ⭐️注意:
            cd .. 回到上级路径。
            cd \ 直接回到根路径。
            . 一个点,代表当前路径。

11、cls 清屏

12、exit 退出DOS命令窗口。

13、怎么查看本机的IP地址?
          ⭐️什么是IP地址?有什么用呢?
          ⭐️A计算机在网络当中要想定位到(连接到)B计算机,那么必须要先知道B计算机的IP地址,IP地址也可以看做计算机在同一个网络当中的身份证号(唯一标识)。IP地址就相当于电话号码是一个意思。
          ⭐️ipconfig(ip地址的配置信息)注意Linux下的是ifconfig。
          ⭐️ipconfig /all 该命令后面添加一个/all参数可以查看更详细的网络信息
               这个详细信息中包括网卡 的物理地址(Mac地址),例如:70-8B-CD-A7-BA-25

14、怎么查看两台计算机是否可以正常通信? ping命令
          ⭐️语法格式:ping IP地址或者ping 域名
          ⭐️例如:ping 61.135.169.121或者ping www.baidu.com,一般默认ping四次终止。
          Linux不加参数会一直ping下去,ctrl+c终止。                   
          ⭐️在一个DOS命令窗口中如果有一个命令一直在执行,想强行终止怎么办?
          ⭐️例如:ping www.baidu.com -t,加上-t参数,就会一直ping下去,一直ping的目的可以查看网络是否稳定。
            http://www.baidu.com 可以打开百度(这种方式比较方便,域名更容易记忆)
            http://61.135.169.121 也可以打开百度
            域名底层最终还是会被解析成IP地址的形式。还是ctrl+c终止!

🏀2.常用的文本编辑组合键

 ❤️复制  ctrl + c
 ❤️粘贴  ctrl + v
 ❤️剪切  ctrl + x
 ❤️保存  ctrl + s
 ❤️撤销  ctrl + z,向左回退一步
 ❤️重做  ctrl + y,向右回退一步

以下的操作,对于电脑上自带的键盘需要多加一个Fn键

 ❤️回到行首:home键
 ❤️回到行尾:end键
 ❤️当光标在行尾,怎么选中一行?shift + home键
 ❤️当光标在行首,怎么选中一行?shift + end键
 ❤️回到整个文件头:ctrl + home
 ❤️回到整个文件尾:ctrl + end

 ❤️全选:ctrl + a
 ❤️查找:ctrl + f
 ❤️选中一个单词:鼠标双击
 ❤️选中一行:鼠标连续击3次

 ❤️不用鼠标选中一个单词:ctrl + shift + 右箭头/左箭头

🏀3.Java语言的简单了解

    ❤️JDKJava开发工具箱,做Java开发必须安装的,这是最根本的一个环境)
    ❤️JDK不是集成开发环境
    ❤️JDK这个开发工具箱中是Java最核心的库
    ❤️Java被分为三大块:
       ⭐️JavaSE标准版(基础,要学java,必须先学习SE。基础语法+基础库)
       ⭐️JavaEE企业版(专门为企业开发软件,为企业提供解决方案。例如:OA办公系统,保险行业的系统,金融行业的系统,医院系统....)
       ⭐️JavaME微型版(专门为微型设备做嵌入式开发的) 

    ❤️JavaSE、JavaEE、JavaME,这三者之间存在什么样的关系呢? 

🥅Java语言的特性

简单性、面向对象、健壮性、支持多线程、可移植性!

❤️1. 简单性
     ⭐️在Java语言当中真正操作内存的是:JVM(Java虚拟机)所有的java程序都是运行在Java虚拟机当中的;而Java虚拟机执行过程中再去操作内存
     ⭐️对于C或者C++来说程序员都是可以直接通过指针操作内存的。C或者C++更灵活,可以直接程序员操作内存。
     ⭐️Java语言屏蔽了指针概念,程序员不能直接操作指针,或者说程序员不能直接操作内存。这种方式有优点也有缺点:
           优点:不容易导致内存泄漏。(简单了)
           缺点:效率问题,包括驾驭感比较差。
           如果C语言表示程序员是飞机驾驶员。那么Java语言表示程序员是飞机上的乘客。
     ⭐️Java语言底层是C++,所以JVM是用C++语言写好的一个虚拟的电脑。
     ⭐️JVM在哪里?

                安装了JDK之后,JVM就代表安装好了!
     ⭐️内存是什么?
           对于计算机来说:最主要的几个部件是什么?
                CPU:中央处理器,相当于人类的大脑,负责发送并执行指令
                           是整个计算机的指挥官。CPU是负责计算的,负责运算的。 
                内存:程序运行过程当中的临时数据存储空间
                           断电之后或者关机之后内存中的数据就消失了。
                硬盘:持久化设备,硬盘上的数据不会因断电而丢失。
                主板:相当于人类的躯干,是一个载体:CPU、内存条、硬盘等主要的部件都是放在主板上的,主板上有很多线,将以上的部件链接起来。    

❤️2. java是堪称完全面向对象的
    ⭐️Java 中提供了封装、继承、多态等面向对象的机制

❤️3. 健壮性
    ⭐️主要是因为Java中有一种机制:自动垃圾回收机制(GC机制)
    ⭐️java语言是健壮的,相对于C语言来说。
    ⭐️Java不容易导致内存的泄漏;C++或者C语言使用不当时很容易导致内存泄漏。
         JVM负责调度GC机制,程序员不需要干涉。

❤️4. java完全/完美支持多线程并发
     ⭐️Java 语言支持多个线程同时并发执行,同时也提供了多线程环境下的安全机制。

❤️5. 可移植性/跨平台
    ⭐️ java语言只要编写/编译一次,可以做到到处运行。 一次编写,到处运行平台改变了,程序不需要改)
    ⭐️同一份程序通过java虚拟机(JVM)就可以和不同的操作系统进行交互
    ⭐️JVM相当于屏蔽了操作系统之间的差距JVM是在安装JDK的时候自带JVM,
         所以JDK也有不同版本:windows版的JDK,Linux版本的JDK
    ⭐️JVM这种机制实现了跨平台,那么这种机制优点和缺点分别是什么?
            优点:一次编写到处运行,可以跨平台。
            缺点:麻烦,对于运行java程序来说必须先有一个JVM。

    ⭐️Java 程序、Java 虚拟机、操作系统之间是怎样的关系?

⭐️通过上图我们可以看到不同的操作系统中安装的 JVM 肯定也是不同的,windows 操作系
统则必须安装 windows 版本的 JVM,Linux 操作系统则必须安装 Linux 版本的 JVM。

(1)这是因为 JVM 是和操作系统直接打交道的,windows 和 Linux 操作系统本身的执行原理不同,所以JVM 肯定也必须是定制的,不能通用。

(2)但是 Java 程序放到 windows 的 JVM 上和放到 Linux的 JVM 上最终执行效果是完全相同的。这是因为:虽然 JVM 版本不同,但是所有版本的 JVM的实现都是遵守 sun 制定的 JVM 规范的,这样就可以达到编写一次到处运行的效果。

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

❤️Java 中常见的专业术语包括:JDK(开发工具)、JRE(运行环境)、JVM(虚拟机) 等,它们分别是什么,它们之间的关系又是怎样的呢?

    ⭐️JDK:Java开发工具箱。
    ⭐️
JRE:java运行环境(包含JVM 标准实现及 Java 核心类库)。
    ⭐️
JVM:java虚拟机(JVM 是实现 Java 语言跨平台的法宝)。

❤️JDK包括JRE,JRE包括JVM
    ⭐️JVM是不能独立安装的,JRE和JDK都是可以独立安装的。
    ⭐️有单独的JDK安装包;也有单独的JRE安装包;但没有单独的JVM安装包。
    ⭐️安装JDK的时候:JRE就自动安装了,同时JRE内部的JVM也就自动安装了。
    ⭐️安装JRE的时候:JVM也就自动安装了。

❤️问题1:
    ⭐️假设要把软件去客户那边给客户把项目部署一下,把项目跑起来,你需要安装JDK吗?
    ⭐️答:只需要安装JRE有运行环境就行了;JRE体积很小,安装非常便捷快速。 

❤️问题2:
    ⭐️为什么安装JDK的时候会自带一个JRE?
    ⭐️答:因为java程序员开发完程序之后,要测试这个程序,让这个程序运行起来,
         需要安装JRE。所以JDK安装的时候内部自带一个JRE。

❤️重点术语,总结:
    ⭐️Java体系的技术被划分为三大块:
        JavaSE:标准版
        JavaEE:企业版
        JavaME:微型版
    ⭐️安装JDK之后:
        JDK:java开发工具箱
        JRE:Java运行环境
        JVM: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 虚拟机(JVM)通过“类装载器 ClassLoader”从硬盘中找到 A.class 文件并装载,字节码文件被装载到Java虚拟机之后,Java虚拟机解释器对字节码进行解释,最终解释为二进制码,然后操作系统通过执行二进制指令来和硬件平台完成交互

❤️ java程序从编写到最终运行经历了非常重要的两个阶段:
      ⭐️编译阶段
      ⭐️运行阶段

❤️注意1:java程序员直接编写的java代码(普通文本)是无法执行被JVM识别的。
      ⭐️java程序员编写的java代码这种普通文本必须经过一个编译,将这个"普通文本代码"变成字节码”,JVM能够识别“字节码”。

❤️java代码这种普通文本被称为:java源代码。(自己编写的代码是源代码)
     ⭐️java代码这种普通文本变成字节码的过程,被称为:编译。
     ⭐️源代码不能直接执行,需要先进行编译,生成源代码对应的“字节码”,JVM可以识别的是字节码。

❤️问题1:编译阶段和运行阶段可以在不同的操作系统上完成吗?
     ⭐️答:在windows上编译,编译之后生成了“字节码”,把“字节码”放到linux上运行
                 完全可以, 因为Java是跨平台的。可以做到一次编写到处运行。 

❤️问题2:java源代码一旦编译之后,源代码可以删除吗?只留下字节码可以执行吗?
     ⭐️答:可以执行,因为源代码不参与程序的执行过程。参与程序执行过程的是字节码。
            但是最好不要删除源代码。有可能会用到源码进行重编译

❤️放源代码的文件扩展名必须是:xxx.java,并且需要注意的是:编译生成的字节码文件
    ⭐️扩展名是:xxx.class 
        .java文件就是源文件,这个文件中编写源代码。
        .class文件就是字节码文件,这个文件是编译源代码而得到的。

❤️注意:
    ⭐️1个java源文件是可以编译生成多个.class文件的。最终运行的是.class文件。

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

❤️问题4: java程序从开发到最终运行经历了什么?
    ⭐️编译期:(可以在windows上)
            第一步:新建一个xxx.java文件,并打开
            第二步:在xxx.java文件中编写“符合java语法规则的”源代码。并保存
            第三步:使用编译器(javac【JDK安装后自带】)对xxx.java文件进行编译。
                          编译通过了才会生成.class字节码文件。并且一个java源文件是可以
                          生成多个.class文件的。(编译实质上是检查语法)

   ⭐️ 运行期(JRE在起作用):(可以在windows上,也可以在其他的OS上)
           第四步:如果是在Linux上运行,需要将windows上生成的.class文件拷贝过去,不需
                          要拷贝源代码,真正运行的是字节码。(但是源代码也不要删除)
           第五步:使用JDK自带的一个命令/工具:java(负责运行的命令/工具)执行字节码
           第六步:JVM虚拟机的操作
                        JVM会将字节码文件装载进去,然后JVM对字节码进行解释
                     (解释器负责将字节码解释为1010..等的二进制)
          第七步:JVM会将生成的二进制码交给操作系统(OS),操作系统会执行
                        二进制码和硬件进行交互。

❤️注意2:在以上的过程中,需要使用两个非常重要的命令?
              javac 命令:负责编译
              java 命令:负责运行

❤️注意3:
             xxx.java源文件经过编译之后生成了A.class、B.class、C.class等文件,
             那么我们称A是一个类、B是一个类、C是一个类。其中A、B、C是类的名字。

❤️总结: 编写、编译、运行   
            ⭐️新建java文件,并打开
            ⭐️写java源代码并保存
            ⭐️javac命令编译
            ⭐️java命令运行

🏀4.第一个Java程序

🥅JDK的安装与配置

❤️安装JDK

    ⭐️先在orcale官网中下载,并进行安装,一定要记住安装路径!

    ⭐️对于JDK13安装的时候内置了一个JRE,独立于JDK之外的JRE并没有生成。
        如果你希望生成一个独立于JDK之外的JRE的话需要执行特殊的命令。

   ⭐️注意的是:
            JDK8安装的时候,不仅JDK内置了一个JRE,而且还会在JDK目录之外
            独立的生成一个单独的JRE
(以前低版本的时候,JRE实际上是有2个。)
            一个是JDK内置的,一个是独立于JDK之外的。 

   ⭐️JDK的bin目录下有:
            javac.exe 负责编译
            java.exe 负责运行

 ❤️环境的配置 

    ⭐️安装好JDK我们直接代开dos窗口,输入javac -version居然发现并不能用!
         这是因为javac不是内部命令,我们没有配置环境变量。

    ⭐️这很类似于Linux中我们配置环境变量PATH!在Linux中,命令、程序、                  
         工具可简单理解为可执行程序!既然是可执行程序,那么就可以直接运行!

   ⭐️那么我们通过gcc编译的可执行文件a.out,为什么不能像常用命令ls
        那样直接就可以运行呢?因为ls的绝对路径已经写到环境变量PATH里面了;
        我们把a.out的路径也追加到PATH里就可以直接就能运行啦! 

   ⭐️对于ipconfig用来查看IP地址,如果我们删除Path里面的%SystemRoot%\system32呢?
          我们就会发现也会报错,因为我们把它的绝对路径从Path里面删除了!

         最终还要把%SystemRoot%\system32添加回去到Path里面!

  ⭐️所以我们只需要把javac这个命令的绝对路径写到环境变量Path里就可以啦!
         也就是安装的JDK下的bin路径里有javac命令,
         比如我的:C:\Program Files\Java\jdk-13.0.2\bin 配置到环境变量path当中

  ⭐️详细步骤:【此电脑】右击鼠标属性---》【相关设置】高级系统设置---》
       【环境变量】---》【系统变量】找到Path,把上面的路径加进去就行!

  ⭐️重新打开dos框,输入javac -version能显示版本说明就好了!

  ⭐️补充1:环境变量包括“系统变量”和“用户变量”
      系统变量:范围比较大,系统变量会让计算机所有用户都起作用
     
用户变量:范围比较小,这个变量只是作用于当前用户

  ⭐️补充2:

      怎么查看编译器版本javac -version      
      怎么查看java虚拟机的版本java -version

  ⭐️补充3:

       如果把路径和其它路径配置到一块,路径和路径之间必须采用“半角的分号”分隔。

🥅程序的编译

❤️比如我们写一个HelloWord程序,具体代码分析后面再讲!

⭐️创建一个HelloWorld.java文件,并写入:

❤️怎么编译呢?

⭐️方法1:首先在dos命令窗口,用cd切换目录,进入HelloWorld.java文件所在的文件夹,然后输入javac HelloWorld.java进行编译;但是这样切换目录,是不是很麻烦?很难记住目录?

⭐️方法2:输入cd,然后直接进行拖拽,把HelloWorld.java所在的目录直接拖拽到dos命令窗口,就会直接切入到所需目录,例如:

⭐️方法3:在当前HelloWorld.java文件目录下的最上面显示路径的地址栏上,输入cmd回车就可以点开dos窗口,并且路径是当前路径!

❤️javac 源文件

⭐️javac HelloWorld.java进行编译,最终就会生成一个.class文件(字节码文件)!

🥅程序的运行

❤️运行的前提是:class文件(字节码)生成了,没有字节码文件程序是无法运行的。
    ⭐️假设该文件的名字叫做:HelloWorld.class,HelloWorld 就是一个类名。
    ⭐️如果文件名是Test.class,那么:Test就是一个类名。   

❤️怎么运行,使用哪个命令?
      ⭐️使用JDK的bin目录下的:java.exe命令来运行。
      ⭐️ java 类名,例如:java HelloWorld

❤️千万要注意:java这个命令,后面跟的是“类名”,而绝对不能跟“文件路径”,
      ⭐️因为java命令后面跟的不是文件,是一个“类名”。 

❤️运行java程序需要哪些步骤呢?
      ⭐️第一步:先使用cd命令切换到HelloWorld.class文件所在的路径。
      ⭐️第二步:执行java HelloWorld
           java命令后面只要是跟路径,就一定不行;java命令后面只能跟类名!

🥅其它环境变量

 1、Path
   ⭐️到目前为止,我们学习了两个环境变量,一个是 windows 操作系统的 path 环境变量,另一个是 java 语言的 classpath 环境变量;但只配置了一个环境变量Path,就能运行java代码了,并且这个环境变量Path和java实际上没关系,是windows操作系统的机制

2、JAVA_HOME
   ⭐️对于Java的JDK所属的环境变量,有一个叫做:JAVA_HOME
   ⭐️JAVA_HOME目前我们不需要,不配置这个环境变量也不会影响当前java程序的运行。
        学习JavaWeb的时候需要安装Tomcat服务器,那个时候JAVA_HOME就必须配置

 java HelloWorld”的执行过程以及原理:
     ⭐️cd进入当前目录:执行java HelloWorld,敲完回车,都发生了什么?
     ⭐️第一步:会先启动JVM(java虚拟机)
     ⭐️第二步:JVM启动之后,JVM会去启动“类加载器classloader
        类加载器的作用:加载类的。本质上类加载器负责去硬盘上找“类”对应的“字节码”文件。
        假设是“java HelloWorld”,那么类加载器会去硬盘上搜索:HelloWorld.class文件。
    ⭐️第三步:类加载器如果在硬盘上找不到对应的字节码文件,会报找不到或无法加载主类
,类加载器如果在硬盘上找到了对应的字节码文件,类加载器会将该字节码文件装载到JVM当中,JVM启动“解释器”将字节码解释为“1010...”这种二进制码,操作系统执行二进制码和硬件交互。

3、CLASSPATH是给“类加载器”指路的
   ⭐️问题:默认情况下,类加载器去硬盘上找“字节码”文件的时候,会从当前路径下找。那么能不能给类加载器指定一个路径,让类加载器去指定的路径下加载字节码文件?
答:是可以的,但是我们需要设置一个环境变量,叫做:classpath

   ⭐️classpath是一个环境变量,是给“类加载器”指路的
      classpath环境变量不属于windows操作系统,classpath环境变量隶属于java  
   ⭐️注意:变量名不能随意写:大小写无所谓,但必须叫做:classpath
   ⭐️特点:配置了classpath=D:\course之后,类加载器只会去D:\course目录下找“xxx.class”
文件不再从当前路径下找了。这就很多此一举!
   ⭐️结论:到目前为止:classpath环境变量不需要配置。    
   ⭐️但一定要理解classpath环境变量的作用?
    (1)是给类加载器指路的。
    (2)在没有配置环境变量classpath的时候,默认从当前路径下加载。
    (3)如果配置了环境变量classpath的话,就只能从指定的路径下加载了。

   ⭐️在 java 开发中有很多第三方的类库需要在我们的项目中引入,等需要引入其它类库的时候,我们就需要将这些类库的路径配置到 classpath当中。

❤️最终结论:Path、JAVA_HOME、CLASSPATH,这3个环境变量目前Path需要配置,后面两个暂时不需要配置。最主要的是我们要了解每个环境变量的代表意义,而不是上来就胡乱进行配置!

🥅程序的剖析

❤️三种注释方法

  ⭐️// 单行注释
  ⭐️  /*
                多行注释
        */

  ⭐️ /**
       * javadoc注释:注释信息可以自动被javadoc.exe命令解析提取并生成到帮助文档当中。
      */

    public class HelloWorld{//声明定义一个公开的类,起个名字叫HelloWorld
	//在java中任何有效的代码必须写到“类体”当中,最外层必须是一个类的定义。
	//public表示公开的,class表示定义一个类,HelloWorld是一个类名。类名后面必须是一对大括号,这一对大括号被称为“类体”	
	//1、下面是类体
       public static void main(String[] args){ //这是一个入口方法。这里args是变量,可以更改     
	// 2、下面方法体
	//整个这一块的代码被称为:main方法/主方法(程序的入口)
	//JVM在执行程序的时候,会主动去找这样一个方法。没有这个规格的方法,程序是无法执行的。
	//注意:方法必须放到“类体”中,不能放到“类体”外面。
	//任何一个程序都要有一个入口,没有入口进不来,无法执行。
	//方法体:方法体由一行一行的“java语句”构成
	//非常非常重要的是:方法体中的代码遵循自上而下的顺序依次逐行执行。

	     System.out.println("Hello World");
         System.out.println("你好 世界");
	// System.out.println();这行代码的作用是向控制台输出一句话。
	}

}

🏀5.public class 和 class的区别

public class Class{
	public static void main(String[] args){
		System.out.println("Test1");
	}
}

class A{
	public static void main(String[] args){
		System.out.println("Test2");
   }
}

class B{
	public static void main(String[] args){
		System.out.println("Test3");
	}
}

class C{
	public static void main(String[] args){
		System.out.println("Test4");
	}
}

❤️能正常运行,Class.class、A.class、B.class、C.class都能生成!

   ⭐️第一个结论:
        一个java源文件中可以定义多个class;并且会生成多个.class字节码文件。
   ⭐️第二个结论:
        public的类不是必须的,可以没有,就算只有class也能正常运行
  ⭐️第三个结论:
        在源文件中只要有一个class的定义,那么必然会对应生成一个class文件。
  ⭐️第四个结论:
       public的类可以没有,但如果有的话,public修饰的类名必须和源文件名保持一致并且public的类有也只能有1个

总结:我们想要进入那个入口,直接使用 java+类名 就可以,比如上面的代码:java Class、java A、java B、java C;这只是测试,一般一个软件的执行入口是一个。不会出现多个的!

❤️JDK 常用的基本组件包括:javac(编译器)java(运行 java 程序)javadoc(提取 java程序的注释信息并生成帮助文档)jar(打 jar 包)、jdb(查错工具)、javap(反编译器)、jconsole(系统调试和内存监控工具)等。有一些组件后面会慢慢讲到!

🏀6.简单习题练习

❤️第一题:编写 Java 程序,输出学生的基本信息,输出结果如下图所示:

public class Student{
	public static void main(String[] args){
		System.out.println("学号:123456");
		System.out.println("姓名:张三");
		System.out.println("生日:2001年9月14");
		System.out.println("家庭地址:安徽省阜阳市");
	}
}

❤️第二题:编写 Java 程序,输出京东商城商品列表信息,输出结果如下图所示:

public class JingDong{
	public static void main(String[] args){
		System.out.println("---------------------------------------");
		System.out.println("|手机商品列表");
		System.out.println("---------------------------------------");
		System.out.println("|商品编号   |商品名称      |单价(元)");
		System.out.println("---------------------------------------");
		System.out.println("|1309203929|荣耀10青春版    |1299.00  |");
		System.out.println("---------------------------------------");
        System.out.println("|1309203920|红米Redmi Note7 |1199.00 |");
		System.out.println("---------------------------------------");
		System.out.println("|1309203922|HUAWEI P30 Pro  |1299.00  |");
		System.out.println("---------------------------------------");
	}
}