Java随记之Helloworld篇

趁着暑假有空,自己问人借了本书开始自学Java。由于本人无任何编程基础,所以看起来会比较难理解。

万事开头难,但如果真的想去做一件事,目前的困难只是让你在成功之后能有所回味而已,而不会称为现在的绊脚石。

先来一个几乎所有编程都会用到的一个例子:Helloworld程序

1
2
3
4
5
6
public class HelloWorld {
public static void main(String args[]) {
System.out.println("HelloWorld!I'm coming!");
}
}

这个程序的运行结果就是在屏幕上显示HelloWorld!I'm coming!这条消息。

在这里我插一句话,很多人都在问怎样才能最快地学习一门计算机语言,每个人的见解都不同,我听一个信息学院的人说:他们老师总是把一段有错误的代码给他们修复,然后他们就在修复的过程中真正了解到代码里每一个语句的作用,代码为什么错了,哪里错了,怎样改正……我觉得这种学习方法是不错的一种方法。还有另一种我个人觉得也不错:“学习语言的最终目标是把程序破坏”,咋一看,这不是叫人搞破坏嘛?其实不是这样理解。就把上面那个Helloworld程序做例子:public是什么意思?为什么要用public?能用其他代替public吗?我不显示HelloWorld!I'm coming!显示其他行吗?…………这里所说的把程序破坏其实是理解为把程序拆解,就像拆开一件电器来研究里面的元件构造一样。例如:我把一个收音机拆开了,看到了里面的构造,知道了他的工作原理,然后我就想能不能把某个元件换了,使收音机的音量能更大?改造完之后,我再装回去。这样,一个改造后的收音机就完成了,在这个过程中我也了解到了收音机的构造原理,并且通过自己的思考来改造了收音机。这个过程简单地概括一下就是:拆-知-(改)-装。

我还是用自己第一次写Helloworld程序来做例子。当我第一次把程序代码写好保存后再编译,失败了。然后我就想,为什么会失败呢?然后自己慢慢摸索,发现把public删掉后就能正常运行了。后来又慢慢摸索,发现如果加上public的话,保存的文件名与class后面的类名要相同,否则就不能编译。修改后,能正常编译了,然后我就想,能不能显示其他的信息呢?于是我又把那句HelloWorld!I'm coming!改成了其他内容,也能正常显示。至此,我初学时对Helloworld的认知程度就到这了。

后来我看到了后面,再回过头来看这个Helloworld程序,也明白了很多关键词的作用。以下我按个人理解来一行行的分析:

1
public class HelloWorld{}

在Java里面是有区分大小写的,例如你定义了类名是HelloWorld,你运行时输入的类名也一定要是HelloWorld,而不能是helloworld,否则就会出现运行失败的提示。

先从整个语句来解释,这个语句的作用就是定义一个访问权限是公共的、类名为HelloWorld的类,格式是(public)+class+类名+{}{}里面就是类的内部。

  • public: 从字面意思上不难看出,这个关键词大概是“公共”的意思,它的作用就是修饰类的访问权限,public所修饰的访问权限是最低的;

  • class: 定义一个类,后面要加类名;

  • HelloWorld: 类名,可以自定义,如果用public修饰的话,保存的文件名与这个类名一定要相同才能编译;

  • {}: 类的内部具体定义;

1
public static void main(String args[]){}

这个是main()方法的语句,main()方法是一个程序的入口,一个程序必需有main()方法才能运行,系统正是通过main()入口才能找到运行程序的方法。

  • static: static是静态的意思,表示该数据或对象在内存中只有一份。static关键字可以修饰数据、方法和类。其实static可以修饰任何类型的数据;

  • void: 返回类型,void是“空的”的意思,就是说返回类型是空的;

main(String args[]): 受本人知识所限,还不能很清楚地解释()里面的内容,不好意思;

1
System.out.println("HelloWorld!I'm coming!");

语句的意思:在屏幕上显示HelloWorld!I'm coming!的语句。

  • System.out.println(): 在屏幕上显示()里面的内容,里面的内容可以自定义,如果是字符串,则()里面要加""【Java里面所有的字符都是在英文输入法半角状态下输入的】。其中,System的首字母一定要大写,否则系统不能辨认;println也可以用print代替,不过println具有换行的功能,而print没有。println相当于c语言里面\n换行符的功能。

  • ;: 每个语句的末尾都要加;,以示该语句结束。

好了,今天先说到这里先,以后有机会上Blog再写其他的。