Lesson 2 of 24 Environment Setup
Lesson 2 15 min read

Java Environment Setup

Java programming แ€…แ€œแ€ฏแ€•แ€บแ€–แ€ญแ€ฏแ€ท แ€œแ€ญแ€ฏแ€กแ€•แ€บแ€แ€ฒแ€ท tools แ€แ€ฝแ€ฑ install แ€œแ€ฏแ€•แ€บแ€”แ€Šแ€บแ€ธแŠ environment configure แ€œแ€ฏแ€•แ€บแ€”แ€Šแ€บแ€ธแŠ IDE setup แ€œแ€ฏแ€•แ€บแ€”แ€Šแ€บแ€ธแ€€แ€ญแ€ฏ step-by-step แ€œแ€ฑแ€ทแ€œแ€ฌแ€€แ€ผแ€™แ€šแ€บแ‹

1. แ€˜แ€ฌแ€แ€ฝแ€ฑ แ€œแ€ญแ€ฏแ€กแ€•แ€บแ€œแ€ฒ? (What You'll Need)

Before you can start writing Java programs, you need to set up your development environment. This involves installing and configuring several essential tools.

โ˜•

JDK

Java Development Kit - Compile & Run Java programs

๐Ÿ”ง

Environment Variables

Configure system PATH for command-line access

๐Ÿ’ป

IDE / Text Editor

IntelliJ IDEA, Eclipse, or VS Code for coding

แ€…แ€แ€„แ€บแ€™แ€šแ€ทแ€บแ€žแ€ฐแ€แ€ฝแ€ฑ แ€กแ€แ€ฝแ€€แ€บ

Java programming แ€›แ€ฑแ€ธแ€–แ€ญแ€ฏแ€ท แ€กแ€แ€ผแ€ฑแ€แ€ถ แƒ แ€แ€ฏ แ€œแ€ญแ€ฏแ€•แ€ซแ€แ€šแ€บ:

  • JDK (Java Development Kit): Java compiler (javac) แ€”แ€ฒแ€ท JVM แ€•แ€ซแ€แ€„แ€บแ€แ€ฒแ€ท complete package แ€•แ€ซแ‹ แ€’แ€ซแ€™แ€พ Java code แ€แ€ฝแ€ฑ compile แ€œแ€ฏแ€•แ€บแ€•แ€ผแ€ฎแ€ธ run แ€œแ€ญแ€ฏแ€ท แ€›แ€™แ€พแ€ฌแ€•แ€ซแ‹
  • Environment Variables: Computer แ€€แ€ญแ€ฏ JDK แ€˜แ€šแ€บแ€™แ€พแ€ฌ install แ€œแ€ฏแ€•แ€บแ€‘แ€ฌแ€ธแ€œแ€ฒ แ€•แ€ผแ€ฑแ€ฌแ€•แ€ฑแ€ธแ€›แ€•แ€ซแ€แ€šแ€บแ‹ แ€กแ€ฒแ€ทแ€’แ€ซแ€™แ€พ command line (Terminal/CMD) แ€€แ€”แ€ฑ javac, java commands แ€แ€ฝแ€ฑ แ€žแ€ฏแ€ถแ€ธแ€œแ€ญแ€ฏแ€ท แ€›แ€•แ€ซแ€™แ€šแ€บแ‹
  • IDE (Integrated Development Environment): Code editor, debugger, compiler แ€…แ€แ€ฌแ€แ€ฝแ€ฑ แ€…แ€ฏแ€…แ€Šแ€บแ€ธแ€‘แ€ฌแ€ธแ€แ€ฒแ€ท software แ€•แ€ซแ‹ Notepad แ€œแ€ญแ€ฏ simple editor แ€™แ€Ÿแ€ฏแ€แ€บแ€˜แ€ฒแŠ professional development แ€กแ€แ€ฝแ€€แ€บ แ€–แ€ผแ€…แ€บแ€•แ€ซแ€แ€šแ€บแ‹

2. JDK, JRE, JVM แ€†แ€ญแ€ฏแ€แ€ฌ แ€˜แ€ฌแ€แ€ฝแ€ฑแ€œแ€ฒ?

Before installing, let's understand the difference between JDK, JRE, and JVM:

Java Platform Components
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚            JDK (Development Kit)         โ”‚
โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚
โ”‚  โ”‚         JRE (Runtime)              โ”‚  โ”‚
โ”‚  โ”‚  โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚    JVM (Virtual Machine)    โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚   - Executes bytecode       โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ”‚   - Memory management       โ”‚  โ”‚  โ”‚
โ”‚  โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚  โ”‚
โ”‚  โ”‚  + Core Libraries (java.lang,    โ”‚  โ”‚
โ”‚  โ”‚    java.util, java.io, etc.)     โ”‚  โ”‚
โ”‚  โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚
โ”‚  + Development Tools:                   โ”‚
โ”‚    - javac (Compiler)                   โ”‚
โ”‚    - javadoc (Documentation)            โ”‚
โ”‚    - jar (Archive tool)                 โ”‚
โ”‚    - debugger                           โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
แ€กแ€žแ€ฑแ€ธแ€…แ€ญแ€แ€บ แ€›แ€พแ€„แ€บแ€ธแ€•แ€ผแ€แ€ปแ€€แ€บ

1. JVM (Java Virtual Machine)

JVM แ€€ แ€กแ€แ€ผแ€ฑแ€แ€ถแ€†แ€ฏแ€ถแ€ธ component แ€•แ€ซแ‹ Java bytecode (.class files) แ€€แ€ญแ€ฏ execute แ€œแ€ฏแ€•แ€บแ€แ€ฒแ€ท virtual machine แ€•แ€ซแ‹

  • Bytecode แ€€แ€ญแ€ฏ Machine Code แ€กแ€–แ€ผแ€…แ€บ แ€•แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธแ€•แ€ฑแ€ธแ€แ€šแ€บ: Platform-specific machine code แ€กแ€–แ€ผแ€…แ€บ แ€•แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธแ€œแ€ญแ€ฏแ€ท program แ€€ แ€กแ€œแ€ฏแ€•แ€บแ€œแ€ฏแ€•แ€บแ€•แ€ซแ€แ€šแ€บ
  • Memory Management: Garbage Collection แ€”แ€ฒแ€ท memory แ€€แ€ญแ€ฏ แ€กแ€œแ€ญแ€ฏแ€กแ€œแ€ปแ€ฑแ€ฌแ€€แ€บ แ€…แ€ฎแ€™แ€ถแ€•แ€ฑแ€ธแ€แ€šแ€บ
  • Security: Bytecode verification แ€œแ€ฏแ€•แ€บแ€•แ€ผแ€ฎแ€ธ malicious code แ€แ€ฝแ€ฑแ€€แ€ญแ€ฏ แ€€แ€ฌแ€€แ€ฝแ€šแ€บแ€•แ€ฑแ€ธแ€แ€šแ€บ

๐Ÿ“Œ JVM แ€€ platform-specific แ€–แ€ผแ€…แ€บแ€•แ€ซแ€แ€šแ€บแ‹ Windows JVM, Mac JVM, Linux JVM แ€แ€…แ€บแ€แ€ฏแ€แ€ปแ€„แ€บแ€ธแ€…แ€ฎ แ€›แ€พแ€ญแ€•แ€ซแ€แ€šแ€บแ‹

2. JRE (Java Runtime Environment)

JRE = JVM + Core Libraries (java.lang, java.util, etc.)

  • Java programs run แ€œแ€ฏแ€•แ€บแ€–แ€ญแ€ฏแ€ท แ€œแ€ญแ€ฏแ€แ€šแ€บ: Already compiled แ€–แ€ผแ€…แ€บแ€”แ€ฑแ€แ€ฒแ€ท .class files แ€แ€ฝแ€ฑแ€€แ€ญแ€ฏ execute แ€œแ€ฏแ€•แ€บแ€œแ€ญแ€ฏแ€ท แ€›แ€•แ€ซแ€แ€šแ€บ
  • Development แ€™แ€œแ€ฏแ€•แ€บแ€˜แ€ฐแ€ธแ€†แ€ญแ€ฏ JRE แ€œแ€ฏแ€ถแ€œแ€ฑแ€ฌแ€€แ€บแ€แ€šแ€บ: End users แ€แ€ฝแ€ฑแ€€ JRE แ€แ€„แ€บ install แ€œแ€ฏแ€•แ€บแ€›แ€ฏแ€ถแ€”แ€ฒแ€ท Java apps run แ€œแ€ญแ€ฏแ€ท แ€›แ€•แ€ซแ€•แ€ผแ€ฎ
  • Core Libraries: String, ArrayList, File I/O แ€…แ€แ€ฒแ€ท built-in classes แ€แ€ฝแ€ฑ แ€•แ€ซแ€แ€„แ€บแ€•แ€ซแ€แ€šแ€บ

3. JDK (Java Development Kit)

JDK = JRE + Development Tools (javac, javadoc, jar, debugger)

  • Java programs develop แ€œแ€ฏแ€•แ€บแ€–แ€ญแ€ฏแ€ท แ€œแ€ญแ€ฏแ€แ€šแ€บ: Source code แ€›แ€ฑแ€ธแ€•แ€ผแ€ฎแ€ธ compile แ€œแ€ฏแ€•แ€บแ€แ€ปแ€„แ€บแ€›แ€„แ€บ JDK แ€œแ€ญแ€ฏแ€•แ€ซแ€แ€šแ€บ
  • javac compiler: .java files แ€แ€ฝแ€ฑแ€€แ€ญแ€ฏ .class bytecode แ€กแ€–แ€ผแ€…แ€บ compile แ€œแ€ฏแ€•แ€บแ€•แ€ฑแ€ธแ€แ€šแ€บ
  • Development tools: javadoc (documentation generator), jar (package tool), jdb (debugger) แ€…แ€แ€ฌแ€แ€ฝแ€ฑ แ€•แ€ซแ€•แ€ซแ€แ€šแ€บ
  • JRE แ€•แ€ซแ€•แ€ซแ€แ€šแ€บ: JDK install แ€œแ€ฏแ€•แ€บแ€›แ€„แ€บ JRE แ€”แ€ฒแ€ท JVM แ€กแ€œแ€ญแ€ฏแ€กแ€œแ€ปแ€ฑแ€ฌแ€€แ€บ แ€•แ€ซแ€•แ€ซแ€แ€šแ€บ

๐Ÿ“Š แ€˜แ€šแ€บแ€กแ€แ€ปแ€ญแ€”แ€บแ€™แ€พแ€ฌ แ€˜แ€ฌแ€žแ€ฏแ€ถแ€ธแ€›แ€™แ€œแ€ฒ?

  • Developer (Program แ€›แ€ฑแ€ธแ€™แ€šแ€บ): JDK install แ€œแ€ฏแ€•แ€บแ€•แ€ซ
  • End User (Program run แ€–แ€ผแ€…แ€บแ€™แ€šแ€บ): JRE install แ€œแ€ฏแ€•แ€บแ€•แ€ซ
  • Server (Java apps host แ€œแ€ฏแ€•แ€บแ€™แ€šแ€บ): JRE แ€œแ€ฏแ€ถแ€œแ€ฑแ€ฌแ€€แ€บแ€•แ€ซแ€แ€šแ€บ (production แ€™แ€พแ€ฌ)

3. JDK Installation (JDK Install แ€œแ€ฏแ€•แ€บแ€”แ€Šแ€บแ€ธ)

Step 1: Download JDK

There are several JDK distributions available. We recommend Oracle JDK or OpenJDK:

๐Ÿ”— Download Links

  • Oracle JDK: https://www.oracle.com/java/technologies/downloads/
  • OpenJDK: https://jdk.java.net/ (Open source, free)
  • Adoptium (Eclipse Temurin): https://adoptium.net/ (Recommended for beginners)

Recommended Version: JDK 17 LTS or JDK 21 LTS (Long Term Support)

JDK Versions แ€กแ€€แ€ผแ€ฑแ€ฌแ€„แ€บแ€ธ

Oracle JDK vs OpenJDK:

  • Oracle JDK: Oracle แ€›แ€ฒแ€ท official version แ€–แ€ผแ€…แ€บแ€•แ€ผแ€ฎแ€ธ commercial license แ€•แ€ซแ€•แ€ซแ€แ€šแ€บแ‹ Production use แ€™แ€พแ€ฌ license fee แ€•แ€ฑแ€ธแ€›แ€”แ€ญแ€ฏแ€„แ€บแ€•แ€ซแ€แ€šแ€บแ‹ Performance แ€”แ€ฒแ€ท support แ€€แ€ฑแ€ฌแ€„แ€บแ€ธแ€•แ€ซแ€แ€šแ€บแ‹
  • OpenJDK: Open source, แ€กแ€แ€™แ€ฒแ€ท แ€–แ€ผแ€…แ€บแ€•แ€ผแ€ฎแ€ธ community-driven แ€•แ€ซแ‹ Oracle JDK แ€”แ€ฒแ€ท functionality แ€กแ€แ€ฐแ€แ€ฐแ€•แ€ซแ‹ Personal projects, learning แ€กแ€แ€ฝแ€€แ€บ แ€žแ€„แ€ทแ€บแ€แ€ฑแ€ฌแ€บแ€•แ€ซแ€แ€šแ€บแ‹
  • Adoptium (Eclipse Temurin): OpenJDK แ€›แ€ฒแ€ท prebuilt binaries แ€แ€ฝแ€ฑ แ€–แ€ผแ€…แ€บแ€•แ€ผแ€ฎแ€ธ long-term support แ€›แ€•แ€ซแ€แ€šแ€บแ‹ Beginners แ€กแ€แ€ฝแ€€แ€บ แ€กแ€€แ€ฑแ€ฌแ€„แ€บแ€ธแ€†แ€ฏแ€ถแ€ธ แ€›แ€ฝแ€ฑแ€ธแ€แ€ปแ€šแ€บแ€™แ€พแ€ฏ แ€–แ€ผแ€…แ€บแ€•แ€ซแ€แ€šแ€บแ‹

LTS (Long Term Support) Versions:

  • Java 8: แ€กแ€›แ€„แ€บแ€€ แ€กแ€™แ€ปแ€ฌแ€ธแ€†แ€ฏแ€ถแ€ธ แ€žแ€ฏแ€ถแ€ธแ€แ€šแ€บ (2014-2030 support)
  • Java 11: Modern features แ€™แ€ปแ€ฌแ€ธแ€•แ€ซแ€•แ€ผแ€ฎแ€ธ stable (2018-2027 support)
  • Java 17: Latest LTS, recommended for new projects (2021-2029 support)
  • Java 21: Newest LTS with cutting-edge features (2023-2031 support)

๐Ÿ“Œ Beginners แ€แ€ฝแ€ฑ แ€กแ€แ€ฝแ€€แ€บ Java 17 LTS แ€žแ€ญแ€ฏแ€ทแ€™แ€Ÿแ€ฏแ€แ€บ Java 21 LTS แ€€แ€ญแ€ฏ recommend แ€œแ€ฏแ€•แ€บแ€•แ€ซแ€แ€šแ€บแ‹

Step 2: Installation Process

๐ŸชŸ Windows Installation

Windows Installation Steps
1. Download JDK installer (.exe file)
2. Double-click the installer
3. Click "Next" through installation wizard
4. Note the installation path (e.g., C:\Program Files\Java\jdk-17)
5. Click "Install"
6. Wait for installation to complete
7. Click "Close"

Default Path: C:\Program Files\Java\jdk-17

๐ŸŽ macOS Installation

macOS Installation Steps
1. Download JDK installer (.dmg file)
2. Double-click the .dmg file
3. Double-click the package icon
4. Follow the installation wizard
5. Enter admin password if prompted
6. Click "Install"

Default Path: /Library/Java/JavaVirtualMachines/jdk-17.jdk

๐Ÿง Linux Installation (Ubuntu/Debian)

Terminal Commands
# Update package list
sudo apt update

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

# Verify installation
java -version
javac -version
Installation Tips
  • Installation path แ€€แ€ญแ€ฏ แ€™แ€พแ€แ€บแ€‘แ€ฌแ€ธแ€•แ€ซ: Environment variables set แ€œแ€ฏแ€•แ€บแ€แ€ฒแ€ท แ€กแ€แ€ซ แ€žแ€ฏแ€ถแ€ธแ€›แ€™แ€พแ€ฌ แ€–แ€ผแ€…แ€บแ€•แ€ซแ€แ€šแ€บ
  • Admin rights แ€œแ€ญแ€ฏแ€•แ€ซแ€แ€šแ€บ: Windows/Mac แ€™แ€พแ€ฌ administrator privileges แ€›แ€พแ€ญแ€›แ€•แ€ซแ€™แ€šแ€บ
  • Previous versions: Old Java versions แ€›แ€พแ€ญแ€›แ€„แ€บ uninstall แ€™แ€œแ€ฏแ€•แ€บแ€œแ€Šแ€บแ€ธ แ€›แ€•แ€ซแ€แ€šแ€บแŠ multiple versions แ€žแ€ฏแ€ถแ€ธแ€œแ€ญแ€ฏแ€ท แ€›แ€•แ€ซแ€แ€šแ€บ
  • Disk space: JDK แ€€ approximately 300-500 MB แ€แ€”แ€ทแ€บ แ€œแ€ญแ€ฏแ€•แ€ซแ€แ€šแ€บ

4. Setting Environment Variables (Environment Variables Configure แ€œแ€ฏแ€•แ€บแ€”แ€Šแ€บแ€ธ)

After installing JDK, you need to set up environment variables so your system knows where to find Java tools.

Why Environment Variables?

แ€˜แ€ฌแ€€แ€ผแ€ฑแ€ฌแ€„แ€ทแ€บ แ€œแ€ญแ€ฏแ€กแ€•แ€บแ€œแ€ฒ?

Environment variables แ€€แ€ญแ€ฏ set แ€™แ€œแ€ฏแ€•แ€บแ€›แ€„แ€บ command line (CMD, Terminal) แ€€แ€”แ€ฑ javac แ€”แ€ฒแ€ท java commands แ€แ€ฝแ€ฑ แ€žแ€ฏแ€ถแ€ธแ€œแ€ญแ€ฏแ€ท แ€™แ€›แ€•แ€ซแ‹

Example: javac HelloWorld.java แ€œแ€ญแ€ฏแ€ท แ€›แ€ญแ€ฏแ€€แ€บแ€œแ€ญแ€ฏแ€€แ€บแ€›แ€„แ€บ 'javac' is not recognized as an internal or external command แ€†แ€ญแ€ฏแ€แ€ฒแ€ท error แ€•แ€ฑแ€ซแ€บแ€•แ€ซแ€แ€šแ€บแ‹

Environment variables set แ€œแ€ฏแ€•แ€บแ€•แ€ผแ€ฎแ€ธแ€™แ€พ system แ€€ JDK แ€›แ€ฒแ€ท bin folder แ€‘แ€ฒแ€€ javac.exe/java.exe แ€แ€ฝแ€ฑแ€€แ€ญแ€ฏ แ€›แ€พแ€ฌแ€แ€ฝแ€ฑแ€ทแ€•แ€ผแ€ฎแ€ธ command แ€แ€ฝแ€ฑ แ€กแ€œแ€ฏแ€•แ€บแ€œแ€ฏแ€•แ€บแ€•แ€ซแ€แ€šแ€บแ‹

JAVA_HOME: JDK installation directory แ€€แ€ญแ€ฏ แ€Šแ€ฝแ€พแ€”แ€บแ€•แ€ผแ€•แ€ฑแ€ธแ€แ€ฌ แ€–แ€ผแ€…แ€บแ€•แ€ซแ€แ€šแ€บ

PATH: Executable files (javac.exe, java.exe) แ€แ€ฝแ€ฑ แ€›แ€พแ€ญแ€แ€ฒแ€ท folder แ€€แ€ญแ€ฏ แ€Šแ€ฝแ€พแ€”แ€บแ€•แ€ผแ€•แ€ฑแ€ธแ€แ€ฌ แ€–แ€ผแ€…แ€บแ€•แ€ซแ€แ€šแ€บ

๐ŸชŸ Windows - Setting Environment Variables

Windows Steps
Step 1: Open System Properties
  - Right-click "This PC" or "My Computer"
  - Click "Properties"
  - Click "Advanced system settings"
  - Click "Environment Variables" button

Step 2: Set JAVA_HOME
  - Under "System variables", click "New"
  - Variable name: JAVA_HOME
  - Variable value: C:\Program Files\Java\jdk-17
  - Click "OK"

Step 3: Update PATH
  - Under "System variables", find "Path"
  - Click "Edit"
  - Click "New"
  - Add: %JAVA_HOME%\bin
  - Click "OK" on all windows

Step 4: Verify
  - Open NEW Command Prompt (CMD)
  - Type: java -version
  - Type: javac -version

๐ŸŽ macOS - Setting Environment Variables

Terminal Commands
# Open terminal and edit bash profile
nano ~/.bash_profile

# Add these lines (press 'i' to insert):
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH

# Save and exit (press Esc, then type :wq)

# Reload profile
source ~/.bash_profile

# Verify
java -version
javac -version

๐Ÿง Linux - Setting Environment Variables

Terminal Commands
# Edit bashrc file
nano ~/.bashrc

# Add these lines at the end:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64
export PATH=$JAVA_HOME/bin:$PATH

# Save and exit (Ctrl+X, then Y, then Enter)

# Reload
source ~/.bashrc

# Verify
java -version
javac -version

Verification (แ€กแ€แ€Šแ€บแ€•แ€ผแ€ฏแ€แ€ผแ€„แ€บแ€ธ)

Command Line
java -version
Expected Output
java version "17.0.9" 2023-10-17 LTS
Java(TM) SE Runtime Environment (build 17.0.9+11-LTS-201)
Java HotSpot(TM) 64-Bit Server VM (build 17.0.9+11-LTS-201, mixed mode)
Command Line
javac -version
Expected Output
javac 17.0.9
Troubleshooting

Error: 'java' is not recognized:

  • Environment variables แ€™แ€พแ€”แ€บแ€€แ€”แ€บแ€…แ€ฝแ€ฌ set แ€œแ€ฏแ€•แ€บแ€‘แ€ฌแ€ธแ€แ€ผแ€„แ€บแ€ธ แ€›แ€พแ€ญ/แ€™แ€›แ€พแ€ญ แ€…แ€…แ€บแ€•แ€ซ
  • Command Prompt/Terminal แ€€แ€ญแ€ฏ close แ€•แ€ผแ€ฎแ€ธ แ€•แ€ผแ€”แ€บแ€–แ€ฝแ€„แ€ทแ€บแ€•แ€ซ (changes แ€€แ€ญแ€ฏ reload แ€œแ€ฏแ€•แ€บแ€–แ€ญแ€ฏแ€ท)
  • Computer restart แ€œแ€ฏแ€•แ€บแ€•แ€ซ (Windows แ€™แ€พแ€ฌ แ€แ€…แ€บแ€แ€ซแ€แ€…แ€บแ€›แ€ถ แ€œแ€ญแ€ฏแ€•แ€ซแ€แ€šแ€บ)
  • PATH variable แ€™แ€พแ€ฌ %JAVA_HOME%\bin แ€•แ€ซแ€แ€„แ€บแ€แ€ผแ€„แ€บแ€ธ แ€…แ€…แ€บแ€•แ€ซ

Multiple Java versions installed:

  • JAVA_HOME แ€€ แ€กแ€žแ€…แ€บแ€†แ€ฏแ€ถแ€ธ version แ€€แ€ญแ€ฏ point แ€œแ€ฏแ€•แ€บแ€‘แ€ฌแ€ธแ€•แ€ซ
  • PATH แ€™แ€พแ€ฌ JAVA_HOME\bin แ€€ แ€กแ€›แ€พแ€ฑแ€ทแ€†แ€ฏแ€ถแ€ธแ€™แ€พแ€ฌ แ€›แ€พแ€ญแ€กแ€ฑแ€ฌแ€„แ€บ แ€‘แ€ฌแ€ธแ€•แ€ซ

5. IDE Setup (IDE แ€›แ€ฝแ€ฑแ€ธแ€แ€ปแ€šแ€บแ€•แ€ผแ€ฎแ€ธ Install แ€œแ€ฏแ€•แ€บแ€”แ€Šแ€บแ€ธ)

An Integrated Development Environment (IDE) provides tools for writing, compiling, running, and debugging Java code all in one place.

๐Ÿ’ก

IntelliJ IDEA

Recommended for beginners

Intelligent code completion, refactoring, debugging. Free Community Edition available.

Download: https://www.jetbrains.com/idea/

๐ŸŒ™

Eclipse IDE

Popular & Free

Mature, stable, extensive plugin ecosystem. Completely free and open source.

Download: https://www.eclipse.org/

๐Ÿ“

VS Code

Lightweight

Fast, modern editor with Java extensions. Good for small projects.

Download: https://code.visualstudio.com/

แ€˜แ€šแ€บ IDE แ€€แ€ญแ€ฏ แ€›แ€ฝแ€ฑแ€ธแ€™แ€œแ€ฒ?

IntelliJ IDEA (Highly Recommended):

  • Pros: Smart code completion, excellent refactoring tools, built-in Maven/Gradle support, great debugger, modern UI
  • Cons: Resource-intensive (needs good RAM), Community Edition แ€™แ€พแ€ฌ enterprise features แ€แ€แ€ปแ€ญแ€ฏแ€ท แ€•แ€ญแ€แ€บแ€‘แ€ฌแ€ธแ€แ€šแ€บ
  • Best for: Beginners to professionals, large projects, Spring/Java EE development

Eclipse IDE:

  • Pros: Completely free, large plugin ecosystem, good for enterprise Java, lighter than IntelliJ
  • Cons: UI แ€”แ€Šแ€บแ€ธแ€”แ€Šแ€บแ€ธ outdated, setup แ€œแ€ฏแ€•แ€บแ€›แ€แ€ฌ แ€›แ€พแ€ฏแ€•แ€บแ€”แ€ญแ€ฏแ€„แ€บแ€แ€šแ€บ
  • Best for: Students, budget-conscious developers, enterprise projects

VS Code:

  • Pros: Very fast, modern, lightweight, good for multiple languages, free extensions
  • Cons: Java support แ€€ extension dependent, IDE features แ€”แ€Šแ€บแ€ธแ€แ€šแ€บ
  • Best for: Simple projects, quick edits, developers who prefer lightweight editors

๐Ÿ“Œ Recommendation: Beginners แ€แ€ฝแ€ฑ แ€กแ€แ€ฝแ€€แ€บ IntelliJ IDEA Community Edition แ€€แ€ญแ€ฏ แ€กแ€€แ€ผแ€ถแ€•แ€ผแ€ฏแ€•แ€ซแ€แ€šแ€บแ‹ Setup แ€œแ€ฝแ€šแ€บแ€•แ€ผแ€ฎแ€ธ beginner-friendly แ€–แ€ผแ€…แ€บแ€•แ€ซแ€แ€šแ€บแ‹

Installing IntelliJ IDEA

Installation Steps
1. Go to https://www.jetbrains.com/idea/download/
2. Download "Community Edition" (Free)
3. Run the installer
4. Choose installation directory
5. Create desktop shortcut (recommended)
6. Select "Create associations" for .java files
7. Click "Install"
8. Launch IntelliJ IDEA
9. Choose UI theme (Light/Dark)
10. Skip or install featured plugins
11. Click "Start using IntelliJ IDEA"

Creating Your First Project in IntelliJ

Project Setup Steps
1. Click "New Project"
2. Select "Java" from left sidebar
3. Choose Project SDK (select installed JDK)
   - If not listed, click "Add SDK" โ†’ "JDK"
   - Browse to JDK installation folder
4. Name your project (e.g., "JavaLearning")
5. Choose project location
6. Click "Create"
7. IDE opens with project structure
8. Right-click "src" folder โ†’ New โ†’ Java Class
9. Name the class (e.g., "HelloWorld")
10. Write your code
11. Click green "Run" button
IntelliJ Tips
  • Auto-import: Alt+Enter (Windows/Linux) or Option+Enter (Mac) แ€€ missing imports แ€แ€ฝแ€ฑ automatically add แ€œแ€ฏแ€•แ€บแ€•แ€ฑแ€ธแ€แ€šแ€บ
  • Code completion: Ctrl+Space แ€€ suggestions แ€•แ€ฑแ€ธแ€แ€šแ€บ
  • Run code: Shift+F10 (Windows/Linux) or Ctrl+R (Mac)
  • Format code: Ctrl+Alt+L (Windows/Linux) or Cmd+Option+L (Mac)
  • Refactor/Rename: Shift+F6 แ€€ variable/class names rename แ€œแ€ฏแ€•แ€บแ€œแ€ญแ€ฏแ€ท แ€›แ€แ€šแ€บ

6. Testing Your Setup (Setup แ€™แ€พแ€”แ€บ/แ€™แ€™แ€พแ€”แ€บ แ€…แ€™แ€บแ€ธแ€žแ€•แ€บแ€แ€ผแ€„แ€บแ€ธ)

Let's verify everything is working by creating and running a simple Java program from command line:

Step 1: Create a Java File

Open any text editor (Notepad, TextEdit, nano) and create a file named Test.java:

Java - Test.java
public class Test {
    public static void main(String[] args) {
        System.out.println("Java setup successful!");
        System.out.println("JDK version: " + System.getProperty("java.version"));
        System.out.println("OS: " + System.getProperty("os.name"));
    }
}

Step 2: Compile the Program

Open Command Prompt/Terminal, navigate to the folder containing Test.java, and compile:

Command Line
javac Test.java

If successful, this creates Test.class file (no output = success). If there are errors, check for typos.

Step 3: Run the Program

Command Line
java Test
Expected Output
Java setup successful!
JDK version: 17.0.9
OS: Windows 10
แ€กแ€›แ€ฑแ€ธแ€€แ€ผแ€ฎแ€ธแ€แ€ฒแ€ท แ€™แ€พแ€แ€บแ€แ€ปแ€€แ€บแ€™แ€ปแ€ฌแ€ธ
  • javac Test.java - Compile แ€œแ€ฏแ€•แ€บแ€แ€ฒแ€ท command, .java file name แ€”แ€ฒแ€ท แ€žแ€ฏแ€ถแ€ธแ€•แ€ซ
  • java Test - Run แ€œแ€ฏแ€•แ€บแ€แ€ฒแ€ท command, .class แ€™แ€•แ€ซแ€˜แ€ฒ class name แ€แ€„แ€บ แ€žแ€ฏแ€ถแ€ธแ€•แ€ซ
  • File name แ€”แ€ฒแ€ท class name แ€€ exactly แ€แ€ฐแ€›แ€•แ€ซแ€™แ€šแ€บ (case-sensitive)
  • Command prompt/terminal แ€€แ€ญแ€ฏ Test.java file แ€›แ€พแ€ญแ€แ€ฒแ€ท folder แ€™แ€พแ€ฌ แ€–แ€ฝแ€„แ€ทแ€บแ€›แ€•แ€ซแ€™แ€šแ€บ
  • Compile แ€กแ€ฑแ€ฌแ€„แ€บแ€™แ€ผแ€„แ€บแ€›แ€„แ€บ output แ€™แ€›แ€พแ€ญแ€•แ€ซแŠ error แ€›แ€พแ€ญแ€™แ€พ message แ€•แ€ฑแ€ซแ€บแ€•แ€ซแ€แ€šแ€บ

7. Key Takeaways (แ€™แ€พแ€แ€บแ€žแ€ฌแ€ธแ€›แ€™แ€Šแ€ทแ€บ แ€กแ€แ€ปแ€€แ€บแ€™แ€ปแ€ฌแ€ธ)

  • JDK = JRE + Development Tools: Developers need JDK, end users need JRE
  • JVM: Executes bytecode, platform-specific, enables WORA
  • Java 17 LTS or Java 21 LTS: Recommended versions for new learners
  • Environment Variables: JAVA_HOME points to JDK, PATH includes bin folder
  • Verify Installation: java -version and javac -version
  • IntelliJ IDEA Community: Best IDE for beginners (free)
  • Compile: javac FileName.java creates .class file
  • Run: java ClassName executes the program
  • Command line vs IDE: Both work, IDE is more convenient
  • File name = Class name: Must match exactly (case-sensitive)

๐Ÿ’ก Quick Quiz

Test your understanding:

Q1: What does JDK stand for?

Q2: Which command compiles a Java file?

Q3: What does JAVA_HOME environment variable point to?

Previous Lesson
Next Lesson

Your Notes

0 notes
Saved