java特点:开源、跨平台性
通过java语言编写的程序在不同的系统平台上都可以运行。
java程序——虚拟机——不同的系统平台
JDK/JRE/JVM
JDK:开发工具 JRE+tools
JRE:运行环境 JVM+core class librarys(类库)
JVM:虚拟机 保证Java的语言跨平台
Java程序的基本单位(类class)
class HelloWorld
{
public static void main(String [] args)/程序的入口,虚拟机的调用/
{
System.out.println("HelloE盘");
}
}
执行
1、通过javac命令编译该文件,产生字节码。注意:是否对java工具的路径,环境变量的设置
javac HelloWorld.java
2、通过Java命令执行字节码文件。
- 编译javac——语法的检查
- 运行Java——启动虚拟机
环境变量的设置
环境变量:windows path中所放的都是在不同的目录下使用该应用的路径
notepad是C:\Windows\System32下的EXE程序,但是在任何的目录下都可以使用notepad。
同理,对于javac,将这个javac所在的路径告诉Windows,在不同的目录下使用时,用Windows去找就好
配置临时变量
可以使用自己u盘上的jdk
临时变量只在当前窗口起作用
第一个窗口输入完命令后再打开第二个窗口,发现path路径没有变!!
classpath
环境变量设置的是在任意路径下都可以调用Javac、Java等工具
但在当前目录下运行别盘目录的类,想执行别的盘的class类,却不想换目录,就要设置classpath
如果没有配置classpath,虚拟机会在当下目录里找;若配置了,会在classpath中找
例:有两个类(字节码文件)都叫Demo,一个在D:\1 一个在E:\2
1、在D:\1中执行E:\2中的Demo
D:\1>set classpath=E:\2
D:\1>java Demo
2、将E:\2中的Demo删掉,D:\1中还在
D:\1>java Demo 会报错
3、执行Demo在找不到E:\2中时,我想执行D:\1中的
D:\1>set classpath=E:\2;
D:\1>java Demo
没有分号,虚拟机会在指定目录下找;有分号也会在指定目录下找,找不到会继续在当前目录下找
4、纪要运行当前,也要运行指定
不要写D:\1>set classpath=E\2;
D:\1>set classpath=.;E\2
在javaSE中代表当前,java命令运行的路径。
如果设置了calsspath在bin目录下,在别的路径下运行每一个类,那么 . 就代表了这个路径
ide做了两件事:
一件就是设置了classpath在bin目录下
另一件就是将运行是的目录放到了上面的一级
windows系统下如何打开命令窗口?
- 运行dos命令窗口 win+R 输入cmd
- win+R 输入cmd
- 在当前窗口下shift+右击打开当前目录下的命令窗口
常见命令
- 盘符切换: D:
- 列出当前: dir
- 创建目录: md 目录名称
- 删除目录: rd 目录名称
- 改变指定目录: cd 目录名称(单进)/cd 多级目录名称(多进)
- 回退目录: cd…(单进)/cd(多进)
注意:文件名过长时可以用代替 cd desk
打开文件直接输文件名就好 - 创建文件: echo aaa >a.txt
- 删除文件: del 文件名称/del *.txt(删除该目录下所有的txt)/del *(删除该目录下的所有文件)
- 清屏: cls
- 退出: exit
java概念解释
JavaSE:普通桌面,基础
JavaME:安卓,ios
JavaEE:企业级,web义目录标题)