我的第一个Java程序 Hello World!
Java 是一门面向对象编程语言, 由 Sun 公司于1995年5月推出,2009年甲骨文公司宣布收购 Sun 公司。 Java 具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点 。 Java 可以编写桌面应用程序、Web应用程序、分布式系统和嵌入式系统应用程序等。
今天一起来写一下 Java 语言的程序 Hello World 吧!
查看 java 版本:
首先需要保证已经按照好了 java 环境, 可以使用 java --version
命令查看:
$ java --version
java 10.0.1 2018-04-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.1+10)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.1+10, mixed mode)
$ javac --version
javac 10.0.1
Helloworld.java 代码:
/**
* Hellow World 程序
* 这里是注释
*
*/
class Helloworld
{
public static void main(String[] args) {
System.out.println("Hello, World!");
System.out.println("Hello, Java!");
}
}
编译并执行代码:
javac 是java语言编程编译器(java compiler)。 javac 工具读由java语言编写的类和接口的定义,并将它们编译成字节代码的 class 文件。
$ javac Helloworld.java
$ java Helloworld
Hello, World!
Hello, Java!
可以使用 ls 命令查看,在当前目录下,产生了一个和原类名(Helloworld.java)相同,后缀为 .class
的字节码文件 (Helloworld.class):
$ ls -l
total 16
-rw-r--r-- 1 wangtest staff 457B 5 27 16:33 Helloworld.class
-rw-r--r-- 1 wangtest staff 151B 5 27 16:33 Helloworld.java
运行原理:
Java 程序需要【编译】和【解释】, 并且装载到 JVM 虚拟机才能运行,就是需要编译器、解释器和JVM虚拟机。
Java 编译器将 .java
文件编译成 .class
文件(字节码),然后 Java虚拟机 分将其翻译成为机器码以便让计算机执行。
代码说明:
// public: 类修饰,公共
// class: 关键字,类
// HelloWorld: 我们起的类名
public class Helloworld
{
// static:表明这个方法是静态的;
// void: 表明这个方式没有返回值,即返回值为空;
// main: 主函数,程序入口
// String[] args: 是方法是参数,参数名为 args, 参数类型为 String 的数组
public static void main(String[] args) {
// System: 系统;
// out: 输出;
// println: 输出并自动换行
System.out.println("Hello, World!");
System.out.println("Hello, Java!");
}
}
类: public
是类修饰,表示公有的,外部可以访问。 class
是关键字,表示这是一个类,HelloWorld 是我们自己起的一个类名;
方法: 在类中,有一个名叫 main
的方法,这个是 Java 程序执行入口方法,方法上的 public
也是修饰,表示这个方法是公有的,static
是静态修饰关键字,表示这个方法是静态方法,void
是方法的返回值,即返回值为空,
方法的参数: 括号里的 String args[] 是方法参数,这里是指字符串数组;
方法的内容: 这里我们只输出了两个字符串。 System
是 java.lang 里面的一个类,out
是 System 类里面的一个静态数据成员,而且这个成员是 java.io.PrintStream 类的引用。 println()
就是 java.io.PrintStream 类里的一个方法,它的作用是向控制台输出信息。
参考链接
https://blog.csdn.net/djfgduyhgfu/article/details/52836762
http://www.cnblogs.com/eniac12/p/5143160.html
https://blog.csdn.net/Celeste7777/article/details/49284281