1.编译器你可能会有一个疑问,为什么要编译程序?计算机不能直接执行我们写的源代码吗?这是因为计算机只能识别由0和1组成的二进制代码。需要编译将源代码转换成计算机可以理解的二进制代码。1.1Java中的编译在Java中,程序并不是直接编译成可执行文件,而是编译成字节码文件,JVM(JavaVirtualMachine)在运行时执行字节码文件。当我们使用javac编译器时,Java源代码文件被编译成字节码文件,以.class扩展名保存在磁盘上。当程序运行时,字节码文件被转换成机器码并在内存中执行。一般来说,Java源代码需要经过两次“转换”才能被计算机执行:Java源代码编译成字节码:由javac前端编译器完成;字节码编译成机器码:由JVM执行引擎完成。下图描述了一个Java程序从编写到编译再执行的步骤:1.2快速执行一个程序1.2.1准备工作为了保证我们人生中的第一个Java程序能够顺利执行,请首先确认您已完成以下两件事:已在您的计算机上成功安装JDK;有一个文本编辑器。(例如Windows的记事本,Unix的vim)。1.2.2编写源代码新建一个文本,输入以下内容,命名为HelloWorld.java并保存示例演示预览复制复制成功!公共类HelloWorld{publicstaticvoidmain(String[]args){System.out.println("HelloWorld!");}}Tips:文件名必须和类名一致(类名就是后面上面HelloWorld第一行代码中的类),扩展名是.java,文件名和类名区分大小写,所以请确保文件名和类名的大小写一致;类的命名约定以大写字母开头;以上代码中的所有符号,请使用英文半角;不要忽略分号;在第三行代码的末尾。下面是实际操作的截图。打开记事本,输入源代码:点击文件->保存,将文件保存到磁盘(这里保存在桌面上),注意:这里需要将文件命名为HelloWorld.java,选择所有文件作为保存键入,并选择UTF作为编码-8:1.2.3编译并执行现在,打开您常用的命令行工具。(例如,Windows上的命令提示符,MacOS上的终端),然后切换到刚刚保存Java源代码的目录。在Windows搜索栏输入cmd打开:使用cd命令进入我们刚刚保存源代码的目录(即进入桌面目录cdDesktop),使用dir命令查看目录内容:使用javac命令编译源码:javacHelloWorld.java执行编译命令后,会发现同级目录下会生成一个HelloWorld.class文件。这个HelloWorld.class就是我们所说的字节码文件。接下来就是通过JVM执行字节码文件了,输入如下命令:javaHelloWorld如果一切正常,你会在屏幕上看到如下输出:恭喜!成功执行了您的第一个Java程序!Tips:javac是编译器,java是虚拟机。先使用javac编译器编译源码,然后使用java虚拟机执行字节码文件。这就是我们上面提到的java源代码经过两次转换后执行的方式。java命令后面的参数是类名。也就是说,我们只需要将类名作为参数传递给虚拟机,虚拟机就会自动找到对应的扩展名为.class的文件并执行。2、理解程序我们来分析一下上面的HelloWorld.java代码:publicclassHelloWorld{...}这段代码的意思是我们定义了一个public类,名字叫HelloWorld,类名首字母按照约定要大写.public表示这个类是public的(至于什么是public,后面再说),class顾名思义就是一个类,public和class是Java中的关键字,必须小写。类的定义包含在花括号{}之间。我们看一下花括号中间的main()方法代码:publicstaticvoidmain(String[]args){...}这段代码表示我们定义了一个入口方法。注意:入口方法是由Java程序起点执行的。public和static分别表示方法是public和static,void是方法的返回类型,main后面的括号()用来括住方法的参数,String[]是参数的类型,args是参数的名称。当然,刚才代码的解释有点生涩,作为初学者,没必要深究每一项的含义。但是有一点必须牢记:Java规定某个类定义的publicstaticvoidmain(String[]args)是Java程序固定的入口方法。在方法内部,有一行代码:System.out.println("HelloWorld!");这行代码的意思是将HelloWorld这串字符打印到屏幕上。你可以尝试修改这个内容,替换掉HelloWorld!在有其他内容的代码中,例如:publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("Hellozzz!");}}保存源码,打开命令行,重新编译执行,屏幕输出的内容就替换成功了。3.总结在这一节中,我们一起完成了第一个Java程序的执行。在这个过程中,我们学习了编译,知道了如何使用javac命令将扩展名为.java的源代码文件编译成.java文件。类扩展的字节码文件可以使用java命令执行。我们也对程序的基本语法有了一个大概的了解。如果你对程序的理解还很迷茫,别着急。在接下来的章节中,我们将详细学习Java的基本语法。随着知识的积累,你也会更加得心应手地阅读和编写程序。微信公众号
