初识Java的main方法
先从一条最简单的入门Java应用程序开始,它只发送一条消息到控制台窗口。
(运行环境IntelliJ IDEA 2018.1 x64)
main方法实例
public class Firstsample {
public static void main(String[] args) {
System.out.println("HEllo World!!!");
}
}
输出:
HEllo World!!!
Process finished with exit code 0
如上代码所示就是最简单的一个Java程序。
可以说:Java的main方法应该是当前主流编程语言中最“长”的。
Java程序基本组成部分
如上所示,一个完整的Java程序的结构由如下三个部分组成:
1,源文件(扩展名为~~~.Java
):源文件带有类的定义。类用来表示程序的一个组件,小程序或许只有一个类。类的内容必须包含在花括号里面。
2,类:类中有一个或多个方法。方法必须在类的内部声明。
3,方法:在方法的花括号中编写方法应该执行的语句。
总结:类存在于源文件中,方法存在于类中,语句存在于方法中。
逐行解析代码
1、Java区分大小写,如果出现了大小写拼写错误(例如,将main
拼写成Main),程序将无法运行。
2、关键字public
称为访问修饰符(access modifier),这些修饰符用于控制程序的其他部分对这段代码的访问级别。
3、关键字class
表明Java程序中的全部内容都包含在类中。刚开始入门学习只需要将类作为程序逻辑的一个容器,程序逻辑则定义了应用程序的行为。
4、类是构建所有Java应用程序和applet的构建块。Java应用程序中的全部内容都必须放置在类中。
5、关键字class
后面紧跟类名。Java中定义类名的规则很宽松。名字必须以字母开头(中英文都可以,汉字也可以开头),后面可以跟字母和数字的任意组合。长度基本上没有限制但是不能用Java保留字(例如:public
或class
)作为类名。
6、标准的命名规范为(类名FirstSample
就遵循了这个规范):类名是以大写字母开头的名词。如果名字由多个单词组成,每个单词的第一个字母都应该大写(大驼峰命名法)(从中可以看出,Java中很多的大写单词实际上都是类,例如System
、String
)。
7、源代码的文件名必须与公共类的名字相同,并且用.Java
作为扩展名。因此储存这段源代码的文件名必须为FirstSample.java
(大小写非常中要,千万不能写成firstSample.java)。
tip:将光标放在程序的公共类名上,然后按shift+f6
快捷键,可以将源代码的文件名与公共类的名字一改全改。(源代码的文件名必须与公共类的名字相同)
8、Java中的main
方法必须是静态的。
9、关键字void表示这个方法没有返回值,(与c/c++不同的是,java中的main
方法没有为操作系统返回“退出码”)。如果main
方法正常退出,那么Java应用程序的退出码为0,表示成功的运行了程序。如果希望在终止程序时返回其他的退出码,那么就需要使用System.exit
方法。
类的加载过程
JVM在程序运行执行(运行)期间,需要用到.class
类的信息,.class
类是存放在硬盘上的。但JVM只能读取内存中的数据,所以需要一步操作:把关于.class
类的信息从硬盘上的.class
文件中读取出来,放入内存中合适的位置,这个过程叫做类的加载过程。(以类为单位把数据从硬盘上加载到内存中)
运行Java程序
如果已经正确的命名了这个文件,并且源代码中没有任何的录入错误,在编译这段源代码之后就会包含一个这个类的字节码文件。Java编译器将字节码文件自动命名为FirstSample.java
(请记住,不需要自己添加.class扩展名),并储存在源文件的同一个目录下。
Java是一门半编译、半解释型语言。先通过javac编译程序把源文件进行编译,编译后生成的.class
文件是由字节码组成的平台无关、面向JVM的文件。最后启动Java虚拟机来运行.class
文件,此时JVM会将字节码转换成平台能够理解的形式来运行。
Java程序编译-> 运行的补充说明:
一、编译:源码—>jvm字节码
运行:jvm字节码—>机器指令
二、Java编译成的是字节码文件,再被各系统的jvm翻译成本系统可以识别的机器码,这就是Java一次编译多平台应用的跨平台性。
三、注意:字节码和机器码不是一回事,Java程序在运行时字节码才会被jvm翻译成机器码。所以说java时解释性语言,Java在运行时才进行翻译指令。
四、Java编译出来的目标文件不可以运行在任意的jvm上,要注意jvm的版本信息。
具体步骤
1,将Java代码编写到扩展名为.class
的文件中。
2,通过javac
命令对该文件进行编译。Java编译后生成的是.class文件,也叫做:字节码文件,就是bytecode。
3,通过java
命令对生成的class
文件进行运行。
运行已编译的程序时,Java虚拟机总是从指定的类中的main方法的代码开始执行,因此为了代码能够执行,在类的源文件中必须包含一个main方法。当然也可以将用户自定义的方法添加到类中,,并在main方法中调用这些方法。
Java源代码中的大括号{ }像在c/c++中一样,用大括号划分程序的各个部分(通常称为块)。Java中的任何方法的代码都用“ { ”开始,用“ } ”结束。