• 第一章《初学者问题大集合》第8节:Java程序初步释疑


    当成功运行了第一个Java程序,很多读者都对之前的各项操作以及所写的这行代码有一些不清楚的地方,本节就来解答一下这些问题。其实,初学者的大部分疑问都集中体现在图1-41中。

    图1-41 源文件名与类名称

    1.类是个什么东西?

    前文曾经让各位读者在写代码之前先创建一个“类”,那么“类”是个什么东西呢?类是Java程序的基本单元,Java程序都是由一个或多个类组成的。在Java语言中,使用“class”这个词来代表一个类。前文的演示过程中所创建的类叫做“Exam01_01”,所以在“Exam01_01”前面有一个单词“class”,用来表示“Exam01_01”是一个类。类是程序的基本单元,所以类的范围是有限的,为了表示类的“边界”,每一个类的后面都会有一对大括号,这对大括号就是类的边界。图1-41中类名称后面的左大括号就是类的开始边界,而图中最后一个右大括号就是类的结束边界,在这一对大括号中的所有代码都属于这个类。

    细心的读者还会发现一个现象:类所在的源文件与类的名称相同,它们都叫“Exam01_01”。有人会问:这是不是因为IDEA看到开发者在创建类的时候把类命名为“Exam01_01”,它也“顺便”把源文件命名为“Exam01_01.java”呢?开发者能不能给源文件改个名字呢?并不是这样,源程序的名称并不是“顺便”起的,Java语言规定:类的名称要与源文件的名称同名,所以当把类命名为“Exam01_01”的时候,IDEA就会按照这条规定把源文件也命名为“Exam01_01.java”。其实这条规定也并不是一条“铁律”,有时候会出现一些例外情况,当然,这些例外情况属于极少数,后面在讲述《访问修饰符》的时候会专门讲解这个问题。在此,初学Java的读者可以暂时先记住:“类名必须与源程序名相同”。

    2.public static void main(String[] args)是什么东西?

    在Exam01_01类当中,可以看到有一个“public static void main(String[] args)”,那么这又是什么东西呢?其实,这一大堆单词外加小括号和中括号组合起来就定义了一个“方法”。所谓“方法”,简单来说就是一组语句的集合。方法也要有个名字,现在代码中的这个方法的名字叫做“main”,前面的“public static void”这三个单词并不是方法名的一部分,它们只是用来修饰这个方法的关键字。所谓“关键字”就是具有某种特殊含义的单词,本书后面的章节中会为读者逐步讲解各种关键字的含义和用法。

    main()方法是一个特殊的方法,Java程序的执行就是从main()方法开始的,也就是说,一个类中无论定义了多少个方法,第一个被执行的方法总是main()。 main()方法也被广大中国程序员直接称为“主方法”。

    关于方法,还需要强调两个小细节,首先:任何一个方法后面都会有一对小括号,所以后文中只要出现了方法,其名称后面都会加上一对小括号来表明它是一个方法。例如书中把主方法写成“main()方法”而不是“main方法”。其次,方法作为一组语句的集合,它的范围也是有限的,它的边界就是方法后面的一对大括号,所有在这对大括号中的语句都属于这个方法。前面示例中所写的那条语句“System.out.println(“Hello World!”);”就出现在这对大括号当中,这就意味着这条语句属于main()方法。

    任何方法都只能被写在类当中,不存在游离于类之外的方法,因此,从总体结构上看,属于方法的那对大括号会被包含在类的大括号当中。

    3.如何理解main()方法中的代码?

    在main()方法中只有一行代码:“System.out.println(“Hello World!”);”这行代码就是一条语句,它的作用是输出双引号中的文本“Hello World!”并换行。这里特意强调了“换行”这个效果,也就是说,如果再用同样的语句输出任何信息,都会转到下一行输出。双引号中的内容就是要输出信息,如果把双引号中的文本换成“Hello China!”,那么输出的结果也会变成“Hello China!”。

    显示输出结果的地方叫做“控制台”。控制台不仅仅是一个展现输出结果的窗口,同时也可以当作输入数据的界面,所以在后面的示例程序中还会通过控制台把一些必要的数据输入到计算机中。

    另外,大家还可以看到:我们所写的这条语句最后是以分号(;)结尾的。分号在Java语言中是一个很重要的符号,它是语句结束的标志,也就是说每条语句都是以分号作为结尾的。通常情况下,一条语句都会单独占据一行,但如果把两条语句写到同一行中,虚拟机也能明确的知道这是两条语句,因为它可以通过分号来判断某条语句是否已经结束。

    4.源文件和字节码文件在哪里?

    在前文的示例过程中,编写完第一个Java程序后只是保存了一下代码,然后就直接运行了程序。这个过程中根本没有编译代码的过程,那么源程序是什么时候被编译的呢?被编译后的字节码文件又保存在哪里呢?

    IDEA具有自动编译代码的功能,当第一次运行程序时,IDEA就会自动把源文件编译成字节码文件,所以开发人员无需手动进行编译操作。编译所产生的字节码文件又被放在哪里了呢?前文讲过:在创建工程时,IDEA会让开发者设置工程文件夹的位置。当工程创建好之后,工程文件夹中就会自动产生一个叫做src的文件夹用于存放Java源文件,而当编译完成后,工程文件夹中又会产生一个叫做out的文件夹,这个文件夹中就存放着编译后的字节码文件,如图1-42所示。

    图1-42 Java工程文件夹

    至此,各位读者已经了解了Java编程的最基本常识。从下一章开始我们将正式踏上Java修炼之道!


    除阅读文章外,各位小伙伴还可以点击这里观看我在本站的视频课程学习Java!

  • 相关阅读:
    数据治理:元数据管理篇
    TCP/IP模型原理(理论)
    如何测试服务器的速度
    SpringBoot+Vue实现前后端分离的家政服务平台
    uniapp框架UI蓝图
    C语言从入门到实战——预处理详解
    libyuv 再次封装打包与测试
    Redis的缓存穿透,缓存击穿,缓存雪崩
    【Summary】机器人方法汇总
    Python——requests模块详解
  • 原文地址:https://blog.csdn.net/shalimu/article/details/127927271