Java是使用C++开发出来的。1995年,SUN正式推出了Java编程语言。
Java最初的开发模式分为三类:
使用专门的解释器对源程序逐行解释成特定平台的机器码并立即执行的语言。解释型语言通常不会进行整体性的编译和链接处理,解释型语言相当于把编译型语言中的编译和解释过程混合到一起同时完成。
运行效率较低,不能脱离解释器独立运行。但跨平台容易
例如:Ruby、Python等语言
使用专门的编译器,针对特定平台(操作系统)将某种高级语言源代码一次性的“翻译”成可被该平台硬件执行的机器码(包括机器指令和操作数),并包装成该平台所能识别的可执行性程序的格式,这个转换过程称为编译(Compile)。
编译生成的可执行性程序可以脱离开发环境,在特定的平台上独立运行。运行效率较高,但不利于平台的移植。
例如:C、C++、FORTRAN、Pascal等高级语言
Java语言比较特殊,由Java语言编写的程序需要经过编译步骤,但这个编译步骤并不会生成特定的平台的机器码,而是生成一种与平台无关的字节码(也就是.class文件)。当然这种字节码不是可执行性的,必须使用Java解释器来解释执行。因此我们认为:Java语言既是编译型语言,也是解释型语言
Java里负责解释执行字节码文件的是Java虚拟机,即JVM(在一台计算机上由软件或硬件模拟的计算机)。JVM是Java程序跨平台的关键部分,只要为不同平台实现了相应的虚拟机编译后的Java字节码就可以在该平台上运行。
编译和运行Java程序必须经过两个步骤,①将源文件编译成字节码。②解释执行平台无关的字节码程序。分别需要使用java和javac两个命令。Windows操作系统根据Path环境变量来查找命令。Path环境变量的值是一系列路径。
[我的电脑]->[右键属性]->[高级系统设置]->[高级]->[环境变量]
在最前面追加java的工具的路径配置。
环境变量分为用户变量和系统变量。用户变量只是对当前用户有效,系统变量对所有用户有效。
对于初学者而言,先掌握javac命令的如下用法:
javac -d destdir srcFile
-d destdir是javac命令的选项,用以指定编译生成的字节码文件的存放路径,destdir只需是本地磁盘上的一个有效路径即可;而srcFile是Java源文件所在的位置,这个位置既可以是绝对路径,也可以是相对路径。
通常,总是将生成的字节码文件放在当前路径下,当前路径可以用一点(.)来表示。在命令窗口进入HelloWorld.java文件所在路径,在该路径下输入:
javac -d . HelloWorld.java
运行命令后,在该路径下生成一个HelloWorld.class文件。
运行Java程序
运行Java程序使用java命令,启动命令行窗口,进入HelloWolrd.class所在位置,直接输入java命令,不带任何参数或选项,将看到系统输入大量提示,告诉开发者如何使用java命令。
java Java类名
Java是一种纯粹的面向对象的程序设计语言,因此Java程序必须以类(class)的形式存在,类是Java程序的最小程序单位。 Java程序源代码里定义了一个public类,则该源文件的文件名必须与public类的类名相同。一个Java源文件里最多只能定义一个public类
class类名称{}:文件名可以与类名称不同,生成的字节码文件就是”类名称.class”
建议:1.一个源文件只定义一个类,不同的类使用不同的源文件定义。
2.让Java源文件的主文件名与该源文件中定义的public类同名
①单行注释://注释内容
②多行注释:/* 注释内容 */
③文档注释:/** 文档注释标记 */
javadoc工具只处理文档源文件在类、接口、方法、Field、构造器和内部类之前的注释,忽略其他地方的文档注释。而且javadoc工具默认只处理以public或protected修饰的类、接口、方法、Field、构造器和内部类之前的注释。
javadoc 选项 Java 源文件/包
例如:
-d:该选项指定一个路径,用于将生成的API文档放到指定目录下。
-windowtitle:该选项制定了一个字符串,用于设置API文档的浏览器窗口标题。
-doctitle:该选项指定一个HTML格式的文本,用于指定概述页面的标题。(只有对于多个包下的源文件来生成API文档时,才有概述页面。
-header:该选项指定一个HTML格式的文本,包含每个页面的页眉。
常用的javadoc标记:
@author:指定Java程序的作者。
@version:指定源文件的版本
@deprecated:不推荐使用的方法
@param:方法的参数说明信息
@return:方法的返回值说明信息
@see:“参见”,用于指定交叉参考的内容
@exception:抛出异常的类型
@throws:抛出的异常,和exception同义