以下通过一个简单的实例来开始我们的ava 编程,创建文件 HelloWorld.java(文件名需与类名一致), 代码如下:
public class HelloWorld {
/** 第一个Java程序
* 打印字符串 Hello World
*/
public static void main(String[] args) {
System.out.println("Hello World");
}
}
$ javac HelloWorld.java //javac命令用于将源文件编译为class字节码文件
$ java HelloWorld // java命令用于执行,java命令后面不要加.class
Hello World
String[] args表示是main方法运行时的数组类型的参数,String args[] 与 String[] args 都可以执行,但推荐使用 String[] args,这样可以避免歧义和误读。
下面我们就领用args参数实现参数的传递:
public class HelloWorld {
public static void main(String[] args) {
System.out.println(args[0]);
System.out.println(args[1]);
System.out.println(args[2]);
}
}
$ javac HelloWorld.java
$ java HelloWorld aaa bbb ccc // 三个参数之间用空格隔开
aaa
bbb
ccc
如果要输出的参数中包含空格怎么办?这时只需要在包含空格的参数上,使用双引号 "" 即可。
$ java Test aaa "b bb" ccc
aaa
b bb
ccc
程序的入口-main方法
main方法保证所在类的独立运行,是程序的入口,被jvm调用。
main方法public static void main(String args){}这段声明里每个关键字的作用:
public:表示此方法可以被外部所调用
static:表示此方法可以由类名称直接调用
void:主方法是程序的起点,所以不需要任何的返回值
main:系统规定好默认调用的方法名称,执行的时候,默认找到main方法名称
String args[]:表示的是运行时的参数
注意:
1)主函数的存在,仅为该类是否需要独立运行,如果不需要,主函数是不用定义的。
2)在System.out.println()里面,System是系统提供的预定义的final类,out是一个PrintStream对象,println是out对象里面一个重载的方法。
3)Java中的任何数据类型都可以使用System.out.pritln方法显示。对基本数据类型而言,输出的往往是变量的值。
如何执行指定class文件目录(classpath)
如果我们 Java 编译后的class文件不在当前目录,我们可以使用 -classpath 来指定class文件目录:
C:> java -classpath C:\java\DemoClasses HelloWorld
以上命令中我们使用了-classpath参数指定了HelloWorld的class文件所在目录。如果class文件在jar文件中,则命令如下:
c:> java -classpath C:\java\myclasses.jar