How to execute Java program in terminal

JavaJavaBeginner
Practice Now

Introduction

This comprehensive tutorial provides developers and programming enthusiasts with a detailed guide on executing Java programs directly through the terminal. By understanding the fundamental steps of Java compilation and execution, learners will gain essential skills for developing and running Java applications efficiently in a command-line environment.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("`Java`")) -.-> java/ObjectOrientedandAdvancedConceptsGroup(["`Object-Oriented and Advanced Concepts`"]) java(("`Java`")) -.-> java/BasicSyntaxGroup(["`Basic Syntax`"]) java/ObjectOrientedandAdvancedConceptsGroup -.-> java/classes_objects("`Classes/Objects`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/packages_api("`Packages / API`") java/ObjectOrientedandAdvancedConceptsGroup -.-> java/user_input("`User Input`") java/BasicSyntaxGroup -.-> java/identifier("`Identifier`") java/BasicSyntaxGroup -.-> java/comments("`Comments`") java/BasicSyntaxGroup -.-> java/output("`Output`") java/BasicSyntaxGroup -.-> java/variables("`Variables`") subgraph Lab Skills java/classes_objects -.-> lab-419750{{"`How to execute Java program in terminal`"}} java/packages_api -.-> lab-419750{{"`How to execute Java program in terminal`"}} java/user_input -.-> lab-419750{{"`How to execute Java program in terminal`"}} java/identifier -.-> lab-419750{{"`How to execute Java program in terminal`"}} java/comments -.-> lab-419750{{"`How to execute Java program in terminal`"}} java/output -.-> lab-419750{{"`How to execute Java program in terminal`"}} java/variables -.-> lab-419750{{"`How to execute Java program in terminal`"}} end

Java Basics Overview

What is Java?

Java is a powerful, object-oriented programming language designed to be platform-independent. Developed by Sun Microsystems (now owned by Oracle) in 1995, Java follows the principle of "Write Once, Run Anywhere" (WORA), which means Java code can run on different platforms without recompilation.

Key Characteristics of Java

Characteristic Description
Platform Independence Java programs run on Java Virtual Machine (JVM)
Object-Oriented Supports classes, objects, inheritance, and encapsulation
Strong Typing Requires explicit type declaration
Memory Management Automatic garbage collection

Java Program Structure

graph TD A[Java Source Code .java] --> B[Compiler javac] B --> C[Bytecode .class] C --> D[Java Virtual Machine JVM] D --> E[Executable Program]

Basic Java Program Components

  1. Package Declaration: Defines the namespace
  2. Import Statements: Include external libraries
  3. Class Definition: Main structure of the program
  4. Main Method: Entry point of the program

Simple Java Hello World Example

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, LabEx Learners!");
    }
}

Java Development Environment

To develop Java applications, you'll need:

  • Java Development Kit (JDK)
  • Text Editor or Integrated Development Environment (IDE)
  • Understanding of Java syntax and programming concepts

Use Cases of Java

  • Web Applications
  • Mobile Applications (Android)
  • Enterprise Software
  • Scientific and Numerical Computing
  • Big Data Technologies

Why Learn Java?

  • High demand in job market
  • Robust and secure programming language
  • Large community and extensive libraries
  • Versatile and scalable

Terminal Environment Setup

Prerequisites

Before setting up the Java development environment, ensure your Ubuntu 22.04 system is updated:

sudo apt update
sudo apt upgrade

Java Installation Methods

Method Description Recommended
OpenJDK Free, open-source implementation Yes
Oracle JDK Commercial version Optional

Installing OpenJDK

## Install OpenJDK 11
sudo apt install openjdk-11-jdk

## Verify installation
java --version
javac --version

Environment Variables Configuration

graph TD A[Java Installation] --> B[Set JAVA_HOME] B --> C[Update PATH] C --> D[Verify Configuration]

Setting JAVA_HOME

Edit .bashrc file:

nano ~/.bashrc

## Add these lines
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export PATH=$PATH:$JAVA_HOME/bin

Apply changes:

source ~/.bashrc

Verifying Java Environment

## Check Java installation
which java
java -version

## Verify compiler
which javac
javac -version

Terminal Tools for Java Development

Tool Purpose
nano/vim Text Editors
javac Java Compiler
java Java Runtime
jar Archive Tool

Troubleshooting Common Issues

  • Ensure correct JDK version
  • Check PATH configuration
  • Verify system permissions

LabEx Recommendation

For beginners, LabEx provides interactive Java programming environments that simplify setup and learning processes.

Executing Java Programs

Java Program Execution Workflow

graph TD A[Source Code .java] --> B[Compile with javac] B --> C[Bytecode .class] C --> D[Run with java command]

Creating a Java Source File

## Create a directory for Java projects
mkdir ~/JavaProjects
cd ~/JavaProjects

## Create a sample Java file
nano HelloWorld.java

Sample Java Program

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Welcome to LabEx Java Tutorial!");
    }
}

Compilation Process

## Compile the Java source file
javac HelloWorld.java

## This creates HelloWorld.class bytecode file
ls

Running Java Programs

## Execute the compiled Java program
java HelloWorld

Execution Methods

Method Command Description
Direct Execution java ClassName Run compiled class
With Package java package.ClassName Run packaged classes
With Arguments java ClassName arg1 arg2 Pass command-line arguments

Advanced Execution Techniques

Compiling Multiple Files

## Compile all Java files in current directory
javac *.java

Running with Classpath

## Add external libraries or custom classpaths
java -cp ./lib:. MainClass

Handling Compilation Errors

Common error types:

  • Syntax Errors
  • Compilation Errors
  • Runtime Errors

Error Checking

## Detailed compilation error information
javac -verbose HelloWorld.java

Best Practices

  1. Use meaningful class and file names
  2. Handle exceptions
  3. Organize code in packages
  4. Use consistent indentation

LabEx Tip

LabEx recommends practicing Java execution in a controlled, interactive environment to build confidence and skills.

Summary

Mastering Java program execution in the terminal is a crucial skill for developers. This tutorial has equipped you with the knowledge to compile Java source code, understand the Java Runtime Environment, and confidently run Java applications using command-line interfaces, empowering your programming capabilities and workflow efficiency.

Other Java Tutorials you may like