... Cấu trúc dữ liệu trong Java • Linked List • Stack và Queue • Tree • Collections Framework • Danh sách (List) • Tập hợp (Set) • Bảng ánh xạ (Map) • Bài tập Cấu trúc dữ liệu • Cấu trúc dữ liệu là cách tổ chức dữ liệu để giải ... Giúp cho việc xử lý các collection độc lập với biểu diễn chi tiết bên trong của chúng 33 Collections Framework • Một số lợi ích của Collections Framework • • • • Giảm thời gian lậptrình Tăng cường hiệu năng chương trình Dễ mở rộng các collection mới ... 32 Collections Framework • Các collection đầu tiên của Java: • Mảng • Vector: Mảng động • Hastable: Bảng băm • Collections Framework (từ Java 1.2) • Là một kiến trúc hợp nhất để biểu diễn và thao ...
... khiến lậptrình viên khó theo dõi thuật toán chương trình ⇒Khi lỗi xảy hàm A, tất lời gọi hàm lồng đến A phải xử lý lỗi mà A trả Xử lý lỗi ngoại lệ • Trong Java, việc xử lý lỗi cài đặt nhánh độc lập ... "main" java. lang.ArithmeticException: / by zero at at at at MyDivision.C(MyDivision .java: 14) MyDivision.B(MyDivision .java: 11) MyDivision.A(MyDivision .java: 8) MyDivision.main(MyDivision .java: 4) ... "main" java. lang.NullPointerException at MyArray.methodeX(MyArray .java: 14) at MyArray.main(MyArray .java: 7) Giải thích: Hệ thống tung exception thuộc lớp NullPointerException gặp lỗi Sau chương trình...
... Package java. lang.* tự động import vào chương trình 34 Java vs C++ Một chương trìnhJava chạy chậm so với chương trình C tương ứng khoảng 20 lần Java kiểu liệt kê (enum), kiểu cấu trúc (struct) hay ... TimeTest chứa hàm main • Khi chạy cần gõ: • javac TimeTest .java • java TimeTest • Java tự động tìm dịch file Time .java Lớp Time // File Time .java import java. text.DecimalFormat; public class Time ... Mọi biến hay hàm Java nằm class Java toán tử phạm vi (scope) :: Cỡ kiểu liệu nguyên thuỷ (primitive) Java không phụ thuộc vào máy Đặc biệt kiểu char có cỡ 16 bit (Unicode) Biểu thức logic Java nhận...
... thành java shooter” Một số vấn đề nâng ngôn ngữ lậptrìnhjava như: javabean, thiết kết giao diện dùng thư viện JFC (Java Foundation Class), lậptrình mạng, lậptrình sở liệu java, lậptrình ứng ... thập niên 90 Chương trình viết ngôn ngữ lậptrìnhjava chạy hệ thống có cài máy ảo java (Java Virtual Machine) 1.2.2.Lịch sử phát triển ngôn ngữ lậptrìnhJava Ngôn ngữ lậptrìnhJava James Gosling ... máy ảo, cấu trúc chương trình đơn giản viết Java cách xây dựng, dịch thực thi chương trìnhJava 1.2.Giới thiệu ngôn ngữ lậptrìnhJava 1.2.1 Java gì? Java ngôn ngữ lậptrình hướng đối tượng (tựa...
... Age for Java Bắt đầu với lậptrìnhJava Một chương trìnhJava đơn giản Biên dịch chương trình Chạy chương trình Một chương trìnhJava đơn giản Ví dụ 1.1 // Chương trình in dòng: Welcome to Java! ... Nội dung chương Java gì? Lịch sử hình thành phát triển Các đặc điểm Java Bắt đầu với lậptrìnhJava – Tạo, biên dịch chạy ứng dụng JavaJava gì? Java ngôn ngữ lậptrình (programming language): ... sồi) Java, 20/05/1995, Sun World HotJava – Trình duyệt Web hỗ trợ Java JDK Evolutions J2SE, J2ME, and J2EE Các đặc điểm JavaJava is simple đơn giản Java is object-oriented hướng đối tượng Java...
... Nội dung chương Giới thiệu lậptrình qua ví dụ Các tên, biến Các kiểu liệu sở – byte, short, int, long, float, double, char, boolean Biểu thức Các ... Nhận liệu vào từ Input Dialog Boxes Case Studies (Computing Mortgage, and Computing Changes) Style and Documentation Guidelines Syntax Errors, Runtime Errors, and Logic Errors Giới thiệu lậptrình ... dụng toán tử biểu thức làm thay đổi nhiều biến sử dụng biến nhiều lần sau: int k = ++i + i Biểu thức gán Câu lệnh gán Trước Java 2, tất biểu thức sử dụng câu lệnh Kể từ Java 2, loại biểu thức sau...
... giao diện GUI Java applets – Viết dự án thú vị – Thiết lập tảng chắn tư tưởng Java Tổ chức khóa học Phần I: Cơ lậptrìnhJava – Chương 1: Giới thiệu Java – Chương 2: Các toán tử kiểu liệu sở – Chương ... sở – Luồng điều khiển Java - Java control flow – Phương thức - Methods – Mảng - Arrays – Lậptrình hướng đối tượng (Object-oriented programming) – Các lớp Java lõi (Core Java classes: swing, exception, ... khóa học Tàiliệu tham khảo Phần mềm cần thiết Thiết lập môi trường làm việc Mục đích khóa học Khi hoàn thành khóa học, bạn hiểu: – Cách tạo, biên dịch, chạy chương trìnhJava – Các kiểu liệu sở...
... khiến lậptrình viên khó theo dõi thuật toán chương trình ⇒Khi lỗi xảy hàm A, tất lời gọi hàm lồng đến A phải xử lý lỗi mà A trả Xử lý lỗi ngoại lệ • Trong Java, việc xử lý lỗi cài đặt nhánh độc lập ... "main" java. lang.ArithmeticException: / by zero at at at at MyDivision.C(MyDivision .java: 14) MyDivision.B(MyDivision .java: 11) MyDivision.A(MyDivision .java: 8) MyDivision.main(MyDivision .java: 4) ... "main" java. lang.NullPointerException at MyArray.methodeX(MyArray .java: 14) at MyArray.main(MyArray .java: 7) Giải thích: Hệ thống tung exception thuộc lớp NullPointerException gặp lỗi Sau chương trình...
... Package java. lang.* tự động import vào chương trình 34 Java vs C++ Một chương trìnhJava chạy chậm so với chương trình C tương ứng khoảng 20 lần Java kiểu liệt kê (enum), kiểu cấu trúc (struct) hay ... TimeTest chứa hàm main • Khi chạy cần gõ: • javac TimeTest .java • java TimeTest • Java tự động tìm dịch file Time .java Lớp Time // File Time .java import java. text.DecimalFormat; public class Time ... Mọi biến hay hàm Java nằm class Java toán tử phạm vi (scope) :: Cỡ kiểu liệu nguyên thuỷ (primitive) Java không phụ thuộc vào máy Đặc biệt kiểu char có cỡ 16 bit (Unicode) Biểu thức logic Java nhận...
... page Java 2D Graphics • • • • • • java. awt.color java. awt.font java. awt.geom java. awt.print java. awt.image.renderable com.sun.image.codec.jpeg All of these packages are part of the core Java ... import import import import import import import java. awt.*; java. awt.event.*; java. awt.font.*; java. awt.geom.*; java. awt.image.BufferedImage; java. io.*; java. util.Random; import com.sun.image.codec.jpeg.*; ... I'll explain them all Java 2D is part of the core classes of the Java platform (formerly JDK 1.2) The 2D API introduces new classes in the following packages: • • java. awt java. awt.image In addition,...
... method Phả hệ Applet java. lang.Object | + java. awt.Component | + java. awt.Container | + java. awt.Panel | + java. applet.Applet Applet đơn giản TrivialApplet .java import java. applet.Applet; ... Applet Support Hầu hết trình duyệt ngày có hỗ trợ Java 1.4 chúng có plugin thích hợp Internet Explorer 5.5 cập nhật, Netscape chưa Sự hỗ trợ tốt trình duyệt mà chương trình độc lập appletviewer Nói ... chạy với trình duyệt Một applet Bạn viết applet cách mở rộng lớp Applet Applet lớp giống lớp khác, muốn bạn sử dụng chúng chương trình Khi bạn viết applet, bạn viết phần chương trìnhTrình duyệt...
... hiệu hóa soạn thảo text field Mặc định, editable true setColumns(int) Thiết lập số cột text field Chiều dài text field thay đổi TextFieldDemo JTextArea TextArea khung cho phép người sử dụng nhập ... setVisibleAmount (extent): getBlockIncrement() ScrollBarDemo Borders Bạn thiết lập border đối tượng lớp JComponent, thường hữu ích thiết lập titled border JPanel để nhóm tập thành phần giao diện người sử ... Confirmation Dialog hiển thị câu hỏi đề nghị người sử dụng trả lời, vd: OK hay Cancel – Input Dialog hiển thị câu hỏi nhận liệu vào từ text field, combo box list – Option Dialog hiển thị câu hỏi...
... khác Frame tảng để chứa thành phần GUI khác ứng dụng Java GUI Trong chương trình Swing GUI, sử dụng lớp JFrame để tạo cửa sổ Tạo Frame import javax.swing.*; public class MyFrame { public static ... in the java. awt package LayoutManager Heavyweight FontMetrics Object Color Panel Applet JApplet Window Frame JFrame Dialog JDialog Graphics Component Container * Swing Components in the javax.swing ... vs AWT AWT: Abstract Windows Toolkit: – Java – Được gắn với platform xác định – Thích hợp với việc phát triển ứng dụng GUI đơn giản Swing components: – Java – Không gắn với platform cố định –...
... hình thái, nối kết động, lậptrình dùng chung Ép kiểu đối tượng toán tử instanceof Dữ liệu phương thức protected Các Abstract class Interface Superclass Subclass Lậptrình hướng đối tượng cho ... thức sử dụng chung cho dải rộng tham số đối tượng → generic programming Trong lậptrình hướng đối tượng, nên lậptrình theo cách dùng chung: khai báo biến có kiểu superclass, chấp nhận giá trị ... JVM xác định chạy chương trình → Nối kết động obj instance lớp c1, c2, …, cn Khi obj gọi phương thức p, JVM tìm thực p lớp theo thứ tự c1, c2, …, cn đến tìm thấy Lập trình dùng chung Đa hình...
... to Java! ".indexOf('W') returns "Welcome to Java! ".indexOf('x') returns -1 "Welcome to Java! ".indexOf('o', 5) returns "Welcome to Java! ".indexOf("come") returns "Welcome to Java! ".indexOf( "Java" , ... tiêu: Viết chương trình thực phép toán số nguyên Chương trình nhận vào tham số: toán tử số nguyên Calculator Run java Calculator 10 + java Calculator 10 - java Calculator 10 / java Calculator 10 ... Có từ JDK 1.5 (gói java. util.Scanner) Có thể dùng lớp Scanner để: – ấn định từ làm Delimiter – nhập liệu thuộc kiểu khác Ấn định từ làm Delimiter: String s = "Java is fun! Java is cool!"; Scanner...
... Các lớp Java API Core Java java.lang Chứa lớp Java lõi (core Java class), gồm lớp số (numeric class), chuỗi ký tự, đối tượng Gói import hoàn toàn vào tất CT Java java.awt Chứa lớp đồ họa java. applet ... lớp Java API Core Java (tiếp) java. io Chứa lớp cho luồng vào-ra file java. util Chứa nhiều tiện ích, ví dụ date java. net Chứa lớp hỗ trợ giao tiếp mạng Các lớp Java API Core Java (tiếp) java. awt.image ... tượng, truy nhập liệu, sử dụng phương thức Circle TestCircle Ví dụ 6.2: Sử dụng lớp từ thư viện Java Mục tiêu: Minh họa việc sử dụng lớp từ thư viện Java Sử dụng lớp JFrame gói javax.swing để tạo...
... thức Java sử dụng truyền tham trị để truyền tham số cho phương thức Có nhiều khác quan trọng truyền tham trị biến có kiểu liệu sở biến mảng Với tham số kiểu liệu sở, giá trị thực truyền Thay đổi ... điểm trắc nghiệm điểm lậptrình Do scores[i][j][0] biểu diễn điểm trắc nghiệm kỳ thi j sinh viên i Chương trình hiển thị tổng điểm sinh viên TotalScore Tìm kiếm mảng Tìm kiếm trình tìm phần tử xác ... không làm thay đổi giá trị biến bên phương thức Với tham số kiểu mảng, giá trị tham số chứa tham chiếu tới mảng; tham chiếu truyền cho phương thức Bất kỳ thay đổi xuất thân phương thức làm thay đổi...
... phương thức gọi, tham số hình thức thay biến liệu, gọi tham số thực (actual parameters) Giới thiệu phương thức (tiếp) Một phương thức trả giá trị Kiểu giá trị kiểu liệu phương thức trả Nếu phương ... giá trị bắt buộc phải có phương thức non-void 3Phương thức sau logic, có lỗi biên dịch trình biên dịch Java nghĩ phương thức không trả giá trị public static int xMethod(int n) { if (n > 0) return ... > num2) return num1; else return num2; } Cách gọi phương thức Ví dụ 4.1: Phương thức max Chương trình minh họa việc gọi phương thức max để trả giá trị lớn TestMax Run Cách gọi phương thức (tiếp)...