Hello Java !
翻开厚厚的《Java JDK8 学习笔记》,开始有一种无所适从的感觉。总感觉学习这门语言怎么这么复杂,为什么不能像学习C语言一样直接学习相应的语法规则,多拿些程序例子练练手不就会了,为什么书本前面还讲了这么多“无关”的内容。
其实不然,当我沉下心来耐着性子慢慢看完了“Chapter 1 Java平台概论”,明白了“磨刀不误砍材工”的道理。第一章详细地阐述了Java的由来以及发展,等一些专业名词的介绍。使我一开始就有了个宏观的印象,对Java有了个较为系统的了解。其中印象最深的就是,Java有三大平台,分别是Java SE、Java EE、Java ME,Java EE相对Java SE高级一些,Java ME主要是在小型数字设备上的开发,所以对于我们这样的初学者来说,当然接触的就是Java SE了,到现在Java已经发展到“Java SE 8”了。
再了解了平台之后,第一章节更为重要的便是对JVM/JRE/JDK三者的认识。我就根据学习理解简单说一说这三者的关系,JVM就是Java虚拟机的意思,.class文件才能跑起来,不然系统是无法直接运行的。本书中也反复强调了其重要性,强调“JVM是Java程序唯一认识的操作系统,其可执行文件为.class文档”这一重要观念。JRE指的则是Java的运行环境,也就是Java程序要执行,总要有个适合它的环境吧,就像C语言一样,同样也需要环境,不可能简简单单自己就执行起来了。JDK则包含了一些Java语言开发工具,要开发Java程序就一定要装JDK。
总之,JVM是读取Java程序的必要,JRE提供了运行Java程序的环境,JDK提供了Java程序的开发工具。由此,可以发现这三者是包含关系,JDK囊括了JRE,JRE中也有JVM。而Java的跨平台性就体现在Java有不同版本的JDK,可以适用于Windows、Linux、Max等不同操作系统,Java的程序是不变的,只需要改变相应的JDK,就可以在任何平台上开发运行Java程序。
以上就是我学了第一章的一些收获吧,大致分清楚了这些名词的含义关系,应该对后续学习会有一定的帮助。
跟着书本的内容,在相应的网站上下载了最新的“jdk1.8.0_72”,安装好后,就是设置环境变量。环境变量的设置是为了更加方便的Java程序的编译,设置环境变量“PATH”后可以直接在命令提示符里调用“Javac”这一命令了,这个命令是对.Java文件的编译,在同一个目录下生成.class文件,最后通过“Java”命令来运行.class文件,有点像VC6里面的编译、运行一样,只不过这些都是在命令提示符里面完成的。开始有点看不懂书上的截图,不知道是怎么键入这个命令的,不知道界面中那些“目录地址”是怎么变化的,为此专门查了一些常用的命令“cd\”、“cd..”、“dir”等等,确实对理解书中的内容有一定帮助。下图是设置好的PATH环境变量。
接下来便跟着课本开始了我第一个程序“Hello World”。照着书中的代码敲了一下“Hello World”的代码如下图。
大致明白了程序的含义,class表示是一个类,HelloWorld是这个类的名称,因为class前带有public,所以HelloWorld还是一个公开类,一个.java文档可以有多个类,但只能有一个公开类,当有公开类的时候,要保证.java的文档名和公开类名称一致。而“public static void main(String[] args)”则有点像C语言里的句子,而且main和C语言里也感觉差不多,都是程序的进入点。后面的一句大致能看得懂,就是要打印输出“Hello World”这一串字符。大括号则代表区块了,和C语言应该是一样的。
敲完上述代码,将记事本保存为.java格式到相应的目录下。然后,调出命令提示符,先用“javac”命令对该.java文件进行编译,生成.class文件,然后用命令“java”对相应的.class执行文件进行操作,并将结果输出打印在屏幕上如下图。
以上便是我用书上的方法编写出了第一个Java小程序,虽然感觉这种方法有点麻烦,但是设置好环境变量后也没感觉太繁琐,反而让我理解到了与C语言不同之处,C语言都是在相应的编译软件里面先敲代码,然后点编译点运行,就自动出结果了,而这个则是通过命令提示符,每一步的执行都需要你在这个黑色的对话框里面下达“指令”才能完成,体会到了不一样的编程过程。