1. Java发展史

1.1 计算机编程语言分类

  • 机器语言:电子机器能够直接识别的语言,无需经过翻译,计算机内部就有相应的电路来完成它;从使用的角度来看,机器语言是最低级的语言。

    机器语言。指令以二进制代码形式存在。

  • 汇编语言:面向机器的程序设计语言,符号语言;人工操作起来较简易的方式来设计程序的语言,通过不同的符号代替机器指令,特定的汇编语言与特定的机器语言指令集是一一对应的。

    汇编语言。使用助记符表示一条机器指令。

    image-20230129230212699

  • 高级语言:更容易被人们所理解的高级程序语言,符合人类思维模式的程序设计语言,如:C、Java,JavaScript、Python、Go

1.2 Java语言概述

image-20230129231256954

  • 是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一门高级编程语言。

  • Java一开始富有吸引力是因为Java程序可以 在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使用现代的图形用户界面与Web用户进行交互。 applet内嵌在HTML代码中。

  • 随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。

  • 后台开发:Java、PHP、Python、Go、Node.js

1.3 Java诞生发展及核心

image-20230129231744929

版本

版本工程代号发行日期
JDK Beta1995年
JDK 1.0Oak(橡树)适用于互联网1996年1月
JDK 1.11997年2月
J2SE 1.2Playground(运动场)1998年12月
J2SE 1.3Kestrel(美洲红隼)2000年5月
J2SE 1.4Merlin(灰背隼)2002年2月
Java SE 5 (1.5)Tiger(老虎)(里程碑式的版本,更名为JDK5.0)2004年9月
Java SE 6 (1.6)Mustang(野马)(2009年Oracle公司74亿美元收购SUN)2006年12月
Java SE 7 (1.7)Dolphin(海豚)2011年7月
Java SE 8 (1.8) (LTS)Spider(蜘蛛)2014年3月
Java SE 92017年9月
Java SE 102018年3月
Java SE 11 (LTS)2018年9月
Java SE 122019年3月
Java SE 132019年9月
Java SE 142020年3月
Java SE 152020年9月
Java SE 162021年3月
Java SE 17 (LTS)2021年9月
Java SE 182022年3月

Oracle

1.4 Java技术体系平台

  • JavaSE(Java Platform Standard Edition)标准版本,也称之为( J2SE),具备了基本的库,用于在pc端进行开发,Java 标准平台,所有的 Java 项目都需要 JavaSE 的支持,包括 Java EE 和 Java ME ,提供了完整的Java核心API。

  • JavaEE:企业版本,也称之为( J2EE),Java 的企业平台,用于开发和部署可移植、健壮、可拓展和安全稳定的服务器端Java应用程序,具备了开发网站的功能,用于开发网站。

    是为开发企业环境下的应用程序提供的一套解决方案。该技术体系中包含的技术如 :Servlet 、Jsp等,主要针对于Web应用程序开发

  • JavaME:最小版本,也称之为( J2ME),在移动端开发使用,嵌入式设备上使用。

    支持Java程序运行在移动终端(手机、PDA)上的平台,对Java API有所精简,并加 入了针对移动终端的支持,用于开发移动设备、嵌入式设备(比如手机、PDA、电视机顶盒和打印机)等。

    image-20230129231114318

1.5 Java语言的特点

  • 特点一:

    • 面向对象

    • 两个基本概念:类、对象

    • 三大特性:封装、继承、多态

  • 特点二:

    • 健壮性

    • 吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制

      image-20230129233715342

  • 特点三:

    • 跨平台性 (可移植性,详见2.3)

    • 通过Java语言编写的应用程序在不同的系统平台上都可以运行。“Write once , Run ”Anywhere"

2. JDK、JRE、JVM

