Java Hello World Program

Filed Under: Java

Whenever we start to learn a programming language, the first program is always to print the Hello World. In the last article, we learned how to install Java on Windows 10. Now we are ready to write and run our first Hello World Java program.

Java Hello World Program

To keep things simple and working for a new user, here is the sample hello world program that you can use.

public class JavaHelloWorldProgram {

	public static void main(String args[]){
		System.out.println("Hello World");

Save above program as in any directory.

1. Compile and Run Java Hello World Program

Open Command Prompt and go to the directory where the hello world program file is saved. Then execute the below commands in order.


$java JavaHelloWorldProgram
Hello World

java hello world program

If you are using Java 11 or higher, then you can simply execute java and it will compile and execute the program for you. No need to explicitly compile and then run the java program.

2. Java Program important points

  1. A Java source file can have multiple classes but only one public class is allowed.
  2. The java source file name should be same as the public class name. That’s why the file name of our program is
  3. When we compile the code, it generates byte code and save it as Class_Name.class extension. If you look at the directory where we compiled the java file, you will notice a new file created JavaHelloWorldProgram.class
  4. When we execute the class file, we don’t need to provide complete file name. We need to use only the public class name.
  5. When we run the program using java command, it loads the class into JVM and looks for the main method in the class and runs it. The main function syntax should be same as specified in the program, else it won’t run and throw exception as Exception in thread "main" java.lang.NoSuchMethodError: main.

I have recently created a short video for Java Hello World Program using Notepad and then Eclipse. Watch it for a better understanding.

That’s all for this post and you can start playing with your first class. In the next post, I will get into further details of classes, JDK, JVM, and other features provided by the Java programming language.

Update: Read this post to know about JDK vs JRE vs JVM in java.


  1. Adam says:

    public class ThankYou{

    public static void main(String [] args){

    System.out.println(“Thank you very much a good start form a beginner”);



  2. Nik says:

    Thank you for amazing tutorials!

    Is it a good idea to add “how to create .exe / DMG / pkg” for this Hello World tutorial?

  3. Prakash Bale says:

    i’m satisfied with this first topic

  4. Sarawgi K says:



    Excellent.. But i have a question..

    If a public class is present in any java source file..why we should save the file name with the public class name??

    1. Aliasger says:

      We can save filename with different name. hence there is no rules to save Filename always with ClassName.
      At the time of compilation you just give your filename.
      After compilation you will get .class file with your class name.[classname.class].
      But at the time of loading your program into JVM(Java Virtual Machine) you just have to give the class name.

      1. HITESH SINGH says:

        My public class name is Test & saved class file as

        Here you go:

        C:\>javac error: class Test is public, should be declared in a file named
        public class Test{
        1 error

        Your case is only valid when your class is not public class & it allows you to do compilation only because of its fail when you execute the same class.


        Error: Could not find or load main class

        1. Aliasger says:

          If you have a public class It should always be saved with the public class name

        2. Waseem R Khan says:

          if your class name is test then you have to save class file as
          here you have to follow
          C:\>java test

Comments are closed.

Generic selectors
Exact matches only
Search in title
Search in content