1、人机交互方式
交互方式 |
图形化界面(Graphical User Interface GUI) |
命令行方式(Command Line Interface CLI) |
2、Java的跨平台性
由于Java包含有JVM(Java Virtual Machine),也就是Java虚拟机,所有所以Java在不同的操作系统都可以运行,实现其跨平台性。
虚拟机在操作系统中用来解析代码,如windows是由c++语言编写,其包含c++语言的虚拟机,因此用c++语言编写的程序windows都可以执行,但是其不包含Java语言的虚拟机,因此需要Java自带JVM,这样Windows才可以识别Java语言编写的程序。
另外,虚拟机不具备跨平台性,我们想在某一个操作系统解析Java代码,就得安装与这个平台相对应的虚拟机。
3、JRE与JDK
名称 | 功能 |
JRE(Java Running Environment)Java运行环境 | 包括JVM以及Java程序所需要的核心类库,如果想要运行一个开发好的Java程序,只需要在计算机中安装JRE即可 |
JDK(Java Development Kit)Java开发工具包 | 供Java开发人员使用,包含Java的开发工具(编译工具(javac.exe)与打包工具(jar.exe)),也包含JRE,因此我们安装JDK后无需再安装JRE |
4、DOS命令行相关操作
JDK安装目录bin(binary 二进制)文件夹下包含着java的开发工具。
比如该目录下的javac.exe,双击它会一闪而过,说明其不是GUI,而是CLI,因此必须从命令行来对其进行操作。
dos命令名称 | 在命令行中的功能 |
e: | 打开E盘 |
cd | 打开文件夹 |
cd… | 返回上一级目录 |
cd\ | 返回根目录 |
dir | 列出当前目录下的文件以及文件夹 |
md | 创建目录 |
rd | 删除目录,目录文件夹下不为空,必须先用del删除目录下文件,才可以删除该目录 |
del | 删除文件 del *.*可以删除目录下全部文件 |
set | 调出本机所有的环境变量 |
cls | 清除屏幕内容 |
help | 调出所有命令的解释 |
help+命令 | 查看该命令的所有注解 |
exit | 退出命令行 |
Windows删除文件夹也是先从内到外删除,先删除文件夹里面内容,最后删除最外层的文件。需要注意的是,rd只能删除文件夹,而del只能删除文件。
“*”是指通配符,意思是统统都能匹配的符号。
5、环境变量及其相关说明
环境变量中,系统变量内的path路径下存放着系统中应用程序所在的路径。如我们可以在命令行中任意文件夹的位置使用notepad(打开一个新的记事本程序)命令,是因为该命令所在的系统根目录的路径已经存放在环境变量里面,所以当我们notepad命令在某一文件夹下执行的时候找不到记事本程序,会自动在系统的环境变量查找到根目录里面的notepad.exe,从而自动执行。
因此,如果我们想在命令行里面直接执行java相关的命令(如javac),那么我们必须将java相关命令所在的目录的路径添加到环境变量中,这样我们下次要直接使用的时候,系统便会自动在环境变量中寻找相应的目录,找到该命令。
所以,配置环境变量的意思就是告诉操作系统我们要执行的这个命令的位置,也就是将命令所在的目录的路径添加到操作系统专门存放应用程序路径的位置——环境变量中。
另一方面,我们在配置环境的时候,有可能会修改bin文件夹所在的路径,而bin文件夹存放着java的命令,这可能导致系统找不到Java命令。因为存放JDK的目录、目录名的改变,而导致path配置也必须更改,为了解决这个问题新创建一个环境变量 JAVA_HOME 记录住JDK的路径,如果地址改变,只需修改JAVA_HOME即可。
因此,我们再设置一个新的变量Java_Home = “C:\Program Files\Java\jdk1.8.0_211”,而path添加“%Java_Home%\bin”,我们把这一部分用变量固定起来,原来的路径是“C:\Program Files\Java\jdk1.8.0_211\bin”,这样“C:\Program Files\Java\jdk1.8.0_211”部分被变量JAVA_HOME这个变量固定起来(用双%表示变量,否则系统会误以为是文件夹),不管后面我们如何修改,都不会影响到这个文件夹的位置!
还有就是,如果我们想在一台没有安装Java环境的电脑上进行相关的操作,我们只需要将JDK的安装路径下的“jdk…”版本的文件夹复制到移动设备上,然后再新的电脑进行如下环境配置,插上移动设备即可进行Java开发。
在命令行中对环境变量进行修改都只是临时的,不会修改系统中真实的环境变量。我们可以在命令行中用set命令将u盘的路径配置到环境变量里面,这样命令行中便配置了Java的环境变量,因此可以在命令行中进行Java开发,但是命令行一关,所有的本机环境配置都不会改变。
如果我们想利用别人电脑里面的其他环境变量,我们可以set path = 别人电脑系统中要用应用的环境变量;%path%,这样便可以把新的环境变量添加到我们命令行的环境变量中来,注意后面加“%path%”是为了保存原有的路径不变。
关于配置“CLASSPATH”环境变量:对于任意生成的类文件“.class”,它可能放在电脑的任意磁盘,比如“.class”文件与生成其的“.java”文件不在同一目录之下,而我们现在在“.java”文件的目录之下,该目录之下没有“.class”文件,那么我们该如何在不切换目录的情况下就可以运行“.class”文件?也就是说,对于一个“.class”文件,我们如何做到在任何位置都可以运行它呢?
我们前面说到如果想在任意文件夹下执行java的命令,可以将java.exe命令存放的路径添加到环境变量,我们这里想在任何文件夹下都可以执行“.class”文件,是类似的需求。
首先,我们不能在path中添加变量,因为path只支持系统默认的命令,如.exe,.CMD,.COM等,因此我们需要新建一个环境变量“CLASSPATH”,即类文件路径。假设我们要运行c盘的myclass文件夹下面一个类文件,建立CLASSPATH = c:\myclass,将该变量添加到系统变量,也就是说我们将该类文件的路径告诉系统了!这样想在任何目录下面运行该类文件的时候,系统会自动在环境变量中寻找到该类文件的路径并执行该文件,与前面java.exe命令的路径添加到环境变量的原理是一样的。
classpath环境变量的作用:将java运行文件“.class”所在路径告诉系统,虚拟机在执行时会根据指定的classpath进行类文件的查找并执行。如果没有配置classpath,虚拟机会在当前路径下查找类文件。如果配置了,虚拟机就先在你指定的位置查找类文件,如果找不到就在当前目录下寻找(前提是classpath在配置的时候路径后会跟一个“;”,如果没有“;”,则不会再当前目录下面寻找)。
另外,需要注意的是,“.”在DOS中表示当前路径,如“set classpath= .;c:\ ;d:\,表示先在当前路径下查找classpath文件,找不到再到c盘,找不到再到d盘。
如果我们想为可执行文件(.exe)配置环境变量,用“path”,如果想为java的执行文件(.class)配置环境变量,用“classpath”。如想在cmd里面运行qq,找到qq.exe的路径,配置到“set path=C:\Program Files (x86)\Tencent\QQ\Bin;%path%”,后面这部分“%path%”表示加上原path路径的配置,然后运行“qq.exe”,这样即可执行。
我们桌面的快捷方式其实就是这样的原理,我们可以在快捷方式——属性——目标 里面修改快捷方式的路径为其他的路径,这样快捷方式就会打开其他的文件,大家可以偷偷玩一下。6、Java命名的一些规范
7、Java开发过程
首先是编写".java"文件,然后用“javac.exe”命令进行编译,产生字节码文件“.class”文件,再用“java.exe”命令进行解释,即可获得结果。javac.exe是一个命令,它在编译的时候调用java所提供的编译程序,查找代码的错误。java.exe是一个命令,其调用的程序是虚拟机,用于解释字节码。
主函数main的作用:任何程序的读取都需要有一个入口,这个入口就是主函数,我们所有的程序最后都会从主函数开始执行。虚拟机在解释代码的时候会调用程序的入口——main函数。有主函数才能保证一个类的独立运行。
同一个java文件中可以放多个包含main函数的类,但是这2个main函数必须放在不同的类下,如:
class HelloWorld{
public static void main(String[ ] args) {
System.out.println("Hello G盘");
}
}
class Test{
public static void main(String[ ] args) {
System.out.println("Hello Test");
}
}
运行的时候,2个都会执行:
G:\java>java HelloWorld
Hello G盘
G:\java>java Test
Hello Test
同一个类里面不能有2个main函数。
8、Java的注释
单行注释:\;
多行注释:**\;
文档注释(Java独有):
/ **
*/
这类注释可以通过javadoc.exe命令将文档注释里面的内容提取出来,形成一个网页,就是你所写程序的说明书。
注释的另一个作用是用于调试程序!
需要注意的是,单行注释中可以有单行注释,多行注释中可以有单行注释,但是多行注释中不能有另一个多行注释(调试过程的常见错误),这个注意点对于文档注释也是适用的。
9、养成写代码的好习惯
实际写代码的过程中需要注意按步骤来写!
/*
需求:巴拉巴拉
思路:巴拉巴拉
步骤:巴拉巴拉
*/
实际代码+适当的注释
10、IDEA的使用
具体见就业班day04关于IDEA的介绍。
首先是IDEA的项目结构,如下图
快捷键(都可以自己设置)
psvm+enter:public static void main(String[] args) {}
sout+enter:System.out.println();
alt+4:调出控制台
alt+/:代码自动补齐提示
shift+f6:修改某一个变量,而其他使用到这个变量的地方会同时变化
ctrl+鼠标点击:可以看到某一个方法的源码
注意就业班-day04-7中关于IDEA项目的关闭,打开,新的module的创建、删除、如何导入以及存在的module。
我们可以在一个项目中导入自己的module以及标准代码的module进行学习!而不需要建立其他的项目。
另外,我们在IDEA中使用一个类的时候,IDEA会帮我们自动导入相应的包,不需要我们手动导入。