Java环境搭建与概述 | 我的日常分享

Java环境搭建与概述

一、安装JDK、JRE与配置环境变量

1.安装JDK、JRE

JDK下载

  1. 点击安装包
    图片
  2. 一路点击“下一步”

2.配置环境变量

  1. 找到JDK的安装路径
    图片

  2. 此电脑右键点击属性
    图片

  3. 点击高级系统设置
    图片

  4. 点击环境变量
    图片

  5. 新建一个系统变量JAVA_HOME,并把第一步中的JDK安装路径复制过来
    图片

  6. 新建一个系统变量CLASSPATH
    图片

  7. 在系统变量PATH中追加一个
    图片
    图片

  8. 测试一下,打开cmd,输入java
    图片

二、Java的历史

  • Sun Microsystems与1995年推出的面向对象的程序设计语言,共同创始人的詹姆斯·高斯林(James Gosling)被誉为“Java之父”。

  • 1996年发布JDK 1.0

  • 1998年发布JDK 1.2

    平台发布名称:J2SE(Stadard Edition)标准版、J2EE(Enterprice Edition)企业版、J2ME(Micro Editon)微小版,小时候能发现诺基亚等手机进入游戏的界面上面都会有java的一个咖啡杯的图片。

    image-20220114213150665
  • 2004年发布JDK 1.5,版本更名为:Java 5.0

    平台名称:Java SE、Java EE、Java ME

  • 2006年发布Java 6.0

  • 2009年被Oracle收购

  • 2011年有Oracle发布Java 7.0

  • 2014年有Oracle发布Java 8.0

  • 2017年由Oracle发布Java 9.0

  • 2018年由Oracle发布Java 10.0

注意从2004年JDK 1.5,版本更名为Java 5.0。普及率高的早期是JDK 1.8(Java 8)后续是JDK 1.8(Java 8)

三、计算机执行机制与Java执行机制

计算机执行机制1

  • 编译执行:

    • 将源文件编译成平台相关的机器码文件,一次编译,多次执行
    • 执行效率高,不可跨平台。

    image-20210807224836085

计算机执行机制2

  • 解释执行:

    • 将源文件交给不同平台独有的解释器

    • 执行效率低,可以跨平台。

      image-20210807225158926

Java的执行机制

结合了上面两种执行机制优势。

  • 先编译、在解释

    • 将源文件编译成字节码文件(平台中立文件.class),再将字节码文件进行解释执行。

    • Java的设计理念:Write Once Run Anywhere

    • 不同的操作系统中都安装有可以运行字节码文件的JVM(Java 虚拟机)

      image-20210807225644938

四、名词解释(JVM、JRE、JDK)

  1. JVM(Java Virtual Machine)虚拟机:
    • 使用软件在不同操作系统中,模拟相同的环境。
  2. JRE(Java Runtime Environment)运行环境:
    • 包含JVM和解释器,完整的Java运行环境。
  3. JDK(Java Development Kit)开发环境:
    • 包含JRE、类库、开发工具包(解释器、调试工具)。

如果进行开发就需要进行JDK,如果仅仅运行JRE就可以。

五、常用DOS命令操作

image-20210807230326333

六、第一个Java应用程序

  • 创建以.java结尾的源文件

    image-20210807230918257

  • 编写:

1
2
3
4
5
class HelloWorld{
public static void main(String[] args){
System.out.print("Hello World!");
}
}

image-20210807230943061

image-20210807231105752

  • 编译与运行

    javac 源文件名称.java

    1. 打开cmd,进入当前源文件路径

    2. 输入javac命令编译

      image-20210807231409482

    3. 生成了一个.class 文件

      image-20210807231517806

    4. 运行

      java类名

      image-20210807231616537

