Chuyển tới nội dung chính

☕ Ly Cappuccino Đầu Tiên - Hello World

Chào mừng đến với bài học về Hello World - ly cà phê đầu tiên trong Café Âu!

🎯 Món Ăn Hôm Nay

Tưởng tượng bạn là barista mới học việc:

  • Ly đầu tiên phải đơn giản → Espresso cơ bản
  • Hiểu từng bước → Xay cà phê, pha, phục vụ
  • Gọi tên khách → "Espresso của anh A đây!"

Đó chính là Hello World - chương trình Java đầu tiên!

☕ Hello World Là Gì?

Hello World = Ly cà phê đầu tiên (chương trình đơn giản nhất)

public class HelloCafe {
public static void main(String[] args) {
System.out.println("☕ Chào mừng đến Java Café!");
}
}

Ẩn Dụ Café:

  • public class HelloCafe = Quán cà phê của bạn
  • main() = Cửa vào chính (entry point)
  • System.out.println() = Barista gọi tên khách
  • "Chào mừng..." = Lời chào khách hàng

👨‍🍳 Câu Chuyện Trong Quán

Hôm nay là ngày đầu tiên làm barista:

Tình huống 1: Mở cửa quán đầu tiên

// File: QuanCafe.java
public class QuanCafe {
public static void main(String[] args) {
// Cửa vào chính của quán
System.out.println("☕ Chào mừng đến Java Café!");
System.out.println("🏪 Quán đang mở cửa...");
}
}

Tình huống 2: Phục vụ khách đầu tiên

public class PhucVuKhach {
public static void main(String[] args) {
String tenKhach = "Anh Minh";
String doUong = "Cappuccino";
int gia = 50000;

System.out.println("👋 Chào " + tenKhach + "!");
System.out.println("☕ Đã phục vụ: " + doUong);
System.out.println("💰 Giá: " + gia + " VND");
}
}

🎉 Kết quả: Bạn đã pha thành công ly cà phê đầu tiên!

📝 Công Thức Nấu (Code Examples)

Ví Dụ 1: Chương Trình Cơ Bản

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

Giải thích từng dòng:

public class HelloWorld {
// 1. public: Quán mở cửa cho mọi người
// 2. class: Đây là một quán (container)
// 3. HelloWorld: Tên quán

public static void main(String[] args) {
// 4. main(): Cửa vào chính - bắt đầu từ đây
// 5. String[] args: Danh sách khách vào (tham số)

System.out.println("Hello, World!");
// 6. System.out.println(): In ra màn hình
// 7. "Hello, World!": Nội dung in ra
}
}

Compile & Run:

# Biên dịch (Compile)
javac HelloWorld.java

# Chạy (Run)
java HelloWorld

Output:

Hello, World!

Ví Dụ 2: Menu Quán Café

public class MenuCafe {
public static void main(String[] args) {
System.out.println("╔══════════════════════════╗");
System.out.println("║ JAVA CAFÉ MENU ║");
System.out.println("╠══════════════════════════╣");
System.out.println("║ ☕ Espresso 45,000đ ║");
System.out.println("║ ☕ Latte 50,000đ ║");
System.out.println("║ ☕ Cappuccino 55,000đ ║");
System.out.println("║ ☕ Mocha 60,000đ ║");
System.out.println("╚══════════════════════════╝");
}
}

Output:

╔══════════════════════════╗
║ JAVA CAFÉ MENU ║
╠══════════════════════════╣
║ ☕ Espresso 45,000đ ║
║ ☕ Latte 50,000đ ║
║ ☕ Cappuccino 55,000đ ║
║ ☕ Mocha 60,000đ ║
╚══════════════════════════╝

Ví Dụ 3: In Với Biến

public class DonHang {
public static void main(String[] args) {
// Khai báo thông tin đơn hàng
String tenKhach = "Chị Lan";
String doUong = "Latte";
int soLuong = 2;
int giaMotLy = 50000;

// Tính tổng
int tongTien = soLuong * giaMotLy;

// In hóa đơn
System.out.println("🧾 HÓA ĐƠN:");
System.out.println("Khách hàng: " + tenKhach);
System.out.println("Đồ uống: " + doUong + " x" + soLuong);
System.out.println("Tổng tiền: " + tongTien + " VND");
}
}

