Java语言的环境搭建
JDK8.0是开发中常用的结构已定义好了,9,10,11是在8版本的基础上新增加一些功能。
JDK 和开发工具是相同位数的
JDK
Java开发工具包,Java Development Kit,JDK 是提供给java开发人员使用的,其中
包含了JRE,也包含java 的开发工具,所以安装了JDK,就不需要单独安装JRE。
其中的开发工具:编译工具(javac.exe),打包工具(jar.exe), java.exe, javadoc.exe
JRE
Java 运行环境,Java Runtime Environment
包括Java虚拟机(Java Virtual Machine)和Java 程序所需的核心类库,如果想要运行一个开发好的Java程序,计算机中只需要安装JRE即可。
即使用JDK的开发工具完成的java程序,交给JRE去运行。
JDK = JRE + 开发工具包
JRE = JVM + java程序核心类库
下载安装JDK
官方网址
java.sun.com -> www.oracle.com
安装Jdk
整个jdk的安装,傻瓜式安装,直接下一步,下一步。
注意,不放在含有中文的目录以及空格的位置,因为可能识别不了,建议保留版本号。到后面可能有要安装Jre的,这个按说可以不安装,因为jdk里已经有jre了,但是由于后面用eclipse开发工具时因独立的jre有些报错,所以最好都给安装。
环境变量的配置
按理说,只有在jdk的安装目录下的bin文件夹下,运行javac.exe,以及java.exe等指令都可以。
现在想做的是想在任意目录下运行这个,要怎么做?这就需要配环境变量。
用户变量
系统变量,针对所有用户。
这里注意的是path变量,windows系统执行命令式要搜索的路径。
步骤
首先我们打开安装jdk的路径,找到“bin”命名的文件夹,将此路径复制下来;
复制好路径后,右击计算机选择-属性-进入高级系统配置;
接下来选择“高级”-“环境变量”;
然后将这个变量修改成我们刚复制的路径,有些系统后面可能需要加上“;”我这不需要,然后一直确定。
在任何目录下,运行指令,首先在当前目录处找,找不到会去path下找。
加载的话从前往后找,一般把复制的路径放在前面。
一般配置时这样做,
新添加变量JAVA_HOME,值为bin之前的路径,如D:\JAVA\javaweb\Java\jdk1.8.0_201
在path处添加%JAVA_HOME%\bin;即可
附带
记事本写程序运行
记得用记事本写程序时,后缀为.java,文件> 文件夹选项>查看,显示文件的后缀名。
.java结尾文件为源文件,通过javac.exe的命令对源文件进行编译,生成.class结尾的字节码文件,然后通过java.exe命令解释运行.class文件,得出结果。
命令行cmd,找到源文件的存放位置,输入javac 文件名.java,之后不报错即为正常编译,目录里出现.class文件,字节码文件名是类名。然后java 字节码文件名,不需要 .class ,如java HelloWorld。在解释运行时可能输入指令会报找不到或无法加载主类的情况,可能是环境变量里之前配置过classpath的情况,即编译后生成的class文件的路径,把它去掉即可。
java是区分大小写。windows路径下不区分大小写。例子,两个文件夹名,大小写不一样,视为同一个。命令javac 后是个文件名,实则在windows中找,即编译的时候文件名不区分大小写。解释运行环境下严格按照类名大小写来执行,因为这是java层面的。
编译时不写main方法是可以的,不报错,但运行时不写的话,就报错,因为是程序的入口。
注释
1.单行,多行注释,注释了的内容不参与编译。换句话说,编译后生成的字节码文件中不包含注释掉的内容。
2.文档注释,是Java语言特有的。
格式: /**
@author 指定java程序的作者
@version 指定源文件的版本
*/
注释的内容可以被JDK提供的工具javadoc所解析,生成一套以网页文件形式体现的该程序的说明文档。看到的是Java API某类下的说明文档。
操作:javadoc -d 名字1 -author -version 程序(如HelloJava.java)
输入后存放目录多了一个以名字1为名的文件夹,打开里面好多html页面,其中有index.html
多行注释不能嵌套使用。
java程序编写-编译-运行过程
编写:编写的java代码保存在以“.java”结尾的源文件中
编译:使用开发工具javac.exe命令编译我们的java源文件,格式:javac 源文件名.java
运行:使用java.exe命令解释运行我们的字节码文件,格式:java 类名
在一个java源文件中可以声明多个class,但是最多只能有一个类被声明为public的,但是public声明的类名必须和文件名相同
输出语句
System.out.println(); 先输出语句,后换行。
System.out.print(); 只输出语句。
一个源文件编译后,会生成一个或多个字节码文件,字节码文件的文件名与java源文件中的类名相同。