1、第一个HelloWorld程序
上节完成Java环境变量配置之后,我们就可以写第一个程序了。
首先,我们在硬盘上创建一个test.txt文件,并把test.txt文件改成后缀为.java的test.java文件,并用记事本打开,写下如下代码:
class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World"); } }
代码写完记得保存哦。然后在命令行模式下进入这个.java文件所在的目录,使用javac test.java命令进行编译:
在编译完成之后,会在目录下生成一个相应的HelloWorld.class文件,如下图:
之后,在命令行上,用下面命令来执行:
java HelloWorkd
执行结果如下:
这是,会在屏幕上打印出一个"Hello World"的字符串。如果你是一个初学者,从本微博第一章第一节开始学习,请务必看到Hello World 字符串在继续学习。
1.1、深入了解Hello World程序
我们首先来研究和分析一下test.java这个程序中的代码:
class HelloWorld{ public static void main(String[] args){ System.out.println("Hello World"); } }
首先,第一行:class HelloWorld,这句话定义了一个名字叫做HelloWorld的类。其中,class是Java语言的关键字,而HelloWorld则是定义这个类的名字。
至于什么是类,这个概念在此不做多于的介绍,会在后面的文章中做出解释,如果你是一个初学者,那么,你可以理解为:类是代码的容器。也就是说,在Java中绝大部分代码都要写在类的范围内,要写代码就必须先定义一个类。
在定义完HelloWorld之后,后面有一对花括号,花括号中内容表示的是这个类中的内容。
在这个花括号中,下面的就是这行:
public static void main(String[] args)
这一行定义了一个主方法(也叫主函数)。主方法的定义比较长,但是非常有用,如果你是一个初学者,这行代码必须记住,也许你现在无法理解这些内容,但是我会在之后的文章中会解释。那么主方法有什么作用呢?我们通常把主方法称之为:程序执行的入口。也就是说,java程序在执行的时候,会执行类中的主方法,当主方法执行完毕之后,程序也就退出了。
在主方法内部,就是下面这句代码:
System.out.println(" Hello world");
这是Java的一个语句。注意,每一个Java语句都应当以分号结尾。这个语句含义是在屏幕上打印出一个字符串。这个字符串的内容就是括号中的"Hello World"。并且,这个语句打印完字符串之后,还会进行自动换行,如果不换行,则是 System.out.print("Hello World");代码如下:
class HelloWorld{ public static void main(String[] args){ System.out.print("learn java"); System.out.print("Hello World"); } }
输出结果:
输出完learn java之后并没有换行。
1.2、类与.class文件
我们注意到,在编译test.java之后,会产生一个名为HelloWorld的.class文件,这个.class文件的文件名与我们在test.java中定义的类名一模一样。换句话说,一个.java文件中定义的每一个类,在编译之后,都会生成一个和类名完全一样的.class文件。这个.class文件不是可执行文件,是"二进制字节码文件"。用文本编辑器是无法正常打开的。
我们在test.java文件中定义两个类。
class HelloWorld{ public static void main(String[] args){ System.out.print("learn java"); System.out.print("Hello World"); } } class Welcome{ public static void main(String[] args){ System.out.println("Welcom to learn java"); } }
我们在命令行中进行编译test.java文件。编译之后,会生成两个.class文件,一个是HelloWorld.class文件和Welcome.class文件。如图:
编译之后,运行时,运行的是.class文件,但是需要注意的是,使用的是java + 类名运行,而不能有.class这个后缀。比如,我们要运行Welcome类,则使用的命令是java Welcome而不是java Welcome.class命令,这是很多初学者经常犯的错误。还有要注意的是:我们使用java Welcome运行Welcome类时,JVM需要在硬盘上找到相应的Welcome.class文件。此时,JVM会通过CLASSPATH变量的指示,来寻找.class文件。由于我们把CLASSPATH配置成了一个".",这表示当前目录,因此,JVM就会在当前目录下寻找Welcome.class文件。
1.3、类与公开类
如果我们给HelloWorld类增加一个前缀:public,则此时,HelloWorld就不是一个普通模的类了,而变成一个公开类。代码如下:
public class HelloWorld{ public static void main(String[] args){ System.out.print("learn java"); System.out.print("Hello World"); } }
公开类有自己的特殊性,此时在编译test.java时,则会产生一个编译时的错误,错误如下:
这个错误说明,如果要使用一个公开类,则公开类的类名必须和源文件名相同(包括大小写)。为了修正这个错误,我们必须把源文件的名字test.java改成HelloWord.java,再次编译才能通过。由于一个.java文件只能有一个文件名,因此一个.java文件中最多只能有一个公开类,当然,如果不是公开类的话,一个.java文件中可以有多个类。
对于从本微博学习的初学者,建议一些忠告:动手敲代码,前期不要使用IDE等强大的编译器,建议使用notepad++等文本编译器。这对你对java初级语法理解十分重要,打下扎实的基础。对你的成长十分重要。。。
原文地址:https://www.cnblogs.com/zhiweijq/p/9859163.html