2.1 基本概述

  • JVM(Java Virtual Machine):JVM(Java虚拟机)是一个可执行Java字节码的虚拟机进程,用于解析编译后的字节码文件。 JVM屏蔽了与操作系统平台相关的信息,可以把字节码解释成具体平台上的机器指令执行,这也是Java的能够 “一次编译,到处运行” 的原因。

    • JVM的核心任务是解释字节码文件,它不能运行字节码文件。因为JVM执行class还需要JRE下的lib类库的支持,尤其是rt.jar,这一点非常重要。

  • JRE(Java Runtime Environment):JRE(Java运行环境),它包含JVM的标准实现及Java核心类库。需要注意的是 : JRE是Java的运行环境,不是开发环境。JRE不包含任何开发工具,如:编译器、调试器等,因为JRE是面向Java程序(jar包)的,程序只需要运行不需要编译、调试等功能。 .jar

    • 在Java的世界中,JRE的地位相当于是一台PC机器中的Windows操作系统。 Windows操作系统可以运行.exe格式化的应用程序,对应的,JRE操作系统用于运行.jar格式的应用程序. B/S (我的世界)

  • JDK (Java Development Kit):JDK是java开发工具包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等。JDK是面向程序员的。JDK安装目录中是包含JRE的,而JRE中是包含JVM的,所以电脑安装完JDK后就具备了开发Java源文件、编译class字节码文件、运行jar程序的功能

2.2 三者关系

image-20230129235143080

image-20230129235056225

  • Jre = JVM + 运行时需要的类库

  • Jdk = Jre + Java程序开发工具(例如javac编译工具等)

2.3 Java可移植性

  • 什么是可移植性

    高级语言开发流程:(c/c++ 编程时情况)

    源码文件 --> 编译成机器能够识别的语言 --> 机器执行

    问题?硬件怎么交流?===》操作系统的作用 ===》根据操作系统编写代码 ===》编写的代码不具备跨平台行

    java是如何解决跨平台运行的问题呢?

    对于不同的平台,有不同的虚拟机。只有某平台提供了对应的java虚拟机,java程序才可在此平台运行

    Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”

    例如:Java程序可以在Windows操作系统上运行,在不做任何修改的情况下,也可以在Linux操作系统下运行。

    image-20230129235336168

2.4 安装JDK

下载

Azul

image-20230130000042403

image-20230129235824299

  • 配置环境变量:

    每次执行 java 的工具都要进入到bin目录下,是非常麻烦的。可不可以在任何目录下都可以执行java的工具呢? 根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到path 环境变量中,让系统帮我们去找运行执行的程序。

  • 配置方法:

    我的电脑--属性--高级系统设置--环境变量

    image-20230130001756156

1.新建环境变量

image-20230130002623997

2.输入jdk安装目录

image-20230130002440024

JAVA_HOME
C:\zulu11.60.19-ca-jdk11.0.17-win_x64

  1. 修改配置方式,为以后工作环境做好铺垫

    image-20230130002715579

    image-20230130002813050

  path
 %JAVA_HOME%\bin

3. Hello, World!

3.1 编写代码

  1. 将 Java 代码编写到扩展名为 .java 的文件中。

  2. 通过 javac 命令对该 java 文件进行编译。

  3. 通过 java 命令对生成的 class 文件进行运行。

创建HelloWorld.java文件并编写代码如下:

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

image-20230130003105771

3.2 编译代码

  1. 控制台输入命令:

  2. javac HelloWorld.java
    问:javac helloworld.java 是否能够执行?

无任何提示即代表编译成功

3.3 运行代码

java HelloWorld
问:java helloworld 是否能够执行?

  1. 总结:

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

4. 注释(Comment)

4.1 注释的作用

注释可以帮助其他人阅读程序,通常用于概括算法、确认变量的用途或者阐明难以理解的代码段。

注释并不会增加可执行程序的大小,编译器会忽略所有注释。

4.2 单行注释

// 单行注释

4.3 多行注释

/*
多行注释
多行注释
多行注释
*/

4.4 文档注释

文档注释允许你在程序中嵌入关于程序的信息。并可以使用 javadoc 工具软件来生成 Java 文档文件,通常写在类、方法、属性上。

/*
提高了代码的阅读性;调试程序的重要方法
注释是一个程序员必须要具有的良好编程习惯
将自己的思想通过注释先整理出来,再用代码去体现
*/

/**
文档注释通常写在类、方法、属性上
@author Petrel
@version 1.0
一个源文件中最多只能有一个public类。
其它类的个数不限,如果源文件包含 一个public类,
则文件名必须按该类名命名
*/


public class HelloWorld {
/**
  这是程序执行的主方法
*/
	 public static void main(String[] args) {

			System.out.println("HelloWorld"); // System.out.println();打印完后,会换行。
     																		// System.out.print();打印完后,不会换行。
	}
}
javadoc -d mydoc -author -version HelloWorld.java  

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