Module 1 - Lesson 1

What is Java Programming Language?

Java programming language အကြောင်း အခြေခံကနေ စတင်လေ့လာကြမယ်။ Java က ဘာလဲ၊ ဘာကြောင့် လူကြိုက်များတာလဲ၊ ဘယ်လို အလုပ်လုပ်တာလဲ ဆိုတာကို အသေးစိတ် လေ့လာကြမယ်။

⏱️ 45 minutes 📚 Beginner 💻 Hands-on Practice

1. Java ဆိုတာ ဘာလဲ?

Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible. It is a general-purpose programming language intended to let programmers write once, run anywhere (WORA).

မြန်မာလို ရှင်းပြရင်

Java ဆိုတာ high-level programming language တစ်ခု ဖြစ်ပါတယ်။ "High-level" ဆိုတာက လူတွေ နားလည်ရ လွယ်ကူတဲ့ ဘာသာစကား ဆိုတဲ့ အဓိပ္ပာယ်ပါ။ Computer language တွေမှာ level 2 ခု ရှိပါတယ်:

  • Low-level: Machine ကိုယ်တိုင် နားလည်တဲ့ language (Assembly, Machine code) - လူတွေ နားလည်ရ ခက်ပါတယ်
  • High-level: လူတွေ နားလည်ရ လွယ်တဲ့ language (Java, Python, C++) - ပိုပြီး သဘာဝကျပါတယ်

"Class-based, Object-oriented" ဆိုတာက Java မှာ အရာအားလုံးကို Objects တွေနဲ့ Classes တွေ အနေနဲ့ ရေးရတယ် ဆိုတဲ့ သဘောပါ။ အဲ့ဒါက real-world scenarios တွေကို ပိုပြီး လွယ်လွယ်ကူကူ model လုပ်လို့ ရစေပါတယ်။ (ဒါကို Module 6 မှာ အသေးစိတ် လေ့လာမှာပါ)

"Write Once, Run Anywhere (WORA)" က Java ရဲ့ အဓိက feature ပါ။ Java code တစ်ခါ ရေးလိုက်ရင် Windows, Mac, Linux ဘယ် operating system မှာမဆို အလုပ်လုပ်ပါတယ်။ ဒါက Java ရဲ့ အကြီးမားဆုံး အားသာချက် ဖြစ်ပါတယ်။

2. Java ရဲ့ သမိုင်း (History of Java)

Java was originally developed by James Gosling at Sun Microsystems (now owned by Oracle Corporation) and released in 1995. The language was initially called "Oak" after an oak tree that stood outside Gosling's office.

📜 Java Timeline

  • 1991: Project started, named "Oak"
  • 1995: Renamed to "Java" and officially released
  • 2006: Sun Microsystems made Java open source
  • 2010: Oracle Corporation acquired Sun Microsystems
  • 2024: Java 21 LTS (Long Term Support) released
မြန်မာလို ရှင်းပြရင်

Java ကို James Gosling က 1991 ခုနှစ်မှာ စတင် တီထွင်ခဲ့ပါတယ်။ အစောပိုင်းမှာ "Oak" လို့ နာမည်ပေးခဲ့ပြီး၊ 1995 မှာ "Java" အဖြစ် ပြောင်းလဲ ခဲ့ပါတယ်။ Java ဆိုတဲ့ နာမည်က Java coffee ကနေ လာတာပါ။

အခုဆိုရင် Java က Oracle Corporation ရဲ့ ပိုင်ဆိုင်မှု ဖြစ်ပြီး၊ version အသစ်တွေ ဆက်လက် ထွက်ရှိနေပါတယ်။ Java 8, Java 11, Java 17, Java 21 တို့က Long Term Support (LTS) versions တွေ ဖြစ်ပြီး၊ production environments တွေမှာ အများဆုံး သုံးကြပါတယ်။

Open Source ဆိုတာက source code ကို လူတိုင်း ကြည့်လို့ရ၊ modify လုပ်လို့ရ၊ အခမဲ့ သုံးလို့ရတယ် ဆိုတဲ့ သဘောပါ။

