编译的主要作用:
- 语法检查:确保代码符合 Java 语言的语法规则。如果存在语法错误,编译器会指出错误所在,以便开发者进行修正。
- 类型检查:检查变量、方法调用等的类型是否正确和匹配。
- 优化代码:编译器可能会对代码进行一些优化,以提高程序的执行效率。
例如,当您使用 javac
命令对一个名为 HelloWorld.java
的文件进行编译时,编译器会生成一个对应的 HelloWorld.class
文件,这个 .class
文件就是字节码,它可以在 Java 虚拟机(JVM)上运行。
再比如,如果您在代码中错误地拼写了一个方法名或者使用了错误的数据类型,编译过程中就会报错,提示您进行修改。
总之,编译是 Java 开发中非常重要的一个环节,它为代码的正确执行提供了保障。
.java文件--->源文件
.class文件-->字节码文件
在 Java 中,编译是将编写的 Java 源代码转换为字节码的过程。
在 Java SE 开发中,以下是一些常用的 DOS 命令:
-
javac
:用于编译 Java 源文件。- 例如:
javac HelloWorld.java
编译名为HelloWorld.java
的源文件。
- 例如:
-
java
:用于运行 Java 类。- 例如:
java HelloWorld
运行名为HelloWorld
的类。
- 例如:
-
dir
:查看当前目录下的文件和文件夹列表。 -
cd
:切换当前工作目录。 -
cls
:清除屏幕显示。 -
echo
:输出指定的文本。 -
notepad
:打开记事本程序,可用于编辑文本文件。 -
pause
:暂停命令的执行,显示“请按任意键继续...”,按任意键后继续执行。
注释用于提高代码的可读性和可理解性,主要有以下三种类型:
-
单行注释:使用
//
开头,其后的内容直到行尾都为注释。 -
多行注释:使用
/*
开头,以*/
结尾,中间的内容为注释。 -
文档注释:以
/**
开头,以*/
结尾,通常用于生成程序的文档。
在 Java 中,文档注释(Doc Comments)有着一定的规范要求,以确保生成清晰、准确和有用的文档。以下是一些常见的规范要点:
位置:文档注释应放在被注释元素(如类、方法、字段等)的前面。
格式:以 /**
开头,以 */
结尾。每一行以 *
开头,并保持适当的缩进。
内容结构:类的文档注释通常包括类的概述、作者、版本等信息。
方法的文档注释应包含方法的功能概述、参数说明、返回值说明、可能抛出的异常等。
/**
* 这个类表示一个学生
*
* @author 张三
* @version 1.0
*/
public class Student {
/**
* 计算两个整数的和
*
* @param num1 第一个整数
* @param num2 第二个整数
* @return 两个整数的和
* @throws IllegalArgumentException 如果参数为负数,抛出此异常
*/
public int add(int num1, int num2) {
if (num1 < 0 || num2 < 0) {
throw new IllegalArgumentException("参数不能为负数");
}
return num1 + num2;
}
}
语言表达:使用清晰、简洁、准确的语言。避免模糊、歧义或过于复杂的表述。
遵循特定的标签:常见的标签如 @author
(作者)、@version
(版本)、@param
(参数)、@return
(返回值)、@throws
(抛出的异常)等。
共有类和文件名必须匹配:
在 Java 中,如果一个类被声明为 public
(共有类),那么这个类的名称必须与文件名完全匹配(包括大小写)。这是 Java 的编译要求,有助于确保代码的组织结构清晰和可维护性。
例如,如果有一个 public
类叫做 MyClass
,那么它所在的源文件就必须命名为 MyClass.java
。
一个源文件只能有一个共有类:
每个 Java 源文件通常最多只能有一个 public
类。这样的限制有助于保持代码的模块化和可读性。
但一个源文件中可以包含多个非 public
类。
main 方法是一个类的入口:main
方法是 Java 程序的执行入口点。它的定义形式通常为:
public static void main(String[] args) {
// 这里编写程序的主要逻辑
}
一个源文件中最多只能有一个public类。其它类的个数不限,也可以将main方法写在非public类中,然后指定运行非public 类,这样入口方法就是非public的main方法。
Java 中常用的转义字符包括:
\n
:换行符,将光标移到下一行开头。\r
:回车符,将光标定位到当前行的开头,不会跳到下一行。在一些情况下,可能会覆盖当前行已有的内容。\t
:制表符,将光标移到下一个制表位的位置,实现对齐功能。它会使输出的内容为4的倍数,如果输出字符串"a\t",会在输出 a 之后再输出 3 个空格,如果输出字符串"aaaa\t",则会在输出 4 个 a 后,再输出 4 个空格。\b
:退格符号,类似键盘上的 Backspace 键。\\
:代表一个反斜杠字符。由于在 Java 代码中的反斜杠(\)是转义字符,因此需要表示字面意义上的\,就需要使用双反斜杠(\)。\'
:代表一个单引号字符。在 Java 中,单引号用于表示字符,如果直接写单引号('),程序会认为前两个是一对,从而导致报错,因此需要使用转义符“'”。\"
:代表一个双引号字符。在 Java 代码中双引号表示字符串的开始和结束,包含在字符串中的双引号需要转义。System.out.println("书名\t作者\t价格\t销量\t\n三国\t罗贯中\t120\t1000\t");
绝对路径:
绝对路径是从根目录开始的完整路径。在 Windows 系统中,根目录通常以驱动器盘符(如C:\
)开始;在类 Unix 系统(如 Linux、Mac OS)中,根目录用/
表示。例如,在 Windows 系统中,
C:\Windows\System32\notepad.exe
是notepad.exe
程序的绝对路径;在 Linux 系统中,/usr/bin/python
是 Python 解释器的绝对路径。相对路径:
相对路径是相对于当前工作目录的路径。如果当前工作目录是C:\Program Files
,那么相对路径..\Windows\System32\notepad.exe
中的..
表示上一级目录,即从当前目录回到C:\
盘根目录,再进入Windows\System32
找到notepad.exe
。