Java - ĐH Công Nghệ - 1

Mục Lục Giới Thiệu 5 Chương 1. Mở Đầu 7 1.1. Khái Niệm Cơ Bản 12 1.2. Đối Tượng Và Lớp 13 1.3. Các Nguyên Tắc Trụ Cột 15 Chương 2. Ngôn Ngữ Lập Trình Java 20 2.1. Đặc Tính Của Java 20 2.1.1. Máy Ảo Java – Java Virtual Machine 21 2.1.2. Các ...

Java - ĐH Công Nghệ - 2

Dậu tính toán, "Chương trình này phải làm những gì? Ta cần đến những thủ tục nào?" Anh tự trả lời, "xoay và chơi nhạc." Và anh bắt tay vào viết các thủ tục đó. Chương trình không phải là một loạt các thủ tục thì ...

Java - ĐH Công Nghệ - 3

Chẳng hạn Shape, ta có thể dùng quan hệ thừa kế để xây dựng các lớp mô hình hóa các khái niệm cụ thể hơn, chẳng hạn Circle, Triangle. Bằng cách này, ta có thể sử dụng giao diện cũng như cài đặt của lớp cũ cho lớp mới. Đa hình ...

Java - ĐH Công Nghệ - 4

Hình 2.2: Cấu trúc mã Java. 2.1.5. Chương trình Java đầu tiên Chương trình đơn giản trong Hình 2.3 sẽ hiện ra màn hình dòng chữ Hello, world!. Trong chương trình có những chi tiết mà tại thời điểm này ta chưa cần hiểu rõ và có thể để đến ...

Java - ĐH Công Nghệ - 5

Lệnh switch Khi chúng ta muốn viết một cấu trúc rẽ nhánh có nhiều lựa chọn, ta có thể sử dụng nhiều lệnh if-else lồng nhau. Tuy nhiên, trong trường hợp việc lựa chọn rẽ nhánh phụ thuộc vào giá trị (kiểu số nguyên hoặc kí tự, hoặc ...

Java - ĐH Công Nghệ - 6

Thành phần đó cũng có thể là biểu thức rỗng nếu cần thiết, nhưng kể cả khi đó vẫn phải có đủ hai dấu chấm phảy. Ta có thể khai báo biến ngay trong phần khởi_tạo của vòng for, chẳng hạn đối với biến con đếm. Nhưng các biến ...

Java - ĐH Công Nghệ - 7

Thực thể của nó sẽ chứa, cụ thể là dữ liệu của mỗi thực thể và các phương thức cho phép truy nhập và sửa đổi dữ liệu đó. Một lớp không phải là một đối tượng, nó là một khuôn mẫu dùng để tạo nên đối tượng. Nó mô ...

Java - ĐH Công Nghệ - 8

Chương 4. Biến và các kiểu dữ liệu Trong các ví dụ ở các chương trước, ta đã gặp các biến được sử dụng ở hai môi trường: (1) biến thực thể là trạng thái của đối tượng, và (2) biến địa phương là biến được khai báo bên ...

Java - ĐH Công Nghệ - 9

Thao tác đối với các phần tử mảng kiểu Cow có khác gì với việc thao tác một biến kiểu Cow? Ta cũng dùng toán tử (.) như bình thường, nhưng vì phần tử mảng không có tên biến, thay vào đó, ta dùng kí hiệu phần tử của mảng. Ví dụ, ...

Java - ĐH Công Nghệ - 10

Hình 5.3: Ví dụ về giá trị trả về từ phương thức Như đã nói đến ở mục trước, this là tham chiếu tới đối tượng hiện hành. Do đó, nếu một phương thức cần trả về tham chiếu tới đối tượng hiện hành, nó dùng lệnh return ...

Java - ĐH Công Nghệ - 11

Ass 9 a = 2; ; u add sum = a + ; u sum; " R B ! # < # u addI a ! @ m dummy; sum = a + dummy; u sum; W - # ( # 2 3 " R Hình 5.10: Biến thực thể và biến địa phương. Như đã nói, tham số của một phương thức cũng là biến địa phương của phương thức ...

Java - ĐH Công Nghệ - 12

6.3.2. Các lớp bọc ngoài kiểu dữ liệu cơ bản Đôi khi, ta muốn đối xử với một giá trị kiểu cơ bản như là một đối tượng. Ví dụ, ở các phiên bản Java trước 5.0, ta không thể chèn thẳng một giá trị kiểu cơ bản vào trong một ...

Java - ĐH Công Nghệ - 13

Lớp SinkAShip được cài đặt như sau: Cuối cùng là lớp GameHelper chứa các phương thức tiện ích cho SinkAShip sử dụng. Lớp này cung cấp hai phương thức. Phương thức getUserInput() nhận input của người chơi bằng cách hiển thị lời mời ...

Java - ĐH Công Nghệ - 14

Food – loại thức ăn mà con vật thích. Hiện giờ, biến này chỉ có hai giá trị: cỏ (grass) hoặc thịt (meat). hunger – một biến int biểu diễn mức độ đói của con vật. Biến này thay đổi tùy theo khi nào con vật ăn và nó ăn bao nhiêu. ...

Java - ĐH Công Nghệ - 15

V " % " ' 7 C & Y $2 \ " Y $ "; V # ( V & A " # ( A " & @ # ( @ & 7" & 7" & " ? 05 % [ " ? 05 % I Hình 7.3: Tham số đa hình Trong ví dụ Hình 7.3, tại phương thức giveShot(), tham số Animal chấp nhận ...

Java - ĐH Công Nghệ - 16

4. Cho chương trình sau với một ô trống. Nếu điền vào ô đó các lệnh ở dưới đây thì kết quả của chương trình là gì? a) b.m1(); c.m2(); a.m3(); b) c.m1(); c.m2(); c.m3(); c) a.m1(); b.m2(); c.m3(); d) a2.m1(); a2.m2(); a2.m3(); 5. Viết các lớp Person, ...

