1、初识 Java 的 main 方法
1.1 main 方法示例
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello,world");
}
}
如上展示的就是最简单的一个 Java 程序,Java 的 main 方法应该是当前主流编程语言中中最“长”的。
通过上述代码,我们可以看到一个完整的 Java 程序的结构,Java 程序的结构由如下三个部分组成:
1、源文件(拓展名为xxx.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。
2、类:类中带有一个或多个方法。方法必须在类的内部声明。
3、方法:在方法的花括号中编写方法应该执行的语句。
总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。
注意:在一个源文件中只能有一个 public 修饰的类,而且源文件名字必须与 public 修饰的类名字相同。
1.2 运行 Java 程序
Java 是一门半编译、半解释型语言。先通过 javac 编译程序把源文件进行编译,编译后生成的 .class 文件是由字节码组成的与平台无关、面向 JVM 的文件。最后启动 java 虚拟机来运行 .class 文件,此时 JVM 会将字节码转换成平台能够理解的形式来运行。
首先看程序:
public class HelloWhorld {
public static void main(String[] args) {
Systemo.out.println("hello");
}
}
我们用记事本(Sublime)写出这一段 Java 代码,怎么让他跑起来?怎么运行?写这个代码的规则是什么?
.java
文件是源代码,需要 java 的编译器去编译,而 java 的编译器就是 JDK 中的 javac.exe
1、我们 win+r 打开运行窗口,输入 cmd,打开命令行窗口:
2、找到我们保存.java
文件的位置,在命令行转到所在盘符,因为我保存在 d 盘,所以,我输入d:
3、然后输入cd
(空一个格,后面复制盘文件夹地址)
其中cd
的意思就是进入某个文件夹
4、然后输入javac HelloWorld.java
5、此时虽然什么都没打印,但是当我们去看.java
文件所在文件夹时,发现多了一个.class
文件
6、然后我们输入java HelloWorld
,就会打印出 hello
注意:在运行 Java 程序前,必须先安装好 JDK(Java Development Kit- 即 Java 开发工具包),JDK 里面就包含了 javac 和 java 工具,Java 程序最终在 JVM(Java 虚拟机)中运行的。
【面试题】JDK、JRE、JVM之间的关系?
- JDK(Java Decelopment Kit):Java 开发工具包,提供给 Java 程序员使用,包含了 JRE,同时还包含了编译器 javac 与自带的调试工具 Jconsole、jstack 等。
- JRE(Java Runtime Environment):Java 运行时环境,包含了 JVM,Java 基础类库。是使用了 Java 语言编写程序运行的所需环境。
- JVM:Java 虚拟机,运行 Java 代码
只要设备上安装了 JDK,java 代码就可以运行,这就是write once,run anywhere
的意思。
2、注释
注释是为了让代码更容易被读懂而附加的描述信息,不参与编译运行,但是却非常重要。
2.1 基本规则
Java 中的注释主要分为以下三种:
- 单行注释://注释内容(用的最多)
- 多行注释:/注释内容/(不推荐)
- 文档注释:/*文档注释/(常见于方法和类之上描述方法和类的作用),可以被 javadoc 工具解析,生成一套以网页文件形式体现的程序说明文档
注意:
- 多行注释不能嵌套使用
- 不论是单行还是多行注释,都不参与编译,即编译之后生成的 .class 文件中不包含注释信息。
当我们把代码改成下面这样:
/**
* 文档注释:
* @version v1.0.0
* @author Yuan
* 初识Java
*/
public class HelloWorld {
/*
多行注释:
1、main方法是Java程序的入口方法
2、main函数的格式是固定的,必须为piblic static void main(String[] args)
*/
/**
* [main方法就是程序的入口函数]
* @param args [命令行参数]
*/
public static void main(String[] args) {
//单行注释:System.out.println是Java中标准输出,会将内容输出到空灰太
System.out.println("hello");
}
}
/**
* 在cmd中,使用Javadoc工具从Java源码中抽离出注释
* -d 创建目录,myhello为目录名
* -author 显示作者
* -version 显示版本号
* -encoding UTF-8 -charset UF-8字符集修改为UF-8
*/
在 cmd 中输入javac HelloWorld.java
时,他可能会报错:
这是因为编码不一致
一般情况下 win 系统使用的是 utf-8、GBK 两种编码形式
而 javac 默认是 CMD 上面是 GBK
所以我们在命令行里加上:javac -encoding utf-8
HelloWorld.java
-encoding utf-8
的意思是设置编码为 utf-8
这时就不会报错了。
tip:
当我们在 cmd 中,运行 javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java
这句代码时,我们就会生成一个类似于帮助手册的网页文件
2.2 注释规范
- 内容准确:注释内容要和代码一致、匹配,并在代码修改时及时更新。
- 篇幅合理:注释既不应该太精简,也不应该长篇大论。
- 使用中文:一般中国公司都要求使用中文写注释,外企另当别论。
- 积极向上:注释中不要包含负能量。
4、标识符
标识符:在程序中由用户给类名、方法名或者变量所取的名字。
【硬性规则】
标识符中可以包含:字母、数字、下划线和 $ 符号等。
注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写。
【软性建议】
- 类名:每个单词的首字母大写(大驼峰)
- 方法名:首字母小写,后面每个单词的首字母大写(小驼峰)
- 变量名:与方法名规则相同
例:下面那些标识符是合法的?
A:class B:HelloWorld C:main D:123abc E:ARRAY_SIZE F: $name G: name:jim
其中 BCEF 合法,A 是关键字,不合法;D 以数字开头,不合法;G 标识符不含:,所以不合法;C 不推荐,因为容易引发歧义;F 不推荐。
5、关键字
关键字是由 Java 语言提前定义好的,有特殊含义的标识符或保留字。
用户不能使用关键字来定义标识符。
在 Java 中关键字有很多,包括但不限于 ASCII 表。