3. Java ရဲ့ အဓိက Features တွေ

🌐

Platform Independent

Java code can run on any platform (Windows, Mac, Linux) without modification.

🎯

Object-Oriented

Everything in Java is treated as an object, making code more organized and reusable.

🔒

Secure

Built-in security features protect against malicious code and ensure safe execution.

⚡

Robust & Reliable

Strong memory management and exception handling make Java programs stable.

🔄

Multithreading

Built-in support for running multiple tasks simultaneously for better performance.

📦

Rich API

Extensive built-in libraries for networking, I/O, utilities, and more.

အသေးစိတ် မြန်မာလို ရှင်းပြရင်

1. Platform Independent (အခြေခံ ပလက်ဖောင်းမရွေး သုံးလို့ရတယ်):

Java ရဲ့ အကြီးမားဆုံး အားသာချက်ပါ။ Java program တစ်ခု ရေးလိုက်ရင် Windows computer မှာ run လို့ရသလို၊ Mac မှာလည်း run လို့ရ၊ Linux server မှာလည်း run လို့ရပါတယ်။ ဘာကြောင့်လဲဆိုတော့ Java က Java Virtual Machine (JVM) ပေါ်မှာ အလုပ်လုပ်လို့ပါ။ JVM က operating system တိုင်းမှာ ရှိပြီး၊ သူက Java bytecode ကို ဘယ် platform မှာမဆို run လို့ ရအောင် ပြောင်းပေးပါတယ်။

2. Object-Oriented (အရာဝတ္ထု ဗဟိုပြု):

Java မှာ အရာအားလုံးက Object တွေပါ။ Real world မှာ ရှိတဲ့ အရာတွေကို software မှာ model လုပ်ရတာ လွယ်ကူစေပါတယ်။ ဥပမာ - Student, Car, Book စတဲ့ real-world entities တွေကို Object အနေနဲ့ ဖန်တီးနိုင်ပါတယ်။ ဒါက code ကို organized, reusable, maintainable ဖြစ်စေပါတယ်။

3. Secure (လုံခြုံမှု မြင့်မားတယ်):

Java မှာ security features တွေ built-in ပါဝင်ပါတယ်။ Bytecode Verification က malicious code တွေကို ကာကွယ်ပေးပါတယ်။ Sandbox environment မှာ run တာကြောင့် system resources တွေကို ထိခိုက်မှု မရှိပါ။ အဲ့ဒါကြောင့် banking, healthcare စတဲ့ sensitive applications တွေမှာ Java ကို သုံးကြပါတယ်။

4. Robust & Reliable (ခိုင်မာ ယုံကြည်စိတ်ချရတယ်):

Java မှာ Garbage Collection ရှိပါတယ်။ ဒါက memory management ကို အလိုအလျောက် လုပ်ပေးပါတယ်။ C/C++ လို manual memory management မလိုတော့ပါ။ Exception Handling က error တွေကို ကောင်းကောင်း handle လုပ်နိုင်စေပါတယ်။ Strong Type Checking က compile time မှာပဲ error တွေ ဖမ်းပေးလို့ runtime မှာ crash ဖြစ်ခြေ နည်းပါတယ်။

5. Multithreading (တစ်ချိန်တည်းမှာ အများကြီး လုပ်နိုင်တယ်):

Java မှာ multithreading support built-in ပါပါတယ်။ Thread ဆိုတာ program ရဲ့ အစိတ်အပိုင်း တစ်ခုပါ။ Multiple threads တွေ တစ်ချိန်တည်းမှာ run နိုင်လို့ program က faster ဖြစ်ပါတယ်။ ဥပမာ - Video player app မှာ video play လုပ်နေတဲ့ အချိန်မှာပဲ subtitles တွေ load လုပ်နိုင်တာမျိုးပါ။

6. Rich API (လုပ်ဆောင်ချက် စွမ်းရည် များစွာ):

Java မှာ built-in libraries (API) တွေ အများကြီး ပါပါတယ်။ File handling, networking, database connection, GUI development စတာတွေကို library တွေ သုံးပြီး လွယ်လွယ်ကူကူ လုပ်လို့ ရပါတယ်။ Wheel ကို ပြန်ပြီး တီထွင်စရာ မလိုပါ။

