从机器语言到Java跨平台,一篇文章理清计算机语言发展史与Java核心基础。

计算机语言发展史

第一代:机器语言

使用0和1进行编程,开发者需要掌握硬件知识

第二代:汇编语言

使用一些特定的英文单词来编写,开发者需要掌握硬件知识

第三代:高级语言

使用一些特定的英文单词来编写,开发者不需要掌握硬件知识

- 面向过程:以C语言为主,优点是性能高
- 面向对象:C++,Java(贝尔实验室)(WEB后端领域),C#(游戏开发,Unit3D),优点是适合编写大型项目,但是性能偏低

引申

有一个中文编程语言:易语言(游戏外挂)

Java发展史

Java发展简史

1991年,詹姆斯·高斯林(Java之父),SUN公司,想要设计一个应用于消费性电子产品的编程语言。因为不同的厂商生产的电子产品软件、硬件、操作系统等都有可能不同,兼容性存在差异。

语言本身是中立的,不依赖于任何硬件和软件平台(跨平台)(Oak)

Java的三大版本

  • JavaSe:Java标准版,主要开发桌面应用和控制台应用,作为Java基础进行学习
  • JavaMe:Java微型版,主要做嵌入式设备。
  • JavaEE:Java企业版,主要学习的就是这个版本,用于开发企业级应用(主要是Web应用)

Java跨平台原理

Java跨平台原理

DOS系统

进入DOS系统

1
win+r,输入cmd,回车,唤起dos系统

切换盘符

1
盘符名称:

文件夹操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 查看当前目录有哪些文件夹和文件
dir
# 进入文件夹
cd 文件夹名称
# 进入当前文件夹
cd .
# 进入上一级文件夹
cd ..
# 返回根目录
cd \
# 创建文件夹
md 文件夹名称
# 删除文件夹
rd 文件夹名称

文件操作

1
2
3
4
# 拷贝文件,其中,目标路径如果是一个文件夹,那么拷贝后的文件文件名不会更改。目标路径如果是一个文件,那么拷贝后的文件名称就是那个文件名
copy 要拷贝的文件路径 拷贝到的文件路径
# 删除文件
del 文件名

辅助命令

1
2
3
4
5
6
7
8
9
10
# 退出窗口命令
exit
# 清屏
cls
# 自动补全
tab键
# 显示之前或之后执行的命令
上下箭头
# 帮助
help

第一个Java程序

编写程序

  • 编写代码
1
2
3
4
5
public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}
  • 编译
    • 打开DOS窗口,切换到代码路径
    • 使用 javac HelloWorld.java 进行编译
    • 使用 java HelloWorld 运行

代码讲解

3.HelloWorld程序讲解

代码细节

类名规范

  • 类名命名有一定的规范,可以由字母、数字、下划线、美元符号组成,首个字符不能是数字,一般类名只采用字母和数字
  • 类名需要遵守大驼峰规则(即:首字母大写,后面的单词与单词间首字母也大写)
  • 一个Java文件中最多只能有一个 public class,并且public class修饰的类名必须与文件名保持完全一致,可以有多个 class
  • Java文件中可以有多个class类,有几个class类编译后就会有多少个字节码文件

语法和编写规范

  • 括号、花括号、中括号、引号等成一对的标点符号,要养成成对编程的习惯
  • 使用缩进。遇到花括号一定要给一个缩进,体现代码的结构性
  • 见名知意。对于类名、以后学到的变量名等,命名一定要让其他人知道它的作用
  • 花括号用于划分程序的部分,方法、类、代码块的代码必须以 { 开头,以 } 结尾
  • 代码中每条语句需要以**英文分号;**结束
  • Java代码对字母大小写敏感,如果大小写拼写错误,程序无法运行
  • main方法是Java程序的入口,写法固定
  • println中内容使用英文双引号包裹,表示内容原样输出,输出完毕后换行。此外还有print方法,也是原样输出,但是不换行

代码编写过程中出现的一些问题

  • 如果报 java不是内部或外部命令,说明环境变量配置错误。需要重新配置环境变量
  • 如果报 找不到或无法加载主类,说明public class修饰的类名与文件名不一致
  • 如果报 找不到文件 xxx.java 说明执行javac命令的路径不在代码所在的文件夹中
  • 注意,编译命令 javac 后面跟着的是Java文件名,所以需要加上 .java 后缀。运行命令 java 用来运行一个类,后面跟着的是类名,没有 .java 后缀
  • 如果报 在xxx类中找不到main方法,说明代码中没有main方法,或者main方法编写错误
  • 代码修改之后,必须保存,然后重新编译之后运行才是最新的结果
  • 输出中文出现错误,是编码错误导致的,只需要修改一下文件编码即可

代码注释

注释是给开发人员做的说明,是一种提高代码可读性的手段。注释不会编译到字节码文件中,Java编译期编译时会跳过注释语句

单行注释

使用 // 开头,后面的内容都是注释内容

多行注释

多行注释以 /* 开头,以 */ 结尾,这两者之间的内容都是注释内容,可以换行(多行注释不能嵌套)

文档注释

文档注释以 /** 开头,以 */ 结尾,二者之间的内容都是注释内容,可以换行。注释中包含一些说明性的文字可以被某些工具(JavaDOC)识别,并生成一份文档

反编译

编译:将源代码编译成字节码文件

反编译:将字节码文件反编译成源代码文件