Whether building your first CLI app or integrating Java into larger projects, here’s your go-to guide for writing, compiling, and running Java programs—optimized for speed and clarity.
📄 1. Write Your Java Code
🔹 Naming Conventions Matter
- Save the file with a
.java
extension (e.g.,MyProgram.java
). - The public class name must match the filename exactly (case-sensitive).
✨ Sample Code
public class MyProgram {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}
💡 Tip: Always include public static void main(String[] args)
for standalone Java apps.
☕ 2. Install the JDK (Java Development Kit)
🔍 Check If It’s Already Installed
java -version # JRE
javac -version # Compiler (JDK)
📦 Recommended Installation Methods
- Linux/macOS (fastest way):
sdk install java # via SDKMAN brew install openjdk # macOS
- Manual Install:
🛠️ 3. Compile and Run Java from the Command Line
✅ Compile
cd /path/to/code
javac MyProgram.java # Produces MyProgram.class
🔹 Want to organize compiled files?
javac -d bin MyProgram.java
🚀 Run
java MyProgram
Expected Output:
Hello, World!
🧩 4. Fix Common Errors Fast
Error | Likely Cause / Fix |
---|---|
javac: command not found | JDK not installed or $PATH misconfigured |
ClassNotFoundException | Wrong class name or .class file missing |
';' expected | Syntax error—check your code |
✅ Environment Setup Checklist
export JAVA_HOME=/path/to/jdk
export PATH=$JAVA_HOME/bin:$PATH
⚡ 5. Boost Your Java Workflow
💻 Use IDEs to Save Time
These IDEs handle compilation, execution, and even debugging out of the box.
🧱 Use Build Tools for Project Management
📦 Handle External JARs
javac -cp .:lib/* MyProgram.java
java -cp .:lib/* MyProgram
🔧 6. Advanced Tips for Clean Code and Projects
📁 Using Packages
If your class is part of a package:
package com.example;
Save it in com/example/MyProgram.java
and run:
javac com/example/MyProgram.java
java com.example.MyProgram
⭐ Wildcard Compilation
javac *.java # Compiles all Java files in the directory
✅ Conclusion
From setting up your environment to handling large Java projects, mastering the Java CLI flow gives you better control, faster debugging, and more confidence in your code.