Java学习笔记-我的第一个Java程序

Java简介

Java 是由 Sun Microsystems 公司于 1995 年 5 月推出的高级程序设计语言。

Java 可运行于多个平台,如 Windows, Mac OS 及其他多种 UNIX 版本的系统。

本教程通过简单的实例将让大家更好的了解 Java 编程语言。

移动操作系统 Android 大部分的代码采用 Java 编程语言编程。

我的第一个 JAVA 程序

以下我通过一个简单的实例来展示 Java 编程,创建文件 HelloWorld.java(文件名需与类名一致), 代码如下:

实例

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello World");
}
}

注:String args[]String[] args 都可以执行,但推荐使用String[] args,这样可以避免歧义和误读。

运行以上实例,输出结果如下:

$ javac HelloWorld.java
$ java HelloWorld
Hello World

执行命令解析:

以上我使用了两个命令 javacjava

javac 后面跟着的是java文件的文件名,例如 HelloWorld.java。 该命令用于将 java 源文件编译为 class 字节码文件,如: javac HelloWorld.java

运行javac命令后,如果成功编译没有错误的话,会出现一个 HelloWorld.class 的文件。

java 后面跟着的是java文件中的类名,例如 HelloWorld 就是类名,如: java HelloWorld。

注意:java命令后面不要加.class。

Gif 图演示:

java-HelloWorld.gif

易混知识点解析

有的小伙伴看到后不理解,为什么是 String[] args,这个 args 是干嘛的?

String[] args 可以看出来它是一个数组。在命令行中比如运行 Test.class 文件,你可以这样写:

java Test runoob

相当于给数组传入了一个 runoob 字符串。也可以打印出来,可以作为简单的输入。

例如:

public class Test {
public static void main(String[] args) {
System.out.println(args[0]);
}
}

运行以上实例,输出结果如下:

$ javac Test.java
$ java Test runoob
runoob

此处注意,main 是一个程序的入口,一个 java 程序运行必须而且有且仅有一个 main 方法。

args[0] 是你传入的第一个参数,args[1]是传入的第二个参数,以此类推。

String[] args 还有一种等价的写法: String… args

前者为数组形式, 后者为可变参数形式。

前者用得较多, 但是看到后者也应认识。

Java 程序利用 main 函数中 args 参数实现参数的传递(传递空格处理)

public class Test
{
public static void main(String []args)
{
System.out.println(args[0]);
System.out.println(args[1]);
System.out.println(args[2]);
}
}

用控制台编译运行:

$ javac Test.java
$ java Test aaa bbb ccc
aaa
bbb
ccc

注意:三个参数之间用空格隔开!

如果要输出空格怎么办?

只需要在包含空格的参数上,使用双引号 “” 即可。

实例运行:

$ java Test aaa "b   bb" ccc
aaa
b bb
ccc

public static void main(String[] args) 是什么意思?

这是 Java 程序的入口地址,Java 虚拟机运行程序的时候首先找的就是 main 方法。跟 C 语言里面的 main() 函数的作用是一样的。只有有 main() 方法的 Java 程序才能够被 Java 虚拟机运行,可理解为规定的格式。

对于里面的参数及修饰符:

  • public:表示的这个程序的访问权限,表示的是任何的场合可以被引用,这样 Java 虚拟机就可以找到 main() 方法,从而来运行 javac 程序。
  • static: 表明方法是静态的,不依赖类的对象的,是属于类的,在类加载的时候 main() 方法也随着加载到内存中去。
  • **void:main()**:方法是不需要返回值的。
  • main:约定俗成,规定的。
  • String[] args:从控制台接收参数。

2021.7.18

END…