1、内容
1.1、计算机语言发展简史
主要分为三个阶段:
a) 第一代:机器语言
b) 第二代:低级语言
c) 第三代:高级语言(Java、php、c#、C++、NodeJS)
1.2、Java发展简史
- Java是一种语言,具有自己的语法和数据结构
2. Java来自于sun,sun指的是斯坦福大学网络(目前已经被Oracle收购)
3. 具体发展历程
时间 | 描述 |
---|---|
1991~1995 | Sun为了占领智能消费电子产品市场,由james gosling负责该项目,来开发Oak语言 |
1995 | 将Oak改名为Java |
1996 | 发布JDK1.0 |
1997 | 发布JDK1.1 |
1998 | 发布JDK1.2,将该版本命名为J2SDK,将Java更名为Java 2 |
1999 | 将java分为三大块:J2SE(Java标准版)、J2EE(Java企业版)、J2ME(Java微型版本) |
2000 | 发布J2SE1.3 |
2002 | 发布J2SE1.4 |
2004 | 此时不再叫J2SE1.5,叫5.0 |
2005 | 2005 Java 10周年,将J2SE改为 JAVA SE、将J2EE改为 JAVA EE、将J2ME改为 JAVA ME |
2006 | 发布JAVA SE 6 |
2011年7月 | 发布JAVASE 7 |
2014 | JAVA8:lambda表达式(企业中几乎都是JAVA8,因为稳定,并且完全满足开发) |
2017 | JAVA9 |
2018 | JAVA10 |
2018 | JAVA11 |
2019 | JAVA12 |
2019 | JAVA13 |
2020 | JAVA14 |
2020 | JAVA15 |
2021 | JAVA16 |
2021 | JAVA17 |
注:JDK分为Oracle的JDK和社区版的OpenJDK,前者慢慢会提供收费服务(JDK本身使用不会收费),两者都是通过JDK源码包编译出来的,你自己也可以编译出JDK!OpenJDK就是网友们编译出来的。。。
这里是OpenJDK,我们linux服务器上的生产环境,都是OpenJDK的!https://adoptopenjdk.net/index.html
1.3、Java语言特性
简单性
面向对象(适合大型企业级项目)
可移植性(JVM)(一次编译到处运行)
健壮性(自动垃圾回收机制GC、封装了非常多底层的功能)
多线程
1.4、Java的加载与执行
源文件(.java源代码)通过编译器编译成字节码文件class。
通过JVM中的解释器将字节码文件生成对应的可执行文件,运行。
将编译后的程序加载到方法区,存储类信息。
运行时,JVM创建线程来执行代码,在虚拟机栈和程序计数器分配独占的空间。根据方法区里的指令码,在虚拟机栈对线程进行操作,程序计数器保存线程代码执行到哪个位置。
“一处编写,处处运行”:编译后,不依赖于平台环境,在各种操作系统均可运行。
1.5、开始第一个Java程序
1.5.1、J2SE 的安装
- 下载J2SE安装程序
在搜索引擎搜索:oracle jdk 8 download一般就能直接搜索到官网下载地址
2. 进行安装
1.5.2、搭建开发环境
- 显示扩展名
2. 标题和地址栏最好显示完整路径
3. Notepad++
4. 常用命令
- cd 目录名称,进入目录
- cd ..,退回上级目录
- dir,显示文件或目录
- del 文件名,删除文件
- path,classpath(环境变量)
- 主要是为了检索文件方便,如果执行某个文件,不用到文件所在目录执行,那么操作系统会在path路径中检索
- Classpath为类路径,是java运行时查找类文件的路径
- 在命令行执行java -version,如果出现如下显示,说明正常
编译HelloWorld程序
public class HelloWorld{
public static void main(String[] args){
System.out.println("欢迎来到学习Java系列课程!");
}
}
如何编译
javac (java compile)文件名(完整的文件名称,含扩展名),如:javac HelloWorld.java
以上会形成一个HelloWorld.class文件,说明编译成功了
开始运行HelloWorld程序,如何运行?
采用java class文件名(不要扩展名),如:java HelloWorld 结果如图:
第一个程序,成功运行
解释HelloWorld程序
//这种是单行注释,那么java中的所有注释都不会编译到class文件中,所以注释可以任意的写
/*
* 这是多行注释
*/
/**
* 这是多行doc注释,这种注释可以通过生成文档工具,生成到文档里面
*/
/*
public:全局的范围,项目中所有的包都可以访问的
class:标识一个类
HelloWorld:类名,类名的命名规则:首字母大写
{}:所有的类都需要放到大括号中
static:表示静态的
void:表示无返回值
main:是方法名
String[]:数组
args:数组变量名
System.out.println():打印一行内容
*/
public class HelloWorld{
public static void main(String[] args){
System.out.println("欢迎来到Code School学习Java系列课程!");
}
}
Java注释在程序运行时是不执行的,同时也不会放到class文件中,注释主要有三种方式
- // 单行注释
多行注释
/
多行注释
/多行注释,可以生成java doc文档
/*
多行注释
多行注释
/
通过javadoc HelloWorld.java来体验1.6、public class 和 class的区别
类的定义有两种方式:
public class 类名
- class 类名
采用public class来声明class,那么文件名必须和类名完全一致(包括大小写),如果文件名和类名不一致,将会出现如下错误:如图:
代码示例,文件名为HelloWorld.java
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}
采用class来声明类,文件名可以任何合法的文件名称,文件名不需要和Class类一致
但生成的class文件名称和类名一致,不和原文件名称一致
多个class如何执行?
在一个Java文件中,可以声明多个类,如:
public class HelloWorld{
public static void main(String[] args){
System.out.println("欢迎来到Code School学习Java系列课程!");
}
}
class HelloWorld2{
public static void main(String[] args){
System.out.println("欢迎来到Code School学习Java系列课程!");
}
}
需要注意:一个.java文件只能有一个类采用public class进行声明
1.7、名词介绍
1.8、java命令帮助
如果不知道java命令如何使用,可以使用帮助文档查询
格式:java命令 -help
java -help
javac -help
javadoc -help
通过查询文档知道javadoc指定一个目录:
javadoc HelloWorld.java -d helloworld