Java 是一门半编译型、半解释型语言。先通过 javac 编译程序把源文件进行编译,编译后生成的 .class 文件是由字节码组成的平台无关、面向 JVM 的文件。最后启动 java 虚拟机来运行 .class 文件,此时 JVM 会将字节码转换成平台能够理解的形式来运行。
Java 源程序javac.exe 编译器编译 Java 源程序,生成 xxx.class 字节码文件(二进制文件),语法格式:javac xxx.javajava 运行 xxx.class 字节码文件 语法格式:java xxx.java🔺 注意:
Java 程序前,必须先安装好 JDK,JDK 里面就包含了 javac 和 java 工具,Java 程序最终是在 JVM 中运行的。【面试题】JDK、JRE、JVM之间的关系:
JDK (Java Development Kit):Java开发工具包,提供给程序员使用,包含了 JRE,同时还包含了编译器javac 与自带的调试工具 Jconsole、jstack 和 java 的基础类库。JRE (Java Runtime Environment):Java运行时环境,包含了 JVM,Java 基础类库。是使用 Java 语言编写程序运行的所需环境。JVM (Java Virtual Machine):Java虚拟机,运行 Java 代码。JVM 是整个 Java 实现跨平台的最核心的部分,所有的 Java 程序会首先被编译为 .class 的类文件,这种类文件可以在虚拟机上执行。也就是说 class 并不直接与机器的操作系统相对应,而是经过虚拟机间接与操作系统交互,由虚拟机将程序解释给本地系统执行编写和运行第一个 Java 程序时,可能会遇到的一些错误:
.javapublic 修饰的类名与文件名不一致 (注意是 public 修饰的类名,普通的类名无所谓)main 方法名字写错:mianpublic 修饰(一个文件中类可以有多个,但在一个文件只能有一个 public 类)JDK 环境没有配置好,操作系统不能识别 javac 或者 java 命令public static HelloWorld {
public static void main(string[] args) {
System.out.println("Hello, World!");
}
}如上展示的就是最简单的一个 Java 程序!
main 方法是 Java 程序的入口方法 main 函数的格式是固定的,必须为public static void main(String[] args)args 是命令行参数。通过上述代码,我们可以看到一个完整的 Java 程序的结构,由如下三个部分组成:
.java):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只会有一个类。类的内容必须包含在花括号里面。C 语言中的函数)总结一下:类存在于源文件里面;方法存在于类中;语句存在于方法中。 且要注意以 public 修饰的类名必须和该文件名一致!
Java 中的注释主要分为以下三种:
// 注释内容(用的最多)/* 注释内容*/(不推荐)/** 文档注释 */(常见于方法和类之上描述方法和类的作用),可以被 javadoc 工具解析,生成一套以网页文件形式体现的程序说明文档注意:
.class 文件中不包含注释信息。 // 在cmd中,使用javadoc工具从Java源码中抽离出注释
// -d 创建目录 myHello为目录名
// -author 显示作者
// -version 显示版本号
// -encoding UTF-8 -charset UTF-8 字符集修改为UTF-8
javadoc -d myHello -author -version -encoding UTF-8 -charset UTF-8 HelloWorld.java注意这里不一定是 HelloWorld.java 哦,具体的文件具体处理!
在上述程序中,Test 称为类名,main 称为方法名,也可以将其称为标识符,即:在程序中由用户给类名、方法名或者变量所取的名字。
规则:标识符中可以包含字母、数字、下划线和 $ 符号等。
💡 注意:标识符不能以数字开头,也不能是关键字,且严格区分大小写。
建议:
一个大型的工程,是由多名工程师协同开发的,如果每个人都按照自己的方式随意取名,比如:person、PERSON、Person、_person,将会使程序非常混乱。如果大家在取名时能够遵守一定的约束(即规范),那多人写除的代码仿佛一个人写的。
下面那些标识符是合法的? A:class B:HelloWorld C:main D:123abc E:ARRAY_SIZE F: $name G: name:jim 答案:B C E F
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。