第一章 第四节 Hello World程序

Posted zhiweijq

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第一章 第四节 Hello World程序相关的知识,希望对你有一定的参考价值。

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初级语法理解十分重要,打下扎实的基础。对你的成长十分重要。。。

 

    

 

以上是关于第一章 第四节 Hello World程序的主要内容,如果未能解决你的问题,请参考以下文章

C++第一章:输出Hello World

[struts2学习笔记] 第四节 学着使用struts 2的tag标签

第一章 计算机系统漫游

Docker第一弹:下载运行hello-world程序

微信小程序教学第三章第四节(含视频):小程序中级实战教程:下拉更新分享阅读标识

实验二:编写输出“Hello World!”