Output:

🧾 HÓA ĐƠN:
Khách hàng: Chị Lan
Đồ uống: Latte x2
Tổng tiền: 100000 VND

Ví Dụ 4: Dùng printf (Format Đẹp)

public class HoaDonFormat {
public static void main(String[] args) {
String tenKhach = "Anh Minh";
String doUong = "Cappuccino";
int soLuong = 3;
int giaMotLy = 55000;
int tongTien = soLuong * giaMotLy;

// printf: In với định dạng đẹp
System.out.println("╔═══════════════════════════╗");
System.out.println("║ HÓA ĐƠN CAFÉ ║");
System.out.println("╠═══════════════════════════╣");
System.out.printf("║ Khách: %-18s║\n", tenKhach);
System.out.printf("║ Món: %-20s║\n", doUong);
System.out.printf("║ Số lượng: x%-14d║\n", soLuong);
System.out.printf("║ Đơn giá: %,15d đ ║\n", giaMotLy);
System.out.println("╠═══════════════════════════╣");
System.out.printf("║ TỔNG: %,18d đ ║\n", tongTien);
System.out.println("╚═══════════════════════════╝");
}
}

Output:

╔═══════════════════════════╗
║ HÓA ĐƠN CAFÉ ║
╠═══════════════════════════╣
║ Khách: Anh Minh ║
║ Món: Cappuccino ║
║ Số lượng: x3 ║
║ Đơn giá: 55,000 đ ║
╠═══════════════════════════╣
║ TỔNG: 165,000 đ ║
╚═══════════════════════════╝

Ví Dụ 5: Nhiều Cách In

public class CachIn {
public static void main(String[] args) {
// Cách 1: println (in và xuống dòng)
System.out.println("☕ Cách 1: println");
System.out.println("Tự động xuống dòng");

// Cách 2: print (in không xuống dòng)
System.out.print("☕ Cách 2: ");
System.out.print("print ");
System.out.print("cùng dòng\n");

// Cách 3: printf (in với format)
String mon = "Latte";
int gia = 50000;
System.out.printf("☕ Cách 3: %s giá %,d VND\n", mon, gia);
}
}

Output:

☕ Cách 1: println
Tự động xuống dòng
☕ Cách 2: print cùng dòng
☕ Cách 3: Latte giá 50,000 VND

🔥 Thực Hành Trong Quán

Bài Tập 1: Lời Chào Cá Nhân

public class ChaoKhach {
public static void main(String[] args) {
String tenBan = "Tên của bạn"; // Thay tên của bạn vào đây

System.out.println("╔════════════════════════════╗");
System.out.println("║ ☕ CHÀO MỪNG ĐẾN CAFÉ ☕ ║");
System.out.println("╠════════════════════════════╣");
System.out.printf("║ Xin chào, %-15s ║\n", tenBan);
System.out.println("║ Hân hạnh được phục vụ! ║");
System.out.println("╚════════════════════════════╝");
}
}

Bài Tập 2: Thông Tin Quán

public class ThongTinQuan {
public static void main(String[] args) {
String tenQuan = "Java Café";
String diaChi = "123 Đường Lê Lợi, Q1";
String soDienThoai = "0123-456-789";
String gioMoCua = "07:00 - 22:00";

System.out.println("📋 THÔNG TIN QUÁN:");
System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━");
System.out.println("🏪 Tên: " + tenQuan);
System.out.println("📍 Địa chỉ: " + diaChi);
System.out.println("📞 SĐT: " + soDienThoai);
System.out.println("⏰ Giờ mở cửa: " + gioMoCua);
System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━");
}
}

Bài Tập 3: Tính Hóa Đơn Đơn Giản