4. Java က ဘယ်လို အလုပ်လုပ်လဲ? (How Java Works)

Java programs follow a unique compilation and execution process that makes them platform-independent:

Process Flow
Java Source Code (.java file)
        ↓
[Java Compiler (javac)]
        ↓
Bytecode (.class file)
        ↓
[Java Virtual Machine (JVM)]
        ↓
Machine Code (Native to OS)
        ↓
Output / Execution
အဆင့်ဆင့် အသေးစိတ် ရှင်းပြရင်

Step 1: Write Source Code (Source Code ရေးတယ်)

Java source code ကို .java file extension နဲ့ text editor သို့မဟုတ် IDE (IntelliJ IDEA, Eclipse, VS Code) တွေမှာ ရေးပါတယ်။ ဥပမာ - HelloWorld.java

Step 2: Compile (Compile လုပ်တယ်)

Java Compiler (javac) က source code (.java) ကို bytecode (.class) အဖြစ် ပြောင်းပေးပါတယ်။ Bytecode ဆိုတာ intermediate language တစ်ခု ဖြစ်ပြီး၊ လူတွေ ဖတ်လို့ မရပေမယ့် machine code ထက် higher level ဖြစ်ပါတယ်။

javac HelloWorld.java  // This creates HelloWorld.class

Step 3: JVM Executes (JVM က run တယ်)

Java Virtual Machine (JVM) က bytecode ကို ဖတ်ပြီး platform-specific machine code အဖြစ် ပြောင်းပေးပါတယ်။ Windows ဆို Windows machine code၊ Mac ဆို Mac machine code ပေါ့။ အဲ့ဒါကြောင့် same bytecode က ဘယ် platform မှာမဆို run လို့ ရတာပါ။

java HelloWorld  // JVM executes HelloWorld.class

ဘာကြောင့် 2-step process လုပ်တာလဲ?

  • Platform Independence: Bytecode က platform-neutral ဖြစ်လို့ ဘယ် OS မှာမဆို run လို့ ရပါတယ်
  • Security: JVM က bytecode ကို verify လုပ်ပြီးမှ run လို့ security မြင့်မားပါတယ်
  • Optimization: JVM က runtime မှာ optimize လုပ်နိုင်လို့ performance ကောင်းပါတယ်

5. ပထမဆုံး Java Program (Your First Java Program)

Let's look at the classic "Hello, World!" program in Java:

Java - HelloWorld.java
public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}
Output
Hello, World!
Line by Line အသေးစိတ် ရှင်းပြရင်

