写了三篇笔记以后,自己审视了一下笔记内容,忽然发现最初写这些笔记其实是想记录自己重新学习JAVA的过程,然而写着写着就好像是写个一些从来没学过JAVA的朋友看的文章...难道我骨子里有一种想当老师的遗传基因吗?所谓人之患在于好为人师,这恐怕是我难以修改的恶习了...然而既然偏离了最初的方向,那干脆一路偏下去好了,我把这一系列笔记就当做初学者入门笔记好了。如果以后有朋友通过我的这些文章,能够帮助到一些初学JAVA的朋友,那也算是功德无量了。
既然修正了文章方向,那我还是按照初学者的方式来进行,前面的文章中提到的tomcat和Myeclipse,在一段时间内是见不到了,初学JAVA,写JAVA类最好用文本编辑器,比如windows自带的记事本,还有一些文本编辑工具,如Ultraedit(这也是个收费软件,当然也用破解版了..再次感叹中国的程序员和收费软件的斗智斗勇),Notepad++等。
上次我们已经使用IDE完成了第一个程序的编写,现在我们抛开IDE,再次来写这个HelloWorld的程序。
编写第一个JAVA程序
首先我们新建一个JAVA学习的文件夹,E:\myjava 文件夹,今后我们的程序都放在这个文件夹下
然后我们在文件夹里新建一个文本文件,取名叫HelloWorld.java
请注意,新建文件文本文件的后缀是.txt结尾的,如果新建的文本文件没有.txt,说明没有开启显示文件后缀,那么在WIN10系统下,点击文件夹的查看标签,将文件扩展名勾上就可以显示后缀了。
改名后的文件java文件名
打开文件,写下以下代码
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello World!");
}
}
写完以后保存好,我们就完成了第一个手工的JAVA程序。
编译和运行第一个JAVA程序
程序写完了,但是怎么运行呢?在之前的笔记中我们已经知道,运行这个程序会输出 Hello World!这个问候语,但是在哪里输出呢?
没有了IDE,我们可以通过WINDOWS自带的命令提示符来编译和运行这个程序。
我们先通过运行->cmd命令来进入到命令提示符
此时我们所在的路径是在系统默认的路径下,而我们的程序是放在E盘的myjava下的,所以我们通过cd命令进入到我们放程序的目录
在JAVA中,编译java文件的命令是javac ,我们使用javac HelloWorld.java命令来编译java文件
如果正常通过编译,系统不会提示任何信息,直接执行完成。编译完成后,我们发现myjava文件夹里多了一个名叫HelloWorld.class的文件,这个文件才是我们要运行的文件。
在JAVA中,运行JAVA程序使用java命令,我们在命令行输入java HelloWorld来执行刚才生成的HelloWorld.class文件
可以看到,在执行了命令后,控制台输出了Hello World!这个内容,和我们之前通过IDE运行的结果是一样的。
编译、运行和IDE
什么是编译?就是将我们所写的程序翻译成计算机能识别的指令。我们知道计算机是二进制的,我们所写的代码HelloWorld.java对于计算机是无法识别的,这个时候就需要将代码转换成机器能识别的语言,编译就是在做这个工作。当然我们通过javac进行的编译只是第一个层面,其实我们用记事本打开编译后的文件会发现这个其实不是二进制形式的,还可以看出来我们代码中的一些东西在里面,这个编译动作其实是将java文件变更为了java虚拟机(JVM)能识别的语言,而JVM与底层的操作系统如何交互,我们无需深究。
通俗来说,.java文件我们能看懂,.class文件电脑能看懂,编译就是把我们能看懂的东西转换成电脑能看懂的东西。
编译完成后,执行操作就比较好理解了,我们告诉电脑,我们要执行这个HelloWorld这个程序,然后电脑就执行这个程序,结果就是输出了Hello World!,符合我们预期的设定,说明程序设计成功。
然而在前面的内容里面,我们通过IDE编写程序的时候,好像没有进行编译,直接就运行出了结果了,其实这个过程是IDE为我们完成了。
那么什么是IDE?IDE是Intergrated Development Environment的缩写,翻译过来就是集成开发环境,是提供程序开发环境的应用程序。使用IDE可以大大的提高我们开发效率,可以很方便的提示我们在编写代码时候出现的问题。
IDE对于熟悉JAVA的人进行开发是有极大好处的,然而对于初学JAVA的人却很不友好,因为学习一门新的语言本身就很没有头绪,如果通过IDE学习,还要学习IDE的使用,无疑是增加了学习的复杂度,而且IDE把很多工作为我们做了,在学习JAVA时会造成我们对JAVA的不理解。
举个很简单的例子,我们运行之前的HelloWolrd一直都很顺利,现在我们对这个java文件做个修改,把文件中的第一行代码
public class HelloWorld{
修改成 public class Helloworld{
把大写的W改成小写的w,然后再执行javac HelloWorld.java
我们会发现此时系统会提示一个错误
这是由于java的语法规定类名字必须和文件名字一致,如果通过IDE生成这个类,这个类名字是由IDE自动生成好,对于JAVA这个基本语法的印象就会模糊掉,完全不利于我们掌握JAVA的基本语法。
在上面这个例子中,我们在进行编译时系统提示的错误,叫做编译时错误。编译时错误通常是由于语法问题造成。简答来说,就是把我们能看懂的东西翻译给电脑能看懂的时,写错了东西,导致翻译不成功。好比我们英文翻译成中文,I am groot就是我是格鲁特的意思,而我们把am写错了,写成了ma,那翻译的时候词典里找不到这个词,就翻译不了了。
那么在java的语法有哪些,如何才能写好一个JAVA程序呢?