Java HelloWorld
写法一(推荐 避免歧义)
public class Demo01{
public static void main(String[] args){
System.out.println("桃李不言下自成蹊");
}
}
javac Demo01.java
Demo01.class
java Demo01
java Demo01.java
写法二(不推荐)
public class Demo02{
public static void main(String... args){
System.out.println("桃李不言下自成蹊");
}
}
执行命令解析:
以上我们使用了两个命令 javac 和 java。
javac 后面跟着的是java文件的文件名,例如 HelloWorld.java。 该命令用于将 java 源文件编译为 class 字节码文件,如: javac HelloWorld.java。
运行javac命令后,如果成功编译没有错误的话,会出现一个 HelloWorld.class 的文件。
java 后面跟着的是java文件中的类名,例如 HelloWorld 就是类名,如: java HelloWorld。
注意:java命令后面不要加.class。
Demo03
Demo03.java
public class Demo003{
public static void main(String[] args){
System.out.println("桃李不言下自成蹊");
}
}
Demo03.java:1: 错误: 类 Demo003 是公共的, 应在名为 Demo003.java 的文件中声明
使用public修饰的类 该类的名字必须与该类所在的源文件同名
java编译后生成的class文件名与源代码中类的名字相同与源代码文件名无关
Demo04
Demo04.java
class Demo004{
public static void main(String[] args){
System.out.println("桃李不言下自成蹊");
}
}
Demo004.class
Demo05
使用public 修饰的类 该类的名字必须与该类所在的源文件同名
java编译后生成的class文件名与源代码中类的名字相同与源代码文件名无关
在同一个源代码文件中可以编写多个类
在同一个源代码文件中多个类编译后生成各自与该源代码中与各个同名的class文件
Demo05.java
class Demo051{
public static void main(String[] args){
System.out.println("桃李不言下自成蹊");
}
}
class Demo052{
public static void main(String[] args){
System.out.println("桃李不言下自成蹊");
}
}
Demo051.class Demo052.class
Demo06
Demo06.java
public class Demo06{
public static void main(String[] args){
System.out.println("桃李不言下自成蹊");
}
}
class Demo006{
public static void main(String[] args){
System.out.println("桃李不言下自成蹊");
}
}
Demo06.class Demo006.class
Demo07
Demo07.java
class Demo07{
public static void main(String[] args){
System.out.println("桃李不言下自成蹊");
}
}
public class Demo007{
public static void main(String[] args){
System.out.println("桃李不言下自成蹊");
}
}
Demo07.java:6: 错误: 类 Demo007 是公共的, 应在名为 Demo007.java 的文件中声明
Demo08
Demo08.java
public class Demo08{
public static void main(String[] args){
System.out.println("桃李不言下自成蹊");
}
}
public class Demo008{
public static void main(String[] args){
System.out.println("桃李不言下自成蹊");
}
}
Demo08.java:6: 错误: 类 Demo008 是公共的, 应在名为 Demo008.java 的文件中声明
Demo09
public class Demo09{
public static void main(String[] args){
System.out.println("我爱你中国");
}
}
public class Demo09{
public static void main(String[] args){
System.out.println("亲爱的母亲");
}
}
Demo10
class Demo10{
public static void main(String[] args){
System.out.println("我爱你中国");
}
}
class Demo10{
public static void main(String[] args){
System.out.println("亲爱的母亲");
}
}
Demo11
public class Demo11{
class Demo111{
}
}
Demo11.class Demo11$Demo111.class
Demo12
public class Demo12{
static class Demo121{
}
}
Demo12.class Demo12$Demo121.class
Demo13
public class Demo13{
public static class Demo131{
}
}
Demo13.class Demo13$Demo131.class
Demo14
public class Demo14{
public static class Demo141{
}
public static class Demo142{
}
}
Demo14.class Demo14$Demo141.class Demo14$Demo142.class
Demo15
public class Demo15{
public class Demo151{
}
public class Demo152{
}
}
Demo15.class Demo15$Demo151.class Demo15$Demo152.class
Demo16
public class Demo16{
public static class Demo161{
}
public static class Demo162{
}
public class Demo163{
}
public class Demo164{
}
}
Demo16.class Demo16$Demo161.class Demo16$Demo162.class Demo16$Demo163.class Demo16$Demo164.class
Java标识符的命名规则
Java 所有的组成部分都需要名字。类名、变量名以及方法名都被称为标识符。
关于 Java 标识符,有以下几点需要注意:
- 标识符都可以使用字母(A-Z 或者 a-z),美元符($)、或者下划线(_)但是不能以数字开头
- 关键字不能用作标识符
- 标识符是大小写敏感的
- 类的首字母必须大写 多个单词组成的类名使用大驼峰命名法
- 变量名和方法名首字母小写 多个单词组成的变量名方法名用使小驼峰命名法
Java 关键字
下面列出了 Java 关键字。这些保留字不能用于常量、变量、和任何标识符的名称。
类别 | 关键字 | 说明 |
---|---|---|
访问控制 | private | 私有的 |
protected | 受保护的 | |
public | 公共的 | |
default | 默认 | |
类、方法和变量修饰符 | abstract | 声明抽象 |
class | 类 | |
extends | 扩充,继承 | |
final | 最终值,不可改变的 | |
implements | 实现(接口) | |
interface | 接口 | |
native | 本地,原生方法(非 Java 实现) | |
new | 新,创建 | |
static | 静态 | |
strictfp | 严格,精准 | |
synchronized | 线程,同步 | |
transient | 短暂 | |
volatile | 易失 | |
程序控制语句 | break | 跳出循环 |
case | 定义一个值以供 switch 选择 | |
continue | 继续 | |
default | 默认 | |
do | 运行 | |
else | 否则 | |
for | 循环 | |
if | 如果 | |
instanceof | 实例 | |
return | 返回 | |
switch | 根据值选择执行 | |
while | 循环 | |
错误处理 | assert | 断言表达式是否为真 |
catch | 捕捉异常 | |
finally | 有没有异常都执行 | |
throw | 抛出一个异常对象 | |
throws | 声明一个异常可能被抛出 | |
try | 捕获异常 | |
包相关 | import | 引入 |
package | 包 | |
基本类型 | boolean | 布尔型 |
byte | 字节型 | |
char | 字符型 | |
double | 双精度浮点 | |
float | 单精度浮点 | |
int | 整型 | |
long | 长整型 | |
short | 短整型 | |
变量引用 | super | 父类,超类 |
this | 本类 | |
void | 无返回值 | |
保留关键字 | goto | 是关键字,但不能使用 |
const | 是关键字,但不能使用 |
**注意:**Java 的 null 不是关键字,类似于 true 和 false,它是一个字面常量,不允许作为标识符使用。