从机器语言到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跨平台原理

DOS系统
进入DOS系统
1 | win+r,输入cmd,回车,唤起dos系统 |
切换盘符
1 | 盘符名称: |
文件夹操作
1 | # 查看当前目录有哪些文件夹和文件 |
文件操作
1 | # 拷贝文件,其中,目标路径如果是一个文件夹,那么拷贝后的文件文件名不会更改。目标路径如果是一个文件,那么拷贝后的文件名称就是那个文件名 |
辅助命令
1 | # 退出窗口命令 |
第一个Java程序
编写程序
- 编写代码
1 | public class HelloWorld { |
- 编译
- 打开DOS窗口,切换到代码路径
- 使用
javac HelloWorld.java进行编译 - 使用
java 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)识别,并生成一份文档
反编译
编译:将源代码编译成字节码文件
反编译:将字节码文件反编译成源代码文件