1、计算机语言
计算机语言分为三类,分别是机器语言、低级语言、高级语言:
- 机器语言:主要指以二进制码存在的、机器能够直接识别的代码,是最低级的语言
- 低级语言:汇编语言
- 高级语言:常见的有C、C++、Java、Python等。其中C语言是面向过程的;C++是一半面向过程,一半面向对象;Java是完全面向对象的语言,Python同为面向对象语言。
2、Java语言介绍
(1)Java分为三个版本:
JavaSE:标准版
JavaEE:企业版
JavaME:微型版
初学者入门首先需要学习JavaSE,这是Java的基础,包括一些基础语法和基础库的学习。在学习完JavaSE后可以学习一些诸如数据库、jsp、servlet、spring等知识进行JavaEE框架的学习。
(2)Java语言常见概念
- jdk(Java development kit):java开发工具箱,是最根本的一个环境,是开发所必须的
(注:jdk开发工具箱不是集成开发环境,是Java最核心的库。) - jre(Java runtime environment):Java运行环境
- jvm(Java virtual machine):Java虚拟机,底层语言是用c++来写的
三者之间的关系:
jdk包括jre,jre包括jvm。因此通常安装jdk时jre自动安装,同时jre内部的jvm也自动安装了;安装jre时,jvm也就自动安装了。在安装时注意, jvm不能独立安装,jre和jdk可以独立安装。
(3)Java语言特性
- 面向对象性:Java是完全面向对象的,这种方式可以使复杂问题简单化
- 简单性:相比C语言来说简单,不需要用到指针(c中指针可用来操作内存),Java中是使用jvm来操作内存的,因此所有的Java程序都是运行在jvm当中的,jvm在执行过程中再去操作内存
- 自动垃圾回收机制(GC机制):Java回收清理垃圾有专门的机制,由jvm负责调度
- 多线程机制:Java完全支持多线程并发
- 可移植性/跨平台性:由于Java语言没有直接和操作系统进行交互,因此只要编写一次就可以随处运行,如在Windows系统编写完可以直接在Linux等上运行(前提是有jvm)
(4)Java程序特别重要的两个阶段——编译阶段与运行阶段
我们直接写的代码是无法被jvm识别的,jvm只能识别字节码,因此我们需要通过编译过程将我们写的普通文本代码也就是Java源代码转换为字节码,这种从Java源代码转换为字节码的过程就叫做编译。编译过程通常在编译器javac中进行。
通常,源代码的文件扩展名是:文件名.java
编译后产生的字节码文件扩展名是:文件名.class
一个java源文件可以编译生成多个class文件。
(5)Java开发的流程:
-
编译期(可以在Windows上):
在硬盘任意位置,新建一个后缀.java文件==>使用文本编辑器打开该文件==>在该.java文件中编写符合java语法规则的源代码,注意保存文件==>使用编译器javac(也就是jdk安装后自带的)对java文件进行编译==>若符合语法规则,编译通过;若违背语法规则,则报错且class文件不会生成 -
运行期(可在Windows也可在其他os上),是jre在起作用:
使用jdk自带的一个命令/工具“java“(负责运行的命令/工具)执行字节码==>剩下工作由jvm完成,不需要我们进行干涉。(jvm会将字节码文件装载进去,然后jvm对字节码进行解释,解释器负责将字节码解释为二进制)==>jvm将生成的二进制码交给os,os会执行二进制码和硬件进行交互。
命令行格式:
编译:
javac 文件名.java
运行
java 文件名