背景
在学习每一个编程语言的时候,在第一次使用这个编程语言编程时,我们都应该从hello, world开始,这是一个合格程序员的好习惯。
为什么是hello, world
因为习惯,因为要有仪式感。
Hello World 中文意思是『你好,世界』。因为《The C Programming Language》中使用它做为第一个演示程序,非常著名,所以后来的程序员在学习编程或进行设备调试时延续了这一习惯。
实际上将“Hello”和“World”一起使用的程序最早出现于1972年,在贝尔实验室成员Brian Kernighan撰写的内部技术文件《Introduction to the Language B》之中。
最初的"hello, world"打印内容有个标准,即全小写,有逗号,逗号后空一格,且无感叹号。不过目前,完全遵循传统标准形式的反而很少出现。
来自百度百科-hello, world
怎么编程
对很多人来说,这可能是第一个编程程序,感觉无从下手,没有关系,放松心态,一切都非常的简单。
有些人听说过java编程工具,比如eclipse、idea等,这些统称为IDE,但是我们现在暂时还不需要。
IDE:集成开发环境(IDE,Integrated Development Environment )是用于提供程序开发环境的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套。所有具备这一特性的软件或者软件套(组)都可以叫集成开发环境。来自百度百科 - 集成开发环境
- 我们这里需要的只有记事本(当然,你已经配置好了开发环境)。
- 还需要你整理好每次编程的源代码文件。
一个简单的Java程序 - hello, world
- 想好你的程序文件放到那个目录(文件夹下),整理好以后每个源文件(项目)的位置。这个不是必须的,只是一个友好的建议。
比如我自己的目录:D:\me\博客\java基础\src\【java基础(四)】HelloWorld。
“D:\me”是我的个人目录;
“D:\me\博客”是我写存放博文的目录;
“D:\me\博客\java基础”是存放“java基础”系列博文的目录;
“D:\me\博客\java基础\src”是我存放java基础博文中源码的目录;
“D:\me\博客\java基础\src\【java基础(四)】HelloWorld”:就是我存放这篇文章的源码目录了。
-
在你的目录下新建“文本文档”,命名为:HelloWorld.java。
- 文件名不能有错,注意大小写。
- 注意后缀,如果你新建文本文档的时候,后面没有“.txt”后缀,需要去掉“隐藏文件扩展名”。win10如下操作(其他版本自己学习百度解决)。
-
用记事本打开HelloWorld.java文件,输入以下内容(建议自己敲一遍,增加手感):
public class HelloWorld {
public static void main(String[] args) {
System.out.println("hello, world");
}
}
运行看效果
打开命令行窗口,进入到你的程序目录。
- 小技巧:在程序目录的地址栏输入“cmd”回车,就可以直接在本目录打开命令行窗口。
敲回车,变:
在命令行窗口先输入:
javac HelloWorld.java
注意:这里用的是"javac"命令,最后有一个"c"。
若没有提示任何错误(也不会有成功提示),表示编译成功,在源文件目录中会多一个HelloWorld.class文件。
在命令行窗口继续输入:
java HelloWorld
注意:这里用的是“java”命令,最后没有“c”。
注意:是“HelloWorld”,不是“HelloWorld.java”,也不是"HelloWorld.class"。
如果一切正常,会在命令行窗口显示“hello, world”字样,如下图:
- 如果你使用了
package
关键字,并且出错了,请参考《【问题记录】找不到或无法加载主类HelloWorld》
详解
如果你已经成功打印了“hello, world”字样,恭喜你已经成功编写第一个java程序。
但这还不算完全成功,我们要做到我们敲出来的每句话自己都能够理解是什么意思。接下来详细讲解一个这个程序的每一句话。
还有一个原因是:这个程序虽然很简单,但所有的Java应用程序都具有这种结构,所以我们要花时间耐心的研究一下。
以下内容暂时不理解没有关系,但是要知道、脑子里面要有这些感念,一些规范性的东西要牢记并遵守。
public
成为访问修饰符(access modifier),用于控制程序的其他部分对这段代码的访问级别。还有private、protected,其中public代表公开的,private代表私有的,protected代表受保护的。class
代表这是一个类。Java程序中的全部内容都必须包含在类中。这里,只需要将类理解为一个加载程序逻辑的容器就可以,程序逻辑定义了应用程序的行为。- HelloWorld代表类名。这个不是Java的关键字(
public
、class
这些都是Java的关键字),只是一个名称,且命名的规则非常宽松,但需要注意的是公共的类名必须与源代码的文件名相同(包括大小写)。
类名标准的命名规范:类名是以大写字母开头的名词。如果名字由多个单词组成,每个单词的第一个字母都应该大写(这种在一个单词中间使用大写字母的方式成为骆驼命名法)。长度基本上没有限制,但不能使用Java保留字。
static
代表静态。void
代表空。main
代表类的main方法。String[]
代表字符串数组。args代表字符串数组的变量参数名。这些先不做详细介绍,先知道有这样的东西就可以。
public static void main(String[] args){}
这个代表main方法。在执行一个类时,就是执行类中的main方法,在我们接下来的所有例子中你会发现所有的类都会有一个main方法,因为如果没有main方法,这个类就没有了可以执行的内容。main方法的格式是固定的,可以理解为一种规定,规定main方法就是这个样子的。
{}
代表程序块。Java语言使用大括号划分程序的各个部分(通常称为快)。Java中任何方法的代码都用“{”开始,用“}”结束。
System.out.println("hell, world");
这句话表示将“hello, world”输出到控制台上。System.out
代表一个对象,println()
代表一个方法,.
就是调用的意思,System.out调用了println()的方法,hello, world
代表println()方法的参数,""
使用双引号将hello, world括起来,表示hello, world是一个字符串,;
分号代表一句话的结束。Java允许将多个语句写到一行,也允许将一个语句写在多行上,但每个句子必须用分号结束。
javac
编译Java源代码文件的命令。将Java源代码文件编译为字节码文件(class文件)。
java
执行Java程序的命令。
Java程序的运行过程:这里先简单理解,先通过javac命令将Java源代码文件编译为字节码文件(class文件),然后JVM(Java虚拟机)运行字节码文件。
想要说的话
这里使用了大篇幅讲解了最简单的一个Java程序:hello, world。
- 希望你不要感觉到不耐烦,要有耐心,静下心来,静心事成。
- 作为第一个Java程序,应该作为一个有意义的事情去做。
- 这确实是一个很重要的Java程序,如果你能很好的理解将来肯定会有所帮助。
- 在日后的学习中,如果哪个知识点或者哪个程序让你联想到了hello, world,都可以回来翻一番这篇文章,可能你会有新的理解。
- 恭喜你,成功的踏出了第一步。
捐赠
若你感觉读到这篇文章对你有启发,能引起你的思考。请不要吝啬你的钱包,你的任何打赏或者捐赠都是对我莫大的鼓励。