Java
是SUN(Starfard University Network)公司在1995年开发的一门完全面向对象的,开源的高级编程语言。
Java的发展历史
1995年诞生,1996年发布第一个版本,现在已经出到了Java第九个版本。
1995年 Java诞生
1996年 jdk1.0发布
1998年 jdk1.2发布 J2SE(1.2,1.3,1.4)
2004年 jdk1.5发布 JavaSE
2014年 jdk1.8发布 有些功能不向下兼容
Java的优势
跨平台,一次编写,多次运行
Java是运行在JVM之上的。为不同的平台开发不同的JVM。所有的JVM对Java语言本身的规范是一样的。所以Java才有很好的跨平台行。
操作系统就是调用控制计算机硬件资源的,我们的软件是运行的操作系统之上的。那么我们的问题来了,我们的软件也要指挥激计算机的运作,是通过操作系统来指挥计算机运行的。JVM是用来执行Java代码的。
Java的版本
JavaSE:Java standard edition,Java标准版,是Java的基础。
JavaME:Java micro edition,移动端,小型设备,PDA等
JavaEE:Java enterprise edition,Java的企业级版本,JavaWeb等
JVM,JRE,JDK
JVM-Java virtual machine Java虚拟机,运行Java程序
JRE-Java runtime environment Java运行时环境
JDK-Java development kit Java 开发工具包
下载JDK来安装 www.oracle.com
下载后JDK的安装根据提示进行,还有安装JDK的时候也会安装JRE,一并安装就可以了。
需要配置环境变量
在DOS中执行命令,操作系统会根据系统的环境变量Path去寻找对应的可执行程序(.exe,.bat)。
安装JDK,安装过程中可以自定义安装目录等信息,例如我们选择安装目录为C:\Program Files\Java\jdk1.8.0_151。
在"系统变量"中设置3项属性,JAVA_HOME,PATH,CLASSPATH(大小写无所谓),若已存在则点击"编辑",不存在则点击"新建"。
变量设置
-
变量名:JAVA_HOME
-
变量值:C:\Program Files\Java\jdk1.8.0_151(这里是你JDK的安装路径,可以更换)
-
变量名:CLASSPATH
-
变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
-
目的:配置classpath的目的是为了在任意路径下都可以执行.class文件。所谓的classpath指定的是.class文件所在的位置。
-
classpath不配置的时候,java命令会在当前目录下进行查找.class文件,如果找不到,会报以下错误
-
如果设置了classpath,那么会从classpath指定的路径去寻找.class。如果classpath的值后面不加分号:查找的是classpath指定的路径下是否有.class文件。如果加了分号,先查询classpath指定的路径,再查找当前目录下是否有.class文件。
-
注意:通常配置classpath会以.;开头,表示查询的是当前路径。
-
变量名:Path
-
变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
-
目的:配置path的目的是在任意路径下都可以执行java,javac命令。
测试JDK是否安装成功
-
"开始"->;"运行",键入"cmd";
-
键入命令"java -version","java","javac"几个命令,出现画面,说明环境变量配置成功;
编写一个HelloWorld应用程序
所有的Java程序都是以.java结尾
class HelloWorld{ public static void main(string[] args){ System.out.println("Hello World!"); }}
保存为HelloWorld.java文件。
编写好的应用程序,也就是以.java结尾的文件,称为源文件。编写好的源文件需要通过javac命令进行编译,编译的目的是为了让JVM可以认识并且执行。
编译后会生成一个.class文件,该文件称为字节码文件,能够被JVM认识并执行。
运行程序:使用Java命令进行运行。运行的是.class文件。
Java程序的编写流程
编写源文件---->通过javac命令编译源文件---->通过Java命令执行字节码文件。
javac编译时需要跟上后缀.java,而java命令后直接跟文件即可,不需要后缀。
HelloWorld详细注解
//class时java程序中的一个关键字,用于定义类,这个词在写代码时不能用来做其他的事情,只能用来定义类//HelloWorld 时程序的类名。类名可以自定义。建议使用英语。注意首字母大写。//所有的java程序都是写在类中。后面的大括号用于表示该类的范围。class HelloWorld{ //表示一个main方法。是程序的入口。程序入口:表示所有的代码执行该从方法开始。 //args可以改变为其他名称,也可以是String args[] public static void main(String[] args){ //表示程序的输出,双引号中的内容可以改变。 System.out.println("Hello World!"); }}