Line 1: public class HelloWorld {

  • public - ဒါက access modifier ပါ။ public ဆိုတာ ဒီ class ကို ဘယ်ကနေမဆို access လုပ်လို့ ရတယ် ဆိုတဲ့ သဘောပါ။
  • class - Java မှာ code အားလုံးက class တွေ အတွင်းမှာ ရှိရပါမယ်။ Class ဆိုတာ blueprint တစ်ခု လို့ စဉ်းစားလို့ ရပါတယ်။
  • HelloWorld - ဒါက class ရဲ့ နာမည်ပါ။ အရေးကြီးတာ: Class name နဲ့ file name က တူရပါမယ်။ ဒီ class ကို HelloWorld.java ဆိုတဲ့ file နဲ့ save လုပ်ရပါမယ်။
  • { - Opening curly brace က class body ရဲ့ အစပါ။

Line 2: public static void main(String[] args) {

ဒါက Java program ရဲ့ entry point ပါ။ Program start လုပ်တဲ့ အခါ JVM က ဒီ method ကို အရင်ဆုံး ရှာပြီး execute လုပ်ပါတယ်။ main method မရှိရင် program က run မှာ မဟုတ်ပါ။

  • public - JVM က ဘယ်ကနေမဆို access လုပ်နိုင်ဖို့ public ဖြစ်ရပါမယ်
  • static - Object မလုပ်ဘဲ class name နဲ့တင် ခေါ်လို့ ရဖို့ static ဖြစ်ရပါမယ်။ JVM က object create မလုပ်ဘဲ main method ကို run ချင်လို့ပါ။
  • void - ဒီ method က ဘာမှ return မလုပ်ဘူး ဆိုတဲ့ သဘောပါ
  • main - Method ရဲ့ နာမည်ပါ။ ဒါက fixed name ဖြစ်ပြီး ပြောင်းလို့ မရပါ
  • String[] args - Command line arguments တွေကို လက်ခံဖို့ parameter ပါ။ String array တစ်ခု ဖြစ်ပါတယ်

Line 3: System.out.println("Hello, World!");

ဒါက screen မှာ text ပြဖို့ statement ပါ။

  • System - ဒါက Java ရဲ့ built-in class တစ်ခု ဖြစ်ပြီး java.lang package ထဲက လာပါတယ်
  • out - System class ရဲ့ static field တစ်ခု ဖြစ်ပြီး output stream ကို represent လုပ်ပါတယ်
  • println - "Print Line" ရဲ့ အတိုကောက်ပါ။ Print လုပ်ပြီး new line ထည့်ပေးပါတယ်
  • "Hello, World!" - ဒါက String literal ပါ။ Print လုပ်ချင်တဲ့ text ကို double quotes (" ") ထဲမှာ ထည့်ပါတယ်
  • ; - Semicolon က Java မှာ statement ရဲ့ အဆုံးပါ။ မဖြစ်မနေ ထည့်ရပါမယ်

Line 4 & 5: }

Closing curly braces တွေ ဖြစ်ပါတယ်။ Line 4 က main method ကို close လုပ်ပြီး၊ Line 5 က HelloWorld class ကို close လုပ်ပါတယ်။

⚠️ အရေးကြီးတဲ့ စည်းမျဉ်းတွေ

  • Java က case-sensitive ဖြစ်ပါတယ်။ HelloWorld နဲ့ helloworld က မတူပါ
  • File name နဲ့ class name က တိတိကျကျ တူရပါမယ် (case-sensitive)
  • Every statement က semicolon (;) နဲ့ ဆုံးရပါမယ်
  • Opening curly brace { တိုင်းမှာ corresponding closing brace } ရှိရပါမယ်
  • main method ရဲ့ signature က အတိအကျ ဒီအတိုင်း ဖြစ်ရပါမယ်

6. နောက်ထပ် ဥပမာများ (More Examples)

Example 1: Printing Multiple Lines

Java
public class MultipleLines {
    public static void main(String[] args) {
        System.out.println("Welcome to Java Programming!");
        System.out.println("Java is fun!");
        System.out.println("Let's learn together.");
    }
}
Output
Welcome to Java Programming!
Java is fun!
Let's learn together.
ရှင်းလင်းချက်

println() က line တစ်ကြောင်း print လုပ်ပြီး cursor ကို next line ကို ရွှေ့ပေးပါတယ်။ ဒါကြောင့် println() သုံးကြိမ် ခေါ်လိုက်ရင် output က သုံးကြောင်း ထွက်ပါတယ်။

If you want to print on the same line, use print() instead:

System.out.print("Hello ");
System.out.print("World!");
// Output: Hello World!

Example 2: Print vs Println

Java
public class PrintDemo {
    public static void main(String[] args) {
        // Using print() - stays on same line
        System.out.print("Java ");
        System.out.print("is ");
        System.out.print("awesome!");
        
        // Using println() - moves to next line
        System.out.println();  // Empty line
        System.out.println("Hello");
        System.out.println("World");
    }
}
Output
Java is awesome!

Hello
World
ဘာကြောင့် ဒီလို သုံးတာလဲ?
  • print() - Text ကို print လုပ်ပြီး cursor က same line မှာပဲ ရှိနေပါတယ်။ တစ်ကြောင်းတည်းမှာ စာများများ ရေးချင်တဲ့ အခါ သုံးပါတယ်။
  • println() - Text ကို print လုပ်ပြီး cursor က next line ကို ရွှေ့ပါတယ်။ Line သစ် တစ်ကြောင်းချင်းစီ print ချင်တဲ့ အခါ သုံးပါတယ်။
  • println() ကို argument မပါဘဲ ခေါ်ရင် empty line တစ်ကြောင်း ထည့်ပေးပါတယ်

7. ဘာကြောင့် Java ကို လေ့လာသင့်လဲ?

🌟 Java သုံးနေကြတဲ့ နေရာများ

  • 📱 Android Apps: 2.5 billion+ Android devices မှာ Java/Kotlin သုံးပါတယ်
  • 🌐 Web Applications: LinkedIn, Twitter, Netflix backend မှာ Java သုံးပါတယ်
  • 🏢 Enterprise Software: Banking systems, ERP, CRM applications
  • 🎮 Games: Minecraft ကို Java နဲ့ ရေးထားပါတယ်!
  • 📊 Big Data: Hadoop, Apache Spark တို့က Java-based ပါ
  • ☁️ Cloud Applications: AWS, Google Cloud platforms
  • 🤖 IoT Devices: Smart home devices, sensors
အသေးစိတ် ရှင်းပြရင်

1. Job Opportunities (အလုပ်အကိုင် အခွင့်အလမ်းများ)

Java က ကမ္ဘာတလွှားမှာ အများဆုံး တောင်းဆိုတဲ့ programming skills ထဲက တစ်ခု ဖြစ်ပါတယ်။ Fortune 500 companies တွေရဲ့ 90% က Java သုံးပါတယ်။ Java developers တွေ အတွက် salary rate လည်း မြင့်မားပါတယ်။

2. Large Community & Resources (ကြီးမားတဲ့ community)

Java မှာ developers သန်းပေါင်း များစွာ ရှိပြီး၊ tutorials, documentation, libraries, frameworks တွေ အများကြီး ရရှိနိုင်ပါတယ်။ ပြဿနာ တစ်ခု တွေ့ရင် Google search လုပ်ရင် အဖြေ တွေ့လွယ်ပါတယ်။

3. Versatility (စွယ်စုံ သုံးစွဲနိုင်မှု)

Java နဲ့ mobile apps, web applications, desktop software, games, enterprise systems အစရှိသဖြင့် အမျိုးမျိုး develop လုပ်လို့ ရပါတယ်။ Programming language တစ်ခုတည်း သိရုံနဲ့ များစွာသော project types တွေ လုပ်နိုင်ပါတယ်။

4. Strong Foundation (ခိုင်မာတဲ့ အခြေခံ)

Java သည်းသည်းခံခံ သင်ထားရင် C++, C#, Python စတဲ့ languages တွေ လေ့လာရတာ ပိုလွယ်ကူပါတယ်။ OOP concepts, data structures, algorithms တွေကို ကောင်းကောင်း နားလည်လာမှာ ဖြစ်ပါတယ်။

5. Stable & Mature (တည်ငြိမ်ပြီး ရင့်ကျက်တယ်)

Java က 25+ နှစ် ရှိပြီဖြစ်လို့ stable, well-tested, production-ready ဖြစ်ပါတယ်။ ကုမ္ပဏီကြီးတွေ ယုံကြည်စိတ်ချစွာ သုံးနိုင်ပါတယ်။ Backward compatibility လည်း ကောင်းပါတယ်။

8. Key Takeaways (မှတ်သားရမည့် အချက်များ)

  • Java is a high-level, object-oriented programming language
  • Created by James Gosling in 1995 at Sun Microsystems
  • Follows "Write Once, Run Anywhere" principle
  • Java code is compiled to bytecode and executed by JVM
  • Key features: Platform Independent, Object-Oriented, Secure, Robust
  • Widely used in Android, Web, Enterprise, Big Data applications
  • Every Java program must have a main() method
  • Class name must match the filename exactly
  • Java is case-sensitive language
  • Statements end with semicolon (;)

💡 Quick Quiz

Test your understanding:

Q1: What does WORA stand for?

Q2: Java source code files have which extension?

Q3: Who created Java?

Next Lesson

Your Notes

0 notes
Saved