用java写出hello world
程序员圈子当中最出名的一句话就是hello world了。
这句话被写在各大编程教材当中,不论是什么语言,让初学者的第一个程序往往都是输出一句hello world。
为什么是hello world,不是hello别的呢?大约是对于程序员来说,从这一行代码开始,开启了一扇新的大门吧。
废话不多说,那就让我们也随大流,从hello world开始吧。
Java和C++一个巨大的区别在于java是纯面向对象语言,几乎所有的东西都会被视为一个“对象”。
对象这个词在中文里看起来有些奇怪,英文叫做object,其实就是物体,或者你当做东西也行。
为什么要这么做呢?
这里其实隐含了一个抽象的过程,在传统的C语言当中,主体是过程。
也就是说,一段代码写的是一段计算过程。
整个程序由不同的过程组合而成。
而在java当中,写的是对象。
所有的计算封装在了对象内部。
举个经典的例子,假如我要实现一个转账的功能。
C语言的做法是操作A账户的余额,减去转账金额,再操作B账户余额,增加金额。
在java当中,账户就是一个对象,对象内的数据是不允许外界访问的。
所以需要调用对应的方法,让A和B账户自己改动余额。
这个其实就是面向对象的思想,不能理解也没有关系,后续我们会在面向对象相关的内容当中再详细解释的。
之所以介绍对象的概念,是因为在java程序当中,所有的java文件都是类文件。
类英文叫class,指的是对象的抽象概念。
我这么解释你肯定不明白,我举个例子你就懂了。
比如在游戏里,有许多种怪物。
比如怪物有两个属性,一个是血量一个是攻击力。
你在游戏当中看到的一个个怪物,是一个个程序创造出来的对象。
而对怪物的这种定义,叫做类。
也就是说类是我们对某个东西的定义,而对象是根据这个定义创建出来的虚拟的物体。
就比如说,类是印钞机,我们在类上定义钞票的图案、面额、文字等等,而印出来的钞票,是对象。
声明一下,这些概念大概理解就行,不用死记。
记住,学编程是不用死记的,死记说明了不理解,理解了自然就记住了。
我们新建一个工程,选择src文件夹,右键,选择New,选择Java Class,名字可以自定义。
如果项目当中是空的,那么自己创建一个src文件夹,右键mark一下,如下图:
Sources Root表示这是代码的根目录,方便IDE识别。
类创造好了之后,IDE会自动帮我们填充代码,大概应该是这个样子:
既然Java里写的都是一个个类,那么这个程序怎么跑起来呢?
在java当中,规定了一个系统级的入口,叫做main函数。
意思是,当我们执行整个java工程的时候,从这个main函数开始作为入口,执行代码。
main函数有一个约定俗成的写法:
public static void main(String[] args) {
}
public表示这是一个公开的方法,任何对象都能访问。
main函数必须是public的,public关键字所代表的含义我们后续会讲到。
读者目前只需要明白大概的意思即可。
static表示静态,这个概念我们后续讲静态方法和静态变量的时候会具体讲解。
这里也只需要知道这是一个约定俗成必须要加上的关键字即可。
void表示函数的返回类型是空,函数的返回类型会在函数章节仔细讲解。
这里,只需要知道,void代表不返回任何值。
main是方法名,固定不变,一定要写成main,注意,不是“面”(mian)
小括号里的String[] args表示接收的系统参数,照着写即可。
但需要注意,只有main函数需要加上String[] args。
如果是自定义的函数,不需要加。
大括号里的表示函数的主体。
到了这里,我们距离hello world只有一步之遥。
只需要输出hello world 这个字符串就大功告成了。
和C++里的系统方法printf和cout不同,java当中都是对象,要输出,也需要调用用来输出的对象。
java当中的输出对象是:System.out, 调用的是out当中的println方法,所以完整的调用链路是:System.out.println()。
这个println方法接受一个字符串,字符串的意思是多个字符串在一起的一个序列。
在java当中,字符串用双引号表示。
所以我们输出hello world的语句长这样:
System.out.println();
完整的代码如下:
public class HelloWorld {
public static void main(String[] args) {
System.*out*.println("Hello world");
}
}
需要注意的是,这个类名必须和文件名一样,不然会报错。
右击,选择run即可。
然后,即可得到结果:
到这里,我们hello world就输出完了。
虽然代码很简单,但是其实还是涉及许多概念的。
希望读者多多思考,多多领悟。
不要只满足于得到结果。
如果你是编程小白,想要学习更多的编程技能,欢迎关注我的个人公众号:潇潇学长,让我给你分享更多经验。