目录
下面我们详细讲解一下为什么要配置Path,JAVA_HOME和CLASSPATH
1. JDK
JDK: Java development kit —— Java开发工具包
安装JDK,配置环境变量。
为什么要配置环境变量?
假如我们桌面没有QQ图标,每次启动QQ就得通过安装路径找到QQ.exe进行启动
这样太麻烦,如果我们想在命令行中启动QQ,该怎么做呢?
这样就可以:
我们可以看到,只有切换到qq.exe当前的路径时,才可以通过qq.exe启动QQ,那么能不能在任意路径底下都能通过qq.exe启动QQ呢?
当然可以。这就需要配置环境变量了。
系统属性-环境变量-Path-把刚刚的路径添加进去(D:\软件\Bin)就可以了(电脑在找命令时,会去检查Path,就会在Path中找到qq.exe的路径,我们就不需要在命令行中输了)
这时,直接输入qq.exe就能直接打开QQ
当然,这种通过配置环境变量进行命令行启动的方式不仅限于QQ,如果你想,都可以。
到这就可以解释Java为什么要配置环境变量了,JDK中也有好多.exe文件之后需要被用到(java.exe,javac.exe等),当我们通过命令行运行java时,必须在这个路径底下才可以,
而通过配置环境变量,我们就可以在任意路径都可以通过命令运行java了。
配置环境变量就可以省掉切换路径的那串命令。非常方便。
下面我们详细讲解一下为什么要配置Path,JAVA_HOME和CLASSPATH
Path:
- JDK中有好多.exe文件之后需要被用到(java.exe,javac.exe等),这些文件被放在bin中
- Windows系统在dos命令行中执行命令的时候,会先从当前路径去找,如果找不到,就会到Path路径下查找,如果没有设置Path,那么执行Java命令的时候只能进到JDK的安装目录里面才能执行,因为设置了Path,所以我们可以在系统的任意路径下面执行Java命令
- 设置Path:1. 直接添加路径(C:\Program Files\Java\jdk1.8.0_192\bin)2.引用JAVA_HOME(%JAVA_HOME%\bin)
JAVA_HOME:
- 它指向JDK的安装目录,里面放的是(C:\Program Files\Java\jdk1.8.0_192)
- 因为JDK的安装目录每个人是不同的,规定一个Java_HOME环境变量,里面放着JDK的安装路径,那么之后需要用到时直接引用Java_HOME就行了。
CLASSPATH:
- 作用是指定类搜索路径,要使用已经编写好的类,前提是能够找到它们了,JVM就是通过CLASSPATH来寻找类的.class文件。我们需要把JDK安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当前目录“.”也加入到该变量中。
- “.”表示当前目录,“;”是分隔符【在Windows下,分隔符是分号(;),而在Linux下,分隔符是冒号(:)】
- CLASSPATH中放的是(.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar)
2. 到底是谁在运行Java程序?
在记事本中写一个Java的HelloWord程序
记事本中这一堆字母怎么运行?—— 通过命令行来编译后运行。
图解:(!!!)
- JDK(Java Development Kit) : Java开发工具包,包含了JRE
- JRE(Java Runtime Environment) : Java运行时环境,包含了JVM
- JVM:Java虚拟机,运行字节码(.class)文件
write once,run anyone 编写一次到处运行
只要你的电脑上有JVM,我把我的.class文件发给你,无论你是什么电脑,多少位的电脑,你都能运行
如果不想用 cd 来切换路径,可以用以下方法:
- 1. shift + 鼠标右键 - 找到在此处打开Powershell窗口
- 2. 选中这个路径改为cmd,可以直接在这个路径底下打开cmd
3. 用 Java 实现 HelloWorld
但是一个源文件中可以有多个类,并且每一个类都会生成一个字节码文件。
在一个类中,main方法也只能有一个
总结:
- 1. 一个Java源文件中,可以有若干各类,但是只能有一个public类,并且public修饰的类名必须和文件名相同
- 2. 方法必须在类的内部,每一个类中,可以有多个方法,但只能有一个main方法。
- 3. 每一个类都会生成一个字节码文件
4. IDEA的快捷键
main/psvm - public static void main(String[] args) { }
sout - System.out.println();
10.sout - System.out.println(10);
"hello".sout - System.out.println("hello");
块注释 ctrl+shift+/ 取消块注释 ctrl+shift+/ 效果 /* */
行注释 ctrl+/ 取消块注释 ctrl+/ 效果 //
文档注释 输入/**按回车 效果 /** */
5. 注释
Java中的注释主要分为以下三种:
- 行注释(单行注释)
- 块注释(多行注释)
- 文档注释:常见于方法和类之上描述方法和类的作用,可以被javadoc工具解析,生成一套以网页文件形式体现的程序说明文档
在cmd中,使用javadoc工具从Java源码中抽离出注释,可能会用到的命令如下:
-d 创建目录 后面是目录名
-author 显示作者
-version 显示版本号
-encoding UTF-8 设置编码为UTF-8
-charset UTF-8 字符集修改为UTF-8
如:javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java
6. 标识符
在程序中由用户给类名、方法名或变量所取的名字就是标识符。
关于标识符的规定:
- 标识符中由 字母、数字以及 下划线和 美元符号$ 符号组成
- 标识符不能以数字开头,也不能是关键字,且严格区分大小写
关于标识符的建议(合法但不合理):
- 不以下划线或$开始,也不以下划线或$结束
- 类名:每个单词的首字母大写(大驼峰)
- 方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
- 变量名:与方法名规则相同
如:
下面那些标识符是合法的?
A:class B:HelloWorld C:main D:123abc E:ARRAY_SIZE F: $name G: name:jim
- A:class 不能是关键字 D:123abc 不能以数字开头 G: name:jim 不合法标识符符号 :
- B:HelloWorld (大驼峰)多用于类名 C:main (小驼峰) 多用于方法名
- E:ARRAY_SIZE F: $name
- 合法:B C E F