程序不过是几行代码的集合
1.
程序不过是几行代码的集合。就像下面这样:
public class Test {
public static void main(String[] args) {
System.out.println("hello world");
}
}
对于初学编程的人来说,“hello world”的程序总是绕不开的;学习Java编程自然不能例外。说实在话,我在大学一年级(当时十九岁)学习这寥寥几行代码时可费了老大的劲——我几乎用了将近一个月的时间才消化掉“hello world”这段程序(这可一点不假)。记得当时的老师非常“贴心”地要求我们学生必须在记事本上敲下这段代码,并且要在控制台的命令行上运行这段小程序,使其在屏幕上打印出“hello world”的字样。
简直难得要命啊!我差一点就要被这几行代码摧毁掉信心换其他专业了。但幸好,我坚持了下来,就目前来看,IT行业是一个前程似锦的行业,Java依然处在编程语言排行榜的领先位置;而我,可以凭借Java高级开发工程师的身份在日益艰难的生存环境中混口饭吃。认真的回忆一下,对于“hello world”这段程序,我有好几个不解的地方:
- 为什么class前面要有public?
- 为什么main方法要有参数
String[] args
?它好像压根没起作用啊。 - 为什么main方法必须是
static void
?
看到这几个问题,你是不是也迫切地想知道为什么?新文化运动领袖胡适先生曾说过这样一句话“人同畜生的分别,就在于这个‘为什么’上”,这话虽然听起来不那么含蓄,但不失为一种积极的态度。在学习和生活当中,多问一问“为什么”,对我们的成长是大有帮助的。我相信这一点,你也愿意举双手赞同。
那么现在,我来回答一下以上三个问题(题答得不好,请给我零分):
1)class(类)前面的public并不是必须的;一个Java文件中有且只能有一个public类,并且该类名(Test)必须与文件名(Test.java)保持一致。
2)main方法的参数是一个String数组,约定俗成的写法就是String[] args
;尽管当前“hello world”程序中并没有用到args参数,但Java编译器要求主方法必须要这么着(就好像李白他爹给他起名“李白”,所以李白只能叫“李白”);如果想在程序中使用args参数,可以在运行Java程序的时候在命令行中键入。为了演示args参数的使用方法,我们把以上代码稍作调整(“hello world”后要紧跟一个空格,和args参数的第一个值):
public class Test {
public static void main(String[] args) {
System.out.println("hello world " + args[0]);
}
}
改造后的“hello world”程序,在命令行的编译、运行命令如下:
3)static
表示main方法为静态方法;静态方法可通过"类名.方法名"的方式来调用。这句话怎么理解呢?我们来看以下代码:
public class Test {
static int i = 0;
public static void main(String[] args) {
System.out.println("hello world");
i++;
if (i < 5) {
Test.main(args);
}
}
}
通常,方法内部调用方法自身(Test.main(args)
就是"类名.方法名"的形式)会造成死循环,但我们使用了一个静态变量i来控制循环的次数,最多5次。
4)void
表示main方法没有返回结果;既然main方法是主方法,作为程序的入口,自然是不需要返回结果的,否则返回结果给谁看呢?就好像你就是司令员,你显然不需要再向军长、师长汇报工作。
2.
看完以上内容,你是不是觉得信息量有点大?对于Java的初学者来说,我想大概会吧,毕竟我当初可花了一个月的时间才消化掉。如果你说你只花了5分钟就搞定了,我就真该怀疑自己是不是块干“程序猿”的料了(“老天爷啊,不公平啊,为什么我和别人的智力差距这么大呢?”)。
假如你是Java初学者,我不建议你使用记事本一个字母一个字母敲完这段程序并在命令行中运行。以前老师教我们那套背方法统统可以不要,明明有Eclipse这种为程序员减少复杂性的集成开发工具,为什么不用呢?
脑海中时常有“程序不过是几行代码的集合”这句话非常重要,有了这个信念,无论再庞大的项目都不需要怕了。因为不管这个项目的代码成千行,还是成万行,最终都可以拆分为几行代码,难道不是吗?
3.
在之前的很长一段时间,我都不确定是不是要继续写IT技术方面的文章了。因为看着那些大牛们都在知识变现,而我依然籍籍无名、默默无闻,内心十分的沮丧。后来,我把这种困惑告诉了安晓辉前辈,他给了我一个继续坚持下去的理由——当初写技术博客为了什么?不就是为了对自己总结和对他人有所帮助吗?
这就是我写作的初心啊!我怎么能怀着一种“功利”的心态去写文章呢?佛系写作也能满足我分享的欲望、写作的爱好啊!所以,我在23点22分的时候又打开了电脑,写下这篇文章…
PS:我几乎花了一天的时间来写一个Java程序,用来生成上面这张带有二维码、精美图片、正能量文字的海报。如果大家对这个小程序感兴趣的话,我就把源码贴到GitHub上。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
JDK11的工具的命令参考
Tools 主要工具 以下基础工具和命令允许您创建和构建应用程序: javac:您可以使用该javac工具及其选项来读取Java类和接口定义,并将它们编译为字节码和类文件。 javap:您可以使用该javap命令反汇编一个或多个类文件。 javadoc:您可以使用该javadoc工具及其选项从Java源文件生成API文档的HTML页面。 java:您可以使用该java命令启动Java应用程序。 jar:您可以使用该jar命令为类和资源创建存档,以及从存档中操作或还原单个类或资源。 jlink:您可以使用该jlink工具将一组模块及其依赖项组合和优化到自定义运行时映像中。 jmod:您使用该jmod工具创建JMOD文件并列出现有JMOD文件的内容。 jdeps:您可以使用该jdeps命令启动Java类依赖性分析器。 jdeprscan:您可以将该jdeprscan工具用作静态分析工具,该工具可扫描jar文件(或其他类文件聚合)以使用已弃用的API元素。 语言shell 以下工具为您提供了一个用于尝试Java语言的交互式环境: jshell:您使用该jshell工具在read-eval-p...
-
下一篇
面试必问之JVM原理
1:什么是JVM JVM是Java Virtual Machine(Java虚拟机)的缩写,JVM是一种用于计算设备的规范,它是一个虚构出来的计算机,是通过在实际的计算机上仿真模拟各种计算机功能来实现的。Java虚拟机包括一套字节码指令集、一组寄存器、一个栈、一个垃圾回收堆和一个存储方法域。 JVM屏蔽了与具体操作系统平台相关的信息,使Java程序只需生成在Java虚拟机上运行的目标代码(字节码),就可以在多种平台上不加修改地运行。JVM在执行字节码时,实际上最终还是把字节码解释成具体平台上的机器指令执行。 2:JRE/JDK/JVM是什么关系 JRE(JavaRuntimeEnvironment,Java运行环境),也就是Java平台。所有的Java 程序都要在JRE下才能运行。普通用户只需要运行已开发好的java程序,安装JRE即可。 JDK(Java Development Kit)是程序开发者用来来编译、调试java程序用的开发工具包。JDK的工具也是Java程序,也需要JRE才能运行。为了保持JDK的独立性和完整性,在JDK的安装过程中,JRE也是 安装的一部分。所以,在JD...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- MySQL8.0.19开启GTID主从同步CentOS8
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- Dcoker安装(在线仓库),最新的服务器搭配容器使用
- SpringBoot2配置默认Tomcat设置,开启更多高级功能