七、类的阐述与定义规范

  • 同一个源文件中可以定义多个类。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    class HelloWorld{
    public static void main(String[] args){
    System.out.print("Hello World!");
    }
    }
    class HelloBoys{
    public static void main(String[] args){
    System.out.print("HelloBoys");
    }
    }
  • 编译后,每个类都会生成独立的.class文件。

    image-20210807232102849

  • 一个类中,只能有一个主方法,每个类都可以有自己的方法。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    class HelloWorld{
    public static void main(String[] args){
    System.out.print("Hello World!");
    }
    public static void main(String[] args){
    System.out.print("Hello World!");
    }
    }
    class HelloBoys{
    public static void main(String[] args){
    System.out.print("HelloBoys");
    }
    }

    在类HelloWorld中定义了两个主方法,报错:

    image-20210807232337218

  • public修饰的类称为公开类,要求类名必须与文件名称完全相同,包括大小写。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    public class HelloWorld{
    public static void main(String[] args){
    System.out.print("Hello World!");
    }
    }
    class HelloBoys{
    public static void main(String[] args){
    System.out.print("HelloBoys");
    }
    }

    image-20210807232812771

  • 一个源文件中,只能有一个公开类。

    image-20210807232949260

    定义了两个public类,报错:

    image-20210807232936140

八、package(包)关键字

  • 作用:类似于文件夹,用于管理字节码(.class)文件。
  • 语法:package 包名;
  • 位置:必须写在源文件的第一行。

HelloWorld.class

1
2
3
4
5
6
package p1;
public class HelloWorld{
public static void main(String[] args){
System.out.print("Hello World!");
}
}

javac编译后:

image-20210807233728150

但是运行会报错:

image-20210807233802311

这是因为HelloWorld.class应在文件夹p1里面,手动新建p1文件夹后将HelloWorld.class移入:

image-20210807234039723

再运行,这时候需要加上包名.类名

image-20210807234210386

  • 带包编译

javac -d ./ 源文件名称.java(自动生成目录结构),不用手动新建p1文件夹

image-20210807234515961

image-20210807234526517

  • 带包运行

java 包名.类名(包名+类名又称全限定名)

image-20210807235128457

  • 采用域名倒置的规则:www.baidu.com–> cn.com.baidu.xxx

    例如:cn.com.company.department.group.project.module.xxxclass

九、NotePad++编辑器的设置与使用

NotePad++下载

  1. 安装

    image-20210808215920249

    image-20210808215944006

  2. 中文编译后乱码问题或者直接报错

    image-20210808222701287 image-20210808221115833

    使用GB2312编码

image-20210808221144407

在首选项–>新建中编码选择GB2312,后续新建文件编码自动以GB2312新建。

image-20210808221356718

十、编码规范

  • 书写格式

    1. 层级之间必须缩进(Tab:一个制表位)
    2. 一行只写一句代码
    image-20210808221759579
  • 代码注释

    1. 单行注释

      //单行注释

      1
      2
      3
      4
      5
      6
      public class TestAnnotation{
      public static void main(String[] args){
      //以下代码代表控制台输出一句文本
      System.out.print("Hello World!");
      }
      }
    2. 多行注释

      /* 多行注释 */

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      public class TestAnnotation{
      public static void main(String[] args){
      /*
      多行注释的开始
      ...
      ...
      ...
      多行注释的结束
      */
      System.out.print("Hello boys");
      }
      }
    3. 文档注释

      生成外部文档:javadoc -d ./ test.java

      /** 文档注释 */

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      /**
      文档注释
      这个TestAnnotation类旨在介绍有哪些注释方式
      */
      public class TestAnnotation{
      public static void main(String[] args){
      /*
      多行注释的开始
      ...
      ...
      ...
      多行注释的结束
      */
      System.out.print("Hello boys");
      }
      }

      image-20210808223841434

image-20210808223946747

点击index.html

image-20210808224035924

所有注释都不参与编译。

Java8外部文档

  • 命名规范

    语法规定:

    1. 可以由字母、数字、_、$组成,但不能以数字开头。
    2. 不能与关键字、保留字重名。

    约定俗称:

    1. 望文生义、见名知意。
    2. 类名由一个或多个单词组成,每个单词首字母大写(pascal帕斯卡命名法)。
    3. 函数名、变量名由一个或多个单词组成,首单词首字母小写,拼接词首字母大写(camel驼峰命名法)。
    4. 包名全小写,只能使用特殊字符.,并且不能以.开头或结尾。
    5. 常量全大写,多个单词用_连接。