☕ 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);
}
}
Bài Tập 4: ASCII Art Logo
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
- Tên file = Tên class:
HelloCafe.javachoclass HelloCafe - main() là bắt buộc: Chương trình bắt đầu từ đây
- Java phân biệt hoa/thường:
System≠system - Kết thúc lệnh bằng ;: Đừng quên dấu chấm phẩy
- Dùng println để xuống dòng:
printkhô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!