public class TinhHoaDon {
public static void main(String[] args) {
// Thông tin đơn hàng
int espresso = 2; // 2 ly
int latte = 1; // 1 ly
int cappuccino = 3; // 3 ly

// Giá tiền
int giaEspresso = 45000;
int giaLatte = 50000;
int giaCappuccino = 55000;

// Tính tổng
int tienEspresso = espresso * giaEspresso;
int tienLatte = latte * giaLatte;
int tienCappuccino = cappuccino * giaCappuccino;
int tongTien = tienEspresso + tienLatte + tienCappuccino;

// In hóa đơn
System.out.println("🧾 HÓA ĐƠN THANH TOÁN:\n");
System.out.printf("Espresso x%d : %,d VND\n", espresso, tienEspresso);
System.out.printf("Latte x%d : %,d VND\n", latte, tienLatte);
System.out.printf("Cappuccino x%d : %,d VND\n", cappuccino, tienCappuccino);
System.out.println("━━━━━━━━━━━━━━━━━━━━━━━━━━━");
System.out.printf("TỔNG CỘNG : %,d VND\n", tongTien);
}
}
public class LogoCafe {
public static void main(String[] args) {
System.out.println(" ☕☕☕");
System.out.println(" ☕ ☕");
System.out.println(" ☕ J A V A ☕");
System.out.println(" ☕ C A F É ☕");
System.out.println("☕☕☕☕☕☕☕☕☕");
System.out.println();
System.out.println("Welcome to Java Café!");
System.out.println("Best Coffee in Town ☕");
}
}

⚠️ Những Lỗi Barista Thường Gặp

Lỗi 1: Tên File Không Khớp Tên Class

// ❌ SAI: File tên hello.java
public class HelloCafe { // Tên class khác tên file!
public static void main(String[] args) {
System.out.println("Hi");
}
}

// ✅ ĐÚNG: File phải tên HelloCafe.java
public class HelloCafe {
public static void main(String[] args) {
System.out.println("Hi");
}
}

Lỗi 2: Quên Dấu Chấm Phẩy

// ❌ SAI: Thiếu dấu ;
public class Test {
public static void main(String[] args) {
System.out.println("Hello") // Lỗi!
}
}

// ✅ ĐÚNG: Có dấu ;
public class Test {
public static void main(String[] args) {
System.out.println("Hello"); // OK
}
}

Lỗi 3: Sai Chữ Hoa/Thường

// ❌ SAI: Java phân biệt hoa/thường
public class test { // Tên class nên viết hoa chữ đầu
public static void Main(String[] args) { // "Main" sai, phải "main"
system.out.println("Hi"); // "system" sai, phải "System"
}
}

// ✅ ĐÚNG: Đúng quy ước
public class Test { // Class viết hoa chữ đầu
public static void main(String[] args) { // "main" viết thường
System.out.println("Hi"); // "System" viết hoa chữ đầu
}
}

Lỗi 4: Quên main Method

// ❌ SAI: Không có main()
public class Cafe {
System.out.println("Hello"); // Lỗi! Phải trong main()
}

// ✅ ĐÚNG: Có main()
public class Cafe {
public static void main(String[] args) {
System.out.println("Hello"); // OK
}
}

💡 Bí Quyết Của Barista

  1. Tên file = Tên class: HelloCafe.java cho class HelloCafe
  2. main() là bắt buộc: Chương trình bắt đầu từ đây
  3. Java phân biệt hoa/thường: Systemsystem
  4. Kết thúc lệnh bằng ;: Đừng quên dấu chấm phẩy
  5. Dùng println để xuống dòng: print không xuống dòng

🎓 Bạn Đã Học Được

  • ✅ Cấu trúc chương trình Java cơ bản
  • ✅ public class = Quán cà phê (container)
  • ✅ main() = Cửa vào chính (entry point)
  • ✅ System.out.println() = In ra màn hình
  • ✅ Compile: javac, Run: java
  • ✅ printf() = In với định dạng đẹp

☕ Món Tiếp Theo

Đã pha được ly đầu tiên! Giờ học về nguyên liệu cơ bản:

👉 Nguyên Liệu Cơ Bản - Primitive Types


💡 Lời Khuyên Cuối: Mỗi barista giỏi đều bắt đầu từ ly đơn giản nhất. Thực hành nhiều lần cho đến khi thuộc làu! Đừng ngại thử nghiệm với println và printf!