Bài giảng lập trình hướng đối tượng chương 2 ngôn ngữ lập trình java

142 749 0
Bài giảng lập trình hướng đối tượng   chương 2   ngôn ngữ lập trình java

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Chapter Ngôn ngữ Lập trình Java CT176 – LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Mục tiêu Chương nhằm giới thiệu thành phần ngôn ngữ lập trình Java, cách biên dịch thực thi chương trình cách xử lý ngoại lệ Java CT176 – Lập trình Hướng đối tượng Nội dung • Cấu trúc chương trình Java • Dịch thực thi chương trình Java • Cú pháp ngôn ngữ Java • Các kiểu liệu Java • Cấu trúc điều khiển • Tạo lớp đối tượng • Khởi tạo hủy đối tượng • Xử lý ngoại lệ CT176 – Lập trình Hướng đối tượng Cấu trúc chương trình Java Cấu trúc chương trình Java CT176 – Lập trình Hướng đối tượng  Cấu trúc chương trình Java Ví dụ – Hello World • Một chương trình Java hiển thị câu chào hỏi hình: /* HelloWorld.java */ public class HelloWorld { public static void main(String args[]) { System.out.println("Hello!"); System.out.println("How are you?"); } } • Kết thực thi chương trình: CT176 – Lập trình Hướng đối tượng  Cấu trúc chương trình Java Cấu trúc chương trình Java thích /* HelloWorld.java */ public class HelloWorld { public static void main(String args[]) System.out.println("Hello!"); System.out.println("How are you?"); } } tên chương trình (phải giống tên tập tin, không bao gồm phần mở rộng) chương trình (điểm bắt đầu, entry point, chương trình) { lệnh chương trình lệnh System.out.println() dùng để hiển thị chuỗi hình • Chú ý:   tên chương trình tên tập tin phải giống hàm main() có chức giống hàm main() C CT176 – Lập trình Hướng đối tượng  Cấu trúc chương trình Java Ví dụ – Chương trình có nhiều hàm chương trình public class Arithmetic { public static void main(String[] args) { System.out.println("The sum of and = " + 5); System.out.println("7 + = " + avg(7, 8)); } gọi hàm public static float avg(float a, float b) { return (a + b)/2; } } hàm tính trung bình hai số avg() • Kết thực thi chương trình: CT176 – Lập trình Hướng đối tượng  Cấu trúc chương trình Java Ví dụ – Giao diện đồ họa Khai báo sử dụng lớp JFrame import javax.swing.JFrame; class MyGUIApp { public static void main(String[] args) { JFrame myWindow; myWindow = new JFrame(); myWindow.setSize(300, 200); myWindow.setTitle("My First Java Program"); myWindow.setVisible(true);  } } • Lệnh import: khai báo sử dụng lớp (thư viện lớp) từ bên CT176 – Lập trình Hướng đối tượng Dịch thực thi chương trình Java Dịch thực thi chương trình Java CT176 – Lập trình Hướng đối tượng  Dịch thực thi chương trình Java Đặc điểm Java • Java ngôn ngữ lập trình vừa thông dịch, vừa biên dịch   Chương trình Java, sau phát triển xong biên dịch (compile) sang dạng bytecode trình biên dịch Java Khi cần thực thi chương trình bytecode, máy ảo Java thông dịch lệnh bytecode sang mã máy • Chương trình Java có tính đa (multi-platform): thực thi nhiều kiến trúc máy tính hệ điều hành khác nhờ vào chế thông dịch CT176 – Lập trình Hướng đối tượng 10 Xử lý ngoại lệ Xử lý ngoại lệ CT176 – Lập trình Hướng đối tượng 128  Xử lý ngoại lệ Xử lý ngoại lệ (exception handling) • Ngoại lệ: lỗi xảy thực thi chương trình:  Ví dụ: chia cho 0, mở tập tin không tồn tại,… • Khi lỗi xảy ra, đối tượng ngoại lệ sinh chương trình phải “bắt” xử lý ngoại lệ • Bắt ngoại lệ: dùng câu lệnh try…catch…finally • Xử lý ngoại lệ:   Truyền tiếp ngoại lệ: “quẳng” ngoại lệ cho nơi khác chương trình xử lý Khắc phục lỗi để chương trình tiếp tục CT176 – Lập trình Hướng đối tượng 129 Xử lý ngoại lệ Xử lý ngoại lệ (exception handling) • Bắt ngoại lệ: try { //các câu lệnh có khả //sinh lỗi  Lưu ý: }  catch () { //xử lý ngoại lệ }  catch () { //xử lý ngoại lệ n } finally { //các lệnh thực //cả trường hợp có //không có ngoại lệ xảy } CT176 – Lập trình Hướng đối tượng 130 Khối lệnh finally không bắt buộc Các loại ngoại lệ Java tổ chức theo dạng phân cấp với gốc phân cấp Exception Xử lý ngoại lệ Xử lý ngoại lệ (exception handling) CT176 – Lập trình Hướng đối tượng 131 Xử lý ngoại lệ Xử lý ngoại lệ (exception handling) import java.util.Scanner; import java.util.InputMismatchException; class ExceptionHandling { public static void main(String args[]) { int a, b, x; Scanner s = new Scanner(System.in); System.out.print("Nhap a: "); a = s.nextInt(); s.nextLine(); System.out.print("Nhap b: "); b = s.nextInt(); s.nextLine(); // } } CT176 – Lập trình Hướng đối tượng 132 Xử lý ngoại lệ Xử lý ngoại lệ (exception handling) import java.util.Scanner; import java.util.InputMismatchException; class ExceptionHandling { public static void main(String args[]) { int a, b, x; Scanner s = new Scanner(System.in); while (true) { try { System.out.print("Nhap a: "); a = s.nextInt(); } catch (InputMismatchException e) { System.out.println("Khong hop le, moi ban nhap lai"); continue; } finally { s.nextLine(); } break; } //while //tiếp tục nhập b, } //main } CT176 – Lập trình Hướng đối tượng 133 Question? CT176 – LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG Review CT176 – Lập trình Hướng đối tượng 135 CT176 – Lập trình Hướng đối tượng 136 Quiz CT176 – Lập trình Hướng đối tượng 137  Quiz Quiz CT176 – Lập trình Hướng đối tượng 138 Phụ lục CT176 – Lập trình Hướng đối tượng 139  Phụ lục Lớp String • Trữ chuỗi cung cấp thao tác chuỗi String s = "Hello"; String s = new String("Hello"); • Không thể thay đổi giá trị chuỗi (immutable)  Các phương thức lớp thường trả chuỗi s = s.concat("World"); s = s.replace("W", " W"); CT176 – Lập trình Hướng đối tượng 140  Phụ lục Lớp String • char charAt(int index) • int length() • String substring(int beginIndex) • String substring(int beginIndex, int endIndex) • boolean contains(CharSequence s) • boolean equals(Object another) • boolean isEmpty() • String concat(String str) • String replace(String oldStr, String newStr) • String trim() • int indexOf(String substring) • int indexOf(String substring, int fromIndex) • String toLowerCase() • String toUpperCase() CT176 – Lập trình Hướng đối tượng 141  Phụ lục Lớp Math • Cung cấp hàm toán học • Hầu hết phương thức tĩnh (static, gọi từ lớp) • Một số hàm thông dụng như:      double/float/int/long abs(double/float/int/long); double log/log10(double); long/int round(double/float); double sqrt(double); double random(); • Một số hàm khác: sin, cos, asin, acos, exp, floor, ceil, pow, min, max CT176 – Lập trình Hướng đối tượng 142 [...]... Mac Why Java bytecode? CT176 – Lập trình Hướng đối tượng 14  Dịch và thực thi một chương trình Java Dịch và thực thi 1 chương trình Java MyGUIApp.class MyGUIApp .java java MyGUIApp javac MyGUIApp .java • Trình biên dịch: javac • Máy ảo Java: java CT176 – Lập trình Hướng đối tượng 15  Dịch và thực thi một chương trình Java Môi trường dịch và thực thi chương trình • Giao diện dòng lệnh:  Unix + Mac OS:... – Lập trình Hướng đối tượng 16  Dịch và thực thi một chương trình Java Môi trường dịch và thực thi chương trình • Môi trường phát triển tích hợp: Netbean, Eclipse, CT176 – Lập trình Hướng đối tượng 17  Dịch và thực thi một chương trình Java Môi trường dịch và thực thi chương trình • Môi trường phát triển tích hợp: Netbean, Eclipse, CT176 – Lập trình Hướng đối tượng 18  Dịch và thực thi một chương. .. thực thi một chương trình Java Quá trình phát triển 1 chương trình Java Biên dịch đọc (read) Trình biên dịch (compiler) biên dịch (compile) Thực thi (execute) Chương trình nguồn (source code java) Mã bytecode (.class) nạp (loade) Máy ảo Java (Java Virtual Machine) thông dịch (interprete) Phần cứng & Hệ điều hành CT176 – Lập trình Hướng đối tượng 11  Dịch và thực thi một chương trình Java Quá trình phát... pháp nếu có, sẽ được sinh ra CT176 – Lập trình Hướng đối tượng 12  Dịch và thực thi một chương trình Java Quá trình phát triển 1 chương trình Java • Máy ảo Java sẽ thực thi các chương trình bytecode:   Bộ nạp (loader) sẽ nạp chương trình bytecode vào JVM JVM sẽ thông dịch các lệnh trong chương trình bytecode ra mã máy ở nền tảng tương ứng để thực thi • Máy ảo Java:   Hoạt động như là 1 máy tính... trình Java Quá trình phát triển 1 chương trình Java • Người lập trình viết chương trình Java:     Bao gồm 1 tập các câu lệnh (statements) Dùng công cụ soạn thảo văn bản hay môi trường lập trình IDE Lưu trong các tập tin có phần mở rộng java Được gọi là các chương trình nguồn (source code) • Trình biên dịch Java biên dịch các chương trình nguồn:    Thành các chương trình dạng bytecode Được lưu trong... nhau đối với JVM trên tất cả các nền tảng (hệ điều hành) ⇒ Các JVM trên từng nền tảng sẽ dịch mã bytecode sang mã máy ở nền tảng tương ứng CT176 – Lập trình Hướng đối tượng 13  Dịch và thực thi một chương trình Java Quá trình phát triển 1 chương trình Java • Máy ảo Java – tính khả chuyển: Bytecode (.class) JVM for Windows JVM for Unix JVM for Linux JVM for Mac Why Java bytecode? CT176 – Lập trình Hướng. .. CT176 – Lập trình Hướng đối tượng 20  Dịch và thực thi một chương trình Java Thiết lập môi trường phát triển • Cài đặt JDK (Java Development Kit): 1 2 3 4 JDK download link : http://goo.gl/lOEB4I Chọn bộ cài đặt thích hợp (Windows, Linux, Mac OS,…) Chạy bộ cài đặt theo hướng dẫn Kiểm tra việc cài đặt: Thực thi các lệnh sau từ dòng lệnh o o Trình biên dịch Java: javac –version Máy ảo Java: java –version... và thêm vào ô Variable Values: ; %JAVA_ HOME%/BIN;.; Nhấn OK để đóng tất cả các hộp thoại Kiểm thử việc cài đặt (tương tự slide trước) CT176 – Lập trình Hướng đối tượng 22 Các thành phần cơ bản của Java Các thành phần cơ bản của Java CT176 – Lập trình Hướng đối tượng 23  Các thành phần cơ bản của Java Câu lệnh & Chú thích (Statement & Comment) • Một câu lệnh (statement) Java kết thúc bằng dấu ; • Các... byte - 128 to + 127 short 2 bytes - 32, 768 to + 32, 767 int 4 bytes -2, 147,483,648 to +2, 147,483,647 long 8 bytes -9 ,22 3,3 72, 036,854,775,808 to +9 ,22 3,3 72, 036,854,775,807 float 4 bytes ±3.410-38 to ±3.41038, with 7 digits of accuracy double 8 bytes ±1.710-308 to ±1.710308, with 15 digits of accuracy • Kích thước: dung lượng bộ nhớ được cấp phát cho 1 biến có kiểu tương ứng CT176 – Lập trình Hướng đối tượng. .. thực thi một chương trình Java Đối số dòng lệnh (command line argument) • Khi gọi thực thi một chương trình Java, ta có thể truyền vào các đối số (dữ liệu) từ dòng lệnh cho chương trình    Cú pháp: java [danh sách đối số] Các đối số cách nhau bằng khoảng trắng Nếu giá trị của đối số có khoảng trắng thì bao giá trị của đối số bằng cặp dấu nháy " • Giá trị của các đối số dòng lệnh ... – Lập trình Hướng đối tượng Dịch thực thi chương trình Java Dịch thực thi chương trình Java CT176 – Lập trình Hướng đối tượng  Dịch thực thi chương trình Java Đặc điểm Java • Java ngôn ngữ lập. .. chương trình Java • Cú pháp ngôn ngữ Java • Các kiểu liệu Java • Cấu trúc điều khiển • Tạo lớp đối tượng • Khởi tạo hủy đối tượng • Xử lý ngoại lệ CT176 – Lập trình Hướng đối tượng Cấu trúc chương. .. chương trình Java Cấu trúc chương trình Java CT176 – Lập trình Hướng đối tượng  Cấu trúc chương trình Java Ví dụ – Hello World • Một chương trình Java hiển thị câu chào hỏi hình: /* HelloWorld.java

Ngày đăng: 20/01/2016, 17:25

Mục lục

    Ví dụ 1 – Hello World

    Cấu trúc một chương trình Java

    Ví dụ 2 – Chương trình có nhiều hàm

    Ví dụ 3 – Giao diện đồ họa

    Đặc điểm của Java

    Quá trình phát triển 1 chương trình Java

    Quá trình phát triển 1 chương trình Java

    Quá trình phát triển 1 chương trình Java

    Quá trình phát triển 1 chương trình Java

    Dịch và thực thi 1 chương trình Java