... ); postorder( node.rightNode ); System.out.print( node.data + " " ); }}1 Lập trìnhJavacơ bản Cao Đức Thông - Trần Minh Tuấncdthong@ifi.edu.vn, tmtuan@ifi.edu.vn 19Sử dụng Stackpublic ... theo kiểu LIFO (Last In First Out), phần tử vào sau cùng sẽ được lấy ra trước.•Hai thao tác cơbản trên Stack•Chèn phần tử: Luôn chèn vào đỉnh Stack (push)•Lấy ra phần tử: Luôn lấy ra ... System.out.println(names); }}43Giao tiếp Map•Giao tiếp Map cung cấp các thao tác xử lý trên các bảng ánh xạ (Bảng ánh xạ lưu các phần tử theo khoá và không được có 2 khoá trùng nhau).•Một số phương...
... lastNode(b)5new ListNode71 Lập trìnhJavacơ bản Cao Đức Thông Trần Minh Tuấncdthong@ifi.edu.vn, tmtuan@ifi.edu.vn 50Ví dụ 1: TreeSet// This program sorts a set of namesimport java. util.*;public class TreeSetTest1{ public static void main(String[] args) { SortedSet names = new TreeSet(); names.add(new String("Minh Tuan")); names.add(new String("Hai Nam")); names.add(new String("Anh Ngoc")); names.add(new String("Trung Kien")); names.add(new String("Quynh Chi")); names.add(new String("Thu Hang")); System.out.println(names); }}31Bài tập tại lớp•Bài 1: Dùng Stack để viết chương trình in ra dạng nhị phân của một số nguyên dương cho trước.•Bài 2: Cài đặt phương thức search trong lớp Tree để tìm một phần tử có giá trị cho trước.7Cài đặt Linked List// Dinh nghia mot node trong linked list ... nó có thể tung ra ngoại lệ UnsupportedOperationException.49Mô tả các cài đặt•HashMap: Bảng băm (cài đặt của Map).•LinkedHashMap: Bảng băm kết hợp với linked list nhằm đảm bảo thứ tự các phần tử (cài đặt của Map).•TreeMap: Cây đỏ đen (cài đặt của Map).17Stack•Stack là một cấu trúc theo kiểu LIFO (Last In First Out), phần tử vào sau cùng sẽ được lấy ra trước.•Hai thao tác cơbản trên Stack•Chèn phần tử: Luôn chèn vào đỉnh Stack (push)•Lấy ra phần tử: Luôn lấy ra từ đỉnh Stack (pop)11Cài đặt Linked List public boolean isEmpty() { return (firstNode == null); } public void print() {ListNode node = firstNode;while (node != null){ ... 39Giao tiếp Set•Set kế thừa từ Collection, hỗ trợ các thao tác xử lý trên collection kiểu tập hợp (Một tập hợp yêu cầu các phần tử phải không được trùng lặp).•Set không có thêm phương thức riêng ngoài các phương thức kế thừa từ Collection.48Mô tả các cài đặt•ArrayList: Mảng động, nếu các phần tử thêm vào vượt quá kích cỡ mảng, mảng sẽ tự động tăng kích cỡ.•LinkedList: Danh sách liên kết 2 chiều. Hỗ trợ thao tác trên đầu và cuối danh sách. •HashSet: Bảng băm.•LinkedHashSet: Bảng băm kết hợp với linked list nhằm đảm bảo thứ tự các phần tử.•TreeSet: Cây đỏ đen (red...
... ra. Chương trình dừng lại ngay lập tức, toàn bộ phần mã phía sau sẽ không được thực thi.• Java hỗ trợ cách thức để xử lý ngoại lệ (exception handling) tuỳ theo nhu cầu của chương trình. 30Ném ... người dùng nhập lại.5Xử lý lỗi và ngoại lệ• Trong Java, việc xử lý lỗi có thể được cài đặt trong một nhánh độc lậpvới nhánh chính của chương trình. • Lỗi được coi như những trường hợp ngoại ... nên sử dụng ngoại lệ thay cho các luồng điều khiển trong chương trình. • Ví dụ: Kiểm tra delta trong chương trình giải phương trình bậc 2.•Nên thiết kế và sử dụng ngoại lệ một cách thống...
... (extends) từ một lớp.1 Lập trìnhJavacơ bản Cao Đức Thông - Trần Minh Tuấncdthong@ifi.edu.vn, tmtuan@ifi.edu.vn 23Ví dụ về kế thừa trong Java // File InheritanceTest .java public class InheritanceTest{ ... nhật.36 Java vs C++8. Java không có con trỏ.9. Java không có huỷ tử (destructor), nó chỉ có phương thức finalize() được gọi bởi Garbage Collector.10. Java không hỗ trợ đối số mặc định.11. Java ... các thực thể• Dễ phát triển, mở rộng chương trình Object AObject CObject BObject D3Các phương pháp lập trình •Step-by-Step Programming• Lậptrình từng bước•Machine Language, Assembly...
... dụng.5Kiến trúc của Java • Java Platform• Java Virtual Machine (Java VM)• Java Application Programming Interface (Java API)Hardware-Platform Java VM Java APImyProgram .java Java PlatformMã nguồn3Giới ... dung động (web applet)•Hiện nay, Java được sử dụng để phát triển nhiều loại ứng dụng khác nhau: cơ sở dữ liệu, mạng, Internet, viễn thông 1 Lập trìnhJavacơ bản Cao Đức Thông - Trần Minh Tuấncdthong@ifi.edu.vn, ... dụng Java •Hai loại ứng dụng Java •Application: Ứng dụng độc lập •Applet: Ứng dụng chạy trên Web•Thư viện lớp Java •Bộ JDK bao gồm rất nhiều lớp chuẩn đã được xây dựng sẵn.• Lập trình...
... trùng với tên lớp•Cấu tử không có kiểu trả về•Có thể có nhiều cấu tử (overloading)•Mỗi phương thức phải có một phạm vi nhất định35 Java vs C++1. Một chương trìnhJava chạy chậm hơn so với ... nó.36 Java vs C++8. Java không có con trỏ.9. Java không có huỷ tử (destructor), nó chỉ có phương thức finalize() được gọi bởi Garbage Collector.10. Java không hỗ trợ đối số mặc định.11. Java ... OOP trong Java •Các phương pháp lập trình •Giới thiệu về OOP•Kế thừa (Inheritance)•Đa hình (Polymorphism)•Giao tiếp (Interface)•Lớp trừu tượng (Abstract)• Gói (Packages)• Java vs C++•Bài...
... "main" java. lang.ArithmeticException: / by zero at MyDivision.C(MyDivision .java: 14) at MyDivision.B(MyDivision .java: 11) at MyDivision.A(MyDivision .java: 8) at MyDivision.main(MyDivision .java: 4)Giải ... ra. Chương trình dừng lại ngay lập tức, toàn bộ phần mã phía sau sẽ không được thực thi.• Java hỗ trợ cách thức để xử lý ngoại lệ (exception handling) tuỳ theo nhu cầu của chương trình. 21Hai ... tập4Xử lý lỗi và ngoại lệ⇒Mã lệnh và mã xử lý lỗi nằm xen kẽ khiến lập trình viên khó theo dõi được thuật toán chính của chương trình. ⇒Khi một lỗi xảy ra tại hàm A, tất cả các lời gọi hàm lồng...
... trong Java chỉ nhận giá trị boolean.6. Trong Java, mọi biến không thuộc kiểu nguyên thuỷ đều phải tạo ra bằng từ khoá new.7. Java không có tiền xử lý (preprocessor)1 Lập trìnhJavacơ bản Cao ... Drawable{ public void draw() { }}35 Java vs C++1. Một chương trìnhJava chạy chậm hơn so với một chương trình C tương ứng khoảng 20 lần.2. Java không có kiểu liệt kê (enum), kiểu cấu ... file TimeTest .java. Nó dùng để kiểm tra lớp Time. Lớp TimeTest chứa hàm main.•Khi chạy chỉ cần gõ:•javac TimeTest .java • java TimeTest• Java sẽ tự động tìm và dịch file Time .java 26Đa hình...
... cấp phát lại thì nội dung vùng nhớ trước đó vẫn tồn tại. Trang 83 Lập trình căn bản V. BÀI TẬP V.1 Mục tiêu Tiếp cận với một kiểu dữ liệu rất mạnh trong C là kiểu con trỏ. Từ đó, sinh viên ... mảng) bằng cách sử dụng con trỏ. Trang 90 Lập trình căn bản - Kết quả trả về của hàm là địa chỉ đầu tiên của vùng nhớ mới. Địa chỉ này có thể khác với địa chỉ được chỉ ra khi cấp phát ban đầu. ... NULL cho 1 con trỏ có kiểu bất kỳ. d. Lưu ý: - Ta không thể cộng 2 con trỏ với nhau. Trang 84 Lập trình căn bản IV. CON TRỎ VÀ THAM SỐ HÌNH THỨC CỦA HÀM Khi tham số hình thức của hàm...
... rác•Chương 5- Lậptrình I/O•Chương 6- Tạo giao diện người dùng•Chương 7- Mô hình biến cốvới AWT•Chương 8- Lậptrình đồ họa với Java •Chương 9- Tạo Applet•Chương 10- Lậptrình đa luồng ... Chuẩn bị môi trường lập trình LẬP TRÌNHJAVA CĂN BẢNThS.Võ Đức Cẩm Hải Cấu hình JCreator-slide 4Chọn thẻ Documentation để chỉ định thư mục chứa tài liệu giúp đỡ của Java. Kích nút AddChọn ... và các applet với Java Download JCreator- Môi trường lập trình Có thể mua đĩa CD Nội dung môn học•Chương 1- Tổng quan về ngôn ngữ Java •Chương 2- Giới thiệu ngôn ngữ Java •Chương 3-...
... tich=%0.2f,s);getch();}U/$0&&9"P#(&#M"*OVOWX"1X"$*!*VOWX&X"$*!*.&/&=O>Y(C&ZZ>/[@*#OK$\8]!K$\8]§2. LẬPTRÌNH CẤU TRÚC VÀ LẬPTRÌNH HƯỚNG ĐỐI TƯỢNG2.1)Phương pháp lậptrình cấu trúc>9?&N^:&#&89&*"*-[@.&-)F!89&-_'&-8`2&2$&.;C2=!C-O"C ... break; getch(); }t•Chương trình sau gồm các hàm:Nhập 1 ma trận thực cấp mxnIn 1 ma trận thực dưới dạnh bảngTìm phần tử lớn nhất và nhỏ nhất của dãy số thựcChương trình sẽ nhập 1 ma trận, in ... bang:%0.2f,dmax);printf(\n\n di qua 2 diem co chi so la %d va %d ,imax,jmax);getch();}2.2)Phưong pháp lậptrình hướng đối tượngO>p#C&)*L&&LR*""T8-.<L";@&4*#=$4C!#8q&-.<L";?2&5&R"T6&#*/!#&:R$T*Q&#!/RrT8h2L0&A*"*O*""9kstt@*##=$4Ctt@*##&:uj>#&:-.!R<$;&T/&Y/&RN*$LT=0&A*L85R#!T&:&;&'o1G"*Op<$;&2&5/&0&A*L&$Q&=/=$&/L![$OYL/&:.vw&:2LR<!N$F/$LT8>bE$F&#=$4C&&:OD&:!#=$4C2%&_L!!&:/x<EN#=$4C...