Nội dung chính • Giới thiệu về NNLT hướng đối tượng Java • Bảng chữ cái và định danh • Kiểu dữ liệu nguyên thủy • Chương trình Java • Biên dịch và thực hiện chương trình • Tham số từ đối[r]
Trang 1Chương 1 Ngôn ngữ lập trình Java
Nguyễn Dư NghĩaKhoa : Công nghệ thông tin
Trang 31 Giới thiệu
• Vài nét về lịch sử:
• Cuối 1990, James Gosling (Cty Sun
Microsystem) xây dựng và đặt tên Oak
• Sau đó Oak đổi tên Java
• Năm 1993 hỗ trợ Web/Internet
• Năm 1995 Sun Microsystem công bố chính thức Java
Trang 41 Giới thiệu (tiếp)
• Đặc trưng của NNLT Java:
“Java là ngôn ngữ đơn giản, hướng đối tượng, phân tán, thông dịch lẫn biên dịch, mạnh mẽ, bảo mật, cấu trúc độc lập, khả chuyển, hiệu quả cao và linh động” (Sun Microsystem)
Trang 51 Giới thiệu (tiếp)
• Đơn giản:
• Xây dựng từ C và C++, bỏ đi những phức tạp của C
• Bộ biên dịch có kích thước nhỏ (bản 1.4 chỉ 6MB)
• Hướng đối tượng:
• Chương trình Java viết hoàn toàn HĐT
Trang 61 Giới thiệu (tiếp)
• Một chương trình Java được biên dịch (sang
mã bytecode) sau đó thông dịch để thực thi
Trang 71 Giới thiệu (tiếp)
Trang 81 Giới thiệu (tiếp)
• Kiến trúc trung tính (Neutral architecture):
Chương trình java được dịch sang bytecode có thể thực hiện trên mọi hệ thống máy tính khác nhau: Macintosh, Intel, Sun, Alpha, và trên nhiều hệ điều hành khác nhau: Windows, Unix, Sun Solaris, Macintosh,…
Chương trình thông dịch trên mỗi hệ thống tạo thành máy ảo java (JVM)
Trang 91 Giới thiệu (tiếp)
• Khả chuyển:
• Khẩu hiệu của Java “Write Once, Run Anywhere” nhờ máy ảo Java tương thích môi trường
Trang 101 Giới thiệu (tiếp)
• Hiệu quả cao (High-performance):
• Tính hiệu quả chung so với C và C++
• Tốc độ chương trình Java chậm
• Đa tuyến (Multi-Thread):
• Cho phép lập trình tạo ra nhiều tiến
trình đồng thời
• Linh động (flexible):
• Trong khi chạy có thể tự liên kết với các lớp mới ở máy chủ ở xa trên Internet
Trang 111 Giới thiệu (tiếp)
• Bộ công cụ JDK (Java Development Kit)
• Bộ công cụ phát triển trên môi trường Java
bao gồm:
• Chương trình dịch: javac.exe
• Trình thông dịch: java.exe
• Tạo tài liệu: javadoc.exe
• Thực thi applet: appletviewer.exe
• Các thư viện
Trang 121 Giới thiệu (tiếp)
• Các ứng dụng Java:
• Ứng dụng Console: thực hiện từ DOS
• Ứng dụng desktop giao diện đồ họa
Trang 13Cơ bản về Ngôn ngữ lập trình Java
Trang 14• Bắt đầu bằng chữ cái hoặc _ hoặc $
• Có thể dùng chữ cái, chữ số, dấu _ trong định danh
• Phân biệt chữ hoa và chữ thường
Trang 153 Các kiểu dữ liệu nguyên thủy {1}
Trang 163 Các kiểu dữ liệu nguyên thủy
Trang 173 Các kiểu dữ liệu …(tiếp)
• Logic:
boolean
• Giá trị: true, false
• Các phép toán: !, &&, ||
Trang 183 Các kiểu dữ liệu … (tiếp)
• Số thực:
Kiểu Kích thước Phạm vi
float 4 bytes 1.40129846432481707e-45
3.40282346638528860e+38 double 8 bytes 4.94065645841246544e-324
1.79769313486231570e+308
• Các phép toán: +,-,*,/,%,++,
• Các hằng: NaN (không phải số), Infinity (vô
cùng)
Trang 193 Các kiểu dữ liệu … (tiếp)
• Khai báo biến:
• Kiểu dữ liệu <ds biến>;
Trang 203 Các kiểu dữ liệu …(tiếp)
• Chuyển đổi kiểu dữ liệu:
Trang 21Thứ tự ưu tiên các phép toán
• [] ,., (params), expr++, expr
• ++expr, expr, +expr, -expr, !
Trang 234 Chương trình Java (tiếp)
• Cấu trúc 1 chương trình Java đơn giản:
import <gói thư viện>;
}
Trang 244 Chương trình Java (tiếp)
Trang 254 Chương trình Java (tiếp)
• Lưu chương trình: Chao.java (trùng tên lớp)
• Biên dịch chương trình từ DOS:
• javac Chao.java => Chao.class
• Thông dịch: Java Chao
Trang 26Biên dịch và thông dịch chương
trình Java
Trang 274 Chương trình Java (tiếp)
Trang 29Thực hiện chương trình
Trang 305 Cấu trúc điều khiển
Trang 315 Cấu trúc điều khiển (tiếp)
Trang 32… case 9: System.out.println(“Chin”);break ; }
}
}
Trang 335 Cấu trúc điều khiển (tiếp)
Trang 355 Cấu trúc điều khiển (tiếp)
• Lặp while:
while(<điều kiện>) <Công việc lặp>;
Thực hiện <Công việc lặp> khi <điều kiện> còn đúng
• do while:
do{
<Công việc lặp>;
Trang 365 Cấu trúc điều khiển (tiếp)
Trang 40} System.out.println("Mang ngau nhien:");
for(i=0;i<100;i++)
System.out.print(a[i]+ " ");
}
}
Trang 42Ví dụ
• Chương trình sinh ngẫu nhiên mảng 2 chiều
Tính tổng các số ở dòng lẻ trong mảng
Trang 47Bài thực hành số 1
1 Chương trình tính n! với n là tham số đưa vào
từ dòng lệnh
2 Chương trình sinh mảng ngẫu nhiên các số
nguyên Liệt kê các số nguyên tố có trong
mảng
3 Chương trình sinh mảng ngẫu nhiên các số
nguyên Liệt kê các số Fibonaci có trong
mảng