Hello, Java!
是SUN(Stanford University Network,斯坦福大学网络公司 ) 1995年推出的一门高级编程语言。Java一开始富有吸引力是因为Java程序可以 在Web浏览器中运行。这些Java程序被称为Java小程序(applet)。applet使用现代的图形用户界面与Web用户进行交互。applet内嵌在HTML代码中。随着Java技术在web方面的不断成熟,已经成为Web应用程序
1. Java发展史
1.1 计算机编程语言分类
-
机器语言:电子机器能够直接识别的语言,无需经过翻译,计算机内部就有相应的电路来完成它;从使用的角度来看,机器语言是最低级的语言。
机器语言。指令以二进制代码形式存在。
-
汇编语言:面向机器的程序设计语言,符号语言;人工操作起来较简易的方式来设计程序的语言,通过不同的符号代替机器指令,特定的汇编语言与特定的机器语言指令集是一一对应的。
汇编语言。使用助记符表示一条机器指令。
-
高级语言:更容易被人们所理解的高级程序语言,符合人类思维模式的程序设计语言,如:C、Java,JavaScript、Python、Go等。
1.2 Java语言概述
-
是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诞生发展及核心
版本
版本 | 工程代号 | 发行日期 |
---|---|---|
JDK Beta | 1995年 | |
JDK 1.0 | Oak(橡树)适用于互联网 | 1996年1月 |
JDK 1.1 | 1997年2月 | |
J2SE 1.2 | Playground(运动场) | 1998年12月 |
J2SE 1.3 | Kestrel(美洲红隼) | 2000年5月 |
J2SE 1.4 | Merlin(灰背隼) | 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 9 | 2017年9月 | |
Java SE 10 | 2018年3月 | |
Java SE 11 (LTS) | 2018年9月 | |
Java SE 12 | 2019年3月 | |
Java SE 13 | 2019年9月 | |
Java SE 14 | 2020年3月 | |
Java SE 15 | 2020年9月 | |
Java SE 16 | 2021年3月 | |
Java SE 17 (LTS) | 2021年9月 | |
Java SE 18 | 2022年3月 |
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、电视机顶盒和打印机)等。
1.5 Java语言的特点
-
特点一:
-
面向对象
-
两个基本概念:类、对象
-
三大特性:封装、继承、多态
-
-
特点二:
-
健壮性
-
吸收了C/C++语言的优点,但去掉了其影响程序健壮性的部分(如指针、内存的申请与释放等),提供了一个相对安全的内存管理和访问机制
-
-
特点三:
-
跨平台性 (可移植性,详见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 三者关系
-
Jre = JVM + 运行时需要的类库
-
Jdk = Jre + Java程序开发工具(例如javac编译工具等)
2.3 Java可移植性
-
什么是可移植性
高级语言开发流程:(c/c++ 编程时情况)
编
源码文件 --> 编译成机器能够识别的语言 --> 机器执行
问题?硬件怎么交流?===》操作系统的作用 ===》根据操作系统编写代码 ===》编写的代码不具备跨平台行
java是如何解决跨平台运行的问题呢?
对于不同的平台,有不同的虚拟机。只有某平台提供了对应的java虚拟机,java程序才可在此平台运行
Java虚拟机机制屏蔽了底层运行平台的差别,实现了“一次编译,到处运行”
例如:Java程序可以在Windows操作系统上运行,在不做任何修改的情况下,也可以在Linux操作系统下运行。
2.4 安装JDK
-
配置环境变量:
每次执行 java 的工具都要进入到bin目录下,是非常麻烦的。可不可以在任何目录下都可以执行java的工具呢? 根据windows系统在查找可执行程序的原理,可以将java工具所在路径定义到path 环境变量中,让系统帮我们去找运行执行的程序。
-
配置方法:
我的电脑--属性--高级系统设置--环境变量
1.新建环境变量
2.输入jdk安装目录
JAVA_HOME
C:\zulu11.60.19-ca-jdk11.0.17-win_x64
-
修改配置方式,为以后工作环境做好铺垫
path
%JAVA_HOME%\bin
3. Hello, World!
3.1 编写代码
-
将 Java 代码编写到扩展名为 .java 的文件中。
-
通过 javac 命令对该 java 文件进行编译。
-
通过 java 命令对生成的 class 文件进行运行。
创建HelloWorld.java文件并编写代码如下:
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
3.2 编译代码
-
控制台输入命令:
-
javac HelloWorld.java
问:javac helloworld.java 是否能够执行?
无任何提示即代表编译成功
3.3 运行代码
java HelloWorld
问:java helloworld 是否能够执行?
-
总结:
学习编程最容易犯的错是语法错误。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
更多推荐
所有评论(0)