Java - ĐH Công Nghệ - 17

D%"32FJ"'$ D%"32F9: 2%"32F' "%$ %4Z$d%L4Z 2LL>D%"32F 2? public class $ "!% private $ "!EF " "! # e( $ "!E=F; private i t e tG de # 3; public void add($ "! ") i' ( e tG de - " "! 7le "t ) " "! E ...

Java - ĐH Công Nghệ - 18

7"&"$2Fg4 EL4E 7i,E%4E *,E%>? 7j7i,E%4E *,E%>? 3* 7E"-4 Hình 8.5: Ví dụ về vấn đề Hình thoi của đa thừa kế. Ngôn ngữ lập trình nào cho phép đa thừa kế sẽ phải giải quyết những tình trạng rối rắm trên, sẽ phải có những ...

Java - ĐH Công Nghệ - 19

Hình 9.2: Biến thực thể c khởi tạo khi khai báo. Còn trong ví dụ Hình 9.3, không có đối tượng Engine nào được tạo khi đối tượng Car được cấp phát bộ nhớ, engine không được khởi tạo. Ta sẽ cần đến các lệnh riêng biệt ở sau đó ...

Java - ĐH Công Nghệ - 20

% " & \ V L ! - : " * ! @2 " " & % " # & Y $ ! % " & F 22 $ = % Y I "EF " # ( 8 8 & 7 7 7" & 6 . 6 .0 1 2 3 4 F 22 / " / Y Hình 9.9: Truyền đối số cho hàm khởi tạo lớp cha. 9.4. HÀM KHỞI TẠO CHỒNG NHAU ...

Java - ĐH Công Nghệ - 21

Bài tập 1. Các phát biểu sau đây đúng hay sai? a) khi một đối tượng thuộc lớp con được khởi tạo, hàm khởi tạo của lớp cha phải được gọi một cách tường minh. b) nếu một lớp có khai báo các hàm khởi tạo, trình biên dịch sẽ ...

Java - ĐH Công Nghệ - 22

Nhìn qua thì có vẻ như nội dung từ đầu chương đến đây là một loạt các quy tắc của ngôn ngữ Java mà lập trình viên cần nhớ. Nhưng thực ra thì tất cả chỉ là hệ quả của bản chất khái niệm: Thành viên lớp thuộc về lớp và ...

Java - ĐH Công Nghệ - 23

Hình 11.4 là ảnh chụp trang đặc tả hàm khởi tạo PrintWriter(File) tại tài liệu API của JavaSE phiên bản 6 đặt tại trang web của Oracle. Tại đó, ta có thể tra cứu đặc tả của tất cả các lớp trong thư viện chuẩn Java. Hình 11.4: Thông tin ...

Java - ĐH Công Nghệ - 24

Trong thực tế, ta có thể phải viết cả mã ném ngoại lệ cũng như mã xử lý ngoại lệ. Vấn đề không phải ở chỗ ai viết cái gì, mà là biết rằng phương thức nào ném ngoại lệ và phương thức nào bắt nó. Nếu viết một phương thức ...

Java - ĐH Công Nghệ - 25

Bài tập 1. Liệt kê 5 ngoại lệ thông dụng. 2. Nếu không có ngoại lệ được ném trong một khối try, điều khiển sẽ đi tới đâu khi khối try chạy xong? 3. Chuyện gì xảy ra nếu không có khối catch nào bắt được đối tượng ngoại lệ bị ...

Java - ĐH Công Nghệ - 26

Như đã nói ở trên, khi lưu một đối tượng, toàn bộ các đối tượng trong đồ thị tham chiếu của nó cũng được lưu. Do đó, tất cả các lớp đó đều phải thuộc loại Serializable. Như trong ví dụ Hình 12.2 thì các lớp ContactList, Contact, ...

Java - ĐH Công Nghệ - 27

Hình 12.7: Ví dụ sử dụng phương thức split. 12.6. CÁC DÒNG VÀO/RA TRONG Java API Mục này trình bày lại một cách có hệ thống các kiến thức về thư viện vào ra dữ liệu của Java mà ta đã nói đến rải rác ở các mục trước. Nội dung mục ...

Java - ĐH Công Nghệ - 28

Hình 13.2: Cấu trúc dữ liệu tổng quát. Kể từ phiên bản 5.0, Java hỗ trợ một cơ chế khác của lập trình tổng quát, khắc phục được hai nhược điểm trên. Ví dụ như trong Hình 13.2. Từ đây, ta có thể tạo các collection có tính an toàn ...

Java - ĐH Công Nghệ - 29

Đối với các lớp tự viết, ta có thể cần định nghĩa một phương thức equals() trong các lớp đó để có được hành vi đúng khi đối tượng thuộc các lớp đó được so sánh với nhau. Nếu equals không hoạt động đúng thì các phương ...

Java - ĐH Công Nghệ - 30

Phụ lục A. Dịch chương trình bằng JDK Phụ lục này hướng dẫn những bước cơ bản nhất trong việc biên dịch và chạy một chương trình Java đơn giản bằng công cụ JDK tại môi trường Windows. A.1. Soạn thảo mã nguồn chương trình Có thể ...

Java - ĐH Công Nghệ - 31

Tài liệu tham khảo [1]. Deitel & Deitel, Java How to Program, 9 th edition, Prentice Hall, 2012. [2]. Kathy Sierra, Bert Bates, Head First Java, 2 nd edition, O'Reilly, 2008. [3]. Oracle, Java TM Platform Standard Ed.6, URL: http://docs.oracle.com/javase/6/docs/api/ [4]. Oracle, Java ...