1. java的开发环境:
- 想要运行java程序必须安装jdk
- 再安装相应支持编写java源程序的软件
JDK 是Java开发工具包,就跟Go和Python一样有SDK这种工具包
编写Java需要的软件,例如:eclipse、IDEA等;
2. Java的加载与执行:一个完整的java程序
2.1 Java的生命周期
- 编译阶段
- 运行阶段
2.2 编译阶段:
- 编译生成的程序被称为:
字节码程序(.class)
- 编译生成的文件是:xxx.class文件,不符合java语法规则则无法生存字节码文件
.class字节码文件不是纯粹的二进制,这种文件无法在操作系统中直接执行。
2.2.1 编译阶段过程:
程序员需要在硬盘的某个位置新建一个.java扩展名的文件,该文件被称为java源文件。
- 源文件当中编写的是java 源代码/源程序。
- 这个源程序是不能随意编写的,必须符合java语法规则 (语法规则是需要记忆的)
-
java程序员需要使用jdk当中自带的javac.exe命令进行java程序的编译。
- javac怎么用?在哪用呢?
- javac的使用规则:
javac java源文件的路径 - 在dos命令窗口中使用
- javac的使用规则:
- javac是一个java编译器工具/命令
- javac怎么用?在哪用呢?
一个java源文件可以编译生成多个.class文件。
字节码文件.class
是最终要执行的文件,所以说class文件生成之后
- java源文件删除并不会影响java程序的执行。
但是一般java源程序不要删除,因为class文件生成的效果可能不是我们想要的,需要回头去源程序进行修改,然后将java源程序重新编译生成新的class文件,然后再运行这个.class程序,生成新的效果。
-
编译结束之后,可以将.class文件拷贝到其他操作系统当中 ————跨平台特性
-
编译和运行可以在不同的操作系统中完成。
2.3 运行阶段:
- JDK安装之后,除了javac.exe之外,还有另一个工具/命令,叫做java.exe;
Java.exe命令主要负责运行阶段。
2.3.1 java.exe在哪里用?怎么用?
- 在Dos窗口中使用。
打开Dos命令行步骤:
- win+r
- 再打开的窗口中输入cmd
2.3.2 java.exe 怎么用?
- java 类名
A.class,那么就可以这样用:java A
B.class,那么就可以这样用:java B
错误写法:java A.class [不加.class]
2.3.3 运行阶段的过程:
-
打开DOS命令窗口
-
输入: java 类名
-
java.exe命令会启动jvm,jvm会启动 类 加载器classLoader
-
ClassLoader会去硬盘搜索 类名.class文件,找到该文件则该字节码文件装载到jvm当中。
-
然后jvm将 类名.class字节码文件解释成二进制数据
-
然后操作系统执行解释后的二进制数据和底层硬件平台进行交互。
大致步骤:编写java源程序 > 由javac文件进行编译创建.class文件 > 编译无误后启动java.exe调出类启动器ClassLoader > ClassLoader在硬盘中查找类名.class文件 > 找到该文件装载进jvm(java虚拟机)中 > jvm将.class文件解释成二进制数据 > 再由操作系统执行和底层硬件平台进行交互
3. 编写第一个Java程序
3.1 准备环节:
编写java所需要的东西
- 支持java语言的编写软件
- JDK<java开发工具包>
- JRE<java开发环境>
- JVM<java虚拟机>
3.1.1 JDK、JRE、JVM三者关系
- 在JDK中包含了JRE
- 在JRE中包含了JVM
下载JDK后无需再下载独立的JRE跟JRE,同理下载了JRE也无需下载独立的JVM;
3.1.2 开发跟运行的差别
- 开发:安装JDK就好,比较JDK是开发工具包;
- 运行:只运行那么安装独立的JRE即可;
3.1.3 差异性:
- JDK体积较大若是只运行的话还是安装JRE更好
- JRE比JDK的体积小所以更加方便安装等操作
3.2 编写第一个java程序:
- 含义内容:
- void:无返回类型;
- static:静态的;
- println:换行打印;
- String:字符串;
- print:打印;
- out:输出设备;
- System:系统的;
—— HelloWorld.java文件
public class HelloWorld{
public static void Main(String[] args){
System.out.println("Hello,World");
}
}
3.2.1 dos命令窗口快捷指令:
关于目录切换命令:cd
- cd 命令的语法格式:
cd 路径
路径分为:
- 绝对路径:
C:\Users\Administrator
D:\用户目录\收藏夹
F:\tools\CamtasiaStudio-v6.00
…
从硬盘的根路径作为出发点。 - 相对路径:
从当前所在的位置作为起点的路径。
自动补全:
- cd e 【然后按tab键,当前所在的目录下所有以e开始的目录自动补全路径,当这个自动补全的路径不是自己想要的路径,可以继续使用tab键】
回到上级目录:cd …
- cd …/…/…/
…是一个路径,代表当前路径的上级路径
直接回到根路径:cd \
查看当前目录下所有的子文件和子目录:
- dir
不要把相关重要的资料放到桌面上,因为桌面是属于C盘系统盘。
如果C盘过满,会降低系统的运行速度
不使用 cd 命令,切换盘符:
- c: 回车
- d: 回车
- e: 回车
- f: 回车
直接在dos命令里输出盘符即可
打开注册表:
- regedit
文件 -version:
- 查看文件的版本号
将源程序通过javac工具进行编译:
- 首先先确定javac命令工具是否可用;
- 打开dos命令窗口,直接输入javac,然后回车
‘javac’ 不是内部或外部指令,也不是可运行的程序或批处理文件。
如果出现以上问题是因为:windows未找到文件
- 怎么解决以上问题?
* windows是如何搜索某个命令的呢?
- 首先从从当前目录下搜索
- 当前目录搜索不到,会从环境变量path指定的路径当中搜索某个指令
- 如果都搜索不到,则报以上的错误。
解决:只需切换目录直接指定文件即可
3.3 运行java程序:
- 使用方式:
java 类名