1. Intro, Hello World Java
约 612 字大约 2 分钟
2025-04-01
Hello world
下面是 Java 的第一个 Hello world。
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello world!");
}
}
面向对象的特性是:所有的代码都放在类(class)里面。
public static void main (String[] args)
是 main函数的定义。
Java 编译运行
安装好 JDK 之后,想要运行 Java 程序,需要以下两个步骤:
- 编译 Java 源文件。
- 运行字节码文件。
$ javac HelloWorld.java # 1. javac指令编译
$ java HelloWorld # 2. java指令运行
Hello World!
变量和循环
public class HelloNumbers {
public static void main(String[] args) {
int x = 0;
while (x < 10) {
System.out.print(x + " ");
x = x + 1;
}
}
}
编译运行之后这样显示:
$ javac HelloNumbers.java
$ java HelloNumbers
0 1 2 3 4 5 6 7 8 9
这里主要是区分 System.out.println
和 System.out.print
的区别:System.out.println
会换行, System.out.print
则不换行。
强类型语言
Java 是一个强制类型定义的语言(大部分编译型的编程语言都是强类型),也就是说我们定义一个变量的时候需要声明它的类型和名称。
Python 则相反,x 可以是 int,过一会也可以变成 Dog 类型都可以。
public class HelloNumbers {
public static void main(String[] args) {
int x = 0;
while (x < 10) {
System.out.print(x + " ");
x = x + 1;
}
x = "horse";
}
}
编译后会显示:
$ javac HelloNumbers.java
HelloNumbers.java:9: error: incompatible types: String cannot be converted to int
x = "horse";
^
1 error
这就是强类型定义的证明:定义为整数类型的 x
,在经过 x = "horse"
赋值语句之后通过不了编译。
当然有例外:
String h = 5 + "horse";
这条语句就可以通过。Java 具有字符串拼接的特性,数字和字符串通过 +
拼接在一起,数字会强制转换为字符串:"5horse"
Java 函数定义
先来一段 Python:
def larger(x, y):
if x > y:
return x
return y
print(larger(8, 10))
刚刚提到过 Java 的所有代码写在类里面,所以加上类,改一下 print 的方法就可以了。
public class LargerDemo {
public static int larger(int x, int y) {
if (x > y) {
return x;
}
return y;
}
public static void main(String[] args) {
System.out.println(larger(8, 10));
}
}
代码规范
详细的代码规范可以在这里查看: Style Guide | CS 61B Spring 2019
顺便提一下 Javadoc:有一种注释方法,可以通过 Javadoc 生成 HTML 文档。Java 程序员可以给每一个函数加上这样的注释,用 Javadoc 生成 HTML,方便后续的程序员读懂代码。
这种注释方法是:/** 注释内容 */