Giáo trình ngôn ngữ java (nghề ứng dụng phần mềm trình độ cao đẳng)

153 4 0
Giáo trình ngôn ngữ java (nghề ứng dụng phần mềm   trình độ cao đẳng)

Đ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

UDPM-CĐ-MĐ26-NN JAVA TUYÊN BỐ BẢN QUYỀN Tài liệu thuộc loại sách giáo trình nên nguồn thơng tin phép dùng nguyên trích dùng cho mục đích đào tạo tham khảo Mọi mục đích khác mang tính lệch lạc sử dụng với mục đích kinh doanh thiếu lành mạnh bị nghiêm cấm LỜI GIỚI THIỆU Giáo Trình Ngơn ngữ Java biên soạn nhằm đáp ứng yêu cầu học tập sinh viên bước đầu làm quen với công việc lập trình, đồng thời giúp cho sinh viên có tài liệu học tập, rèn luyện tốt khả lập trình, tạo tảng vững cho Mơ đun Giáo trình khơng phù hợp cho người bắt đầu mà phù hợp cho người cần tham khảo Nội dung giáo trình chia thành bài: Bài 1: Tổng quan ngôn ngữ lập trình Java Bài 2: Nền tảng Java Bài 3: Lập trình hướng đối tượng Java Bài 4: Thiết kế giao diện người dùng Bài 5: Luồng tập tin Bài 6: Lập trình sở liệu Khi biên soạn, tham khảo giáo trình tài liệu giảng dạy Mơ đun số trường Cao đẳng, Đại học để giáo trình vừa đạt u cầu nội dung vừa thích hợp với đối tượng sinh viên trường Cao đẳng Chúng hy vọng sớm nhận ý kiến đóng góp, phê bình bạn đọc nội dung, chất lượng hình thức trình bày để giáo trình ngày hồn thiện Cần Thơ, ngày… tháng… năm 2018 Tham gia biên soạn Chủ biên: Lư Thục Oanh MỤC LỤC TRANG TUYÊN BỐ BẢN QUYỀN LỜI GIỚI THIỆU .2 MỤC LỤC TRANG .3 GIÁO TRÌNH MƠN HỌC/MƠ ĐUN NGÔN NGỮ JAVA Tên mơn học/mơ đun: NGƠN NGỮ JAVA Mã môn học/mô đun: MĐ26 BÀI 1: TỔNG QUAN VỀ NGÔN NGỮ LẬP TRÌNH JAVA .8 1.1 Mở đầu 1.2 Giới thiệu ngơn ngữ lập trình Java 1.3 Các ứng dụng Java 1.4 Dịch thực thi chương trình viết Java 12 1.5 Chương trình Java 13 1.6 Cơng cụ lập trình chương trình dịch 14 BÀI 2: 17 NỀN TẢNG CỦA JAVA 17 2.1 Biến 17 2.2 Các kiểu liệu sở 18 2.3 Hằng: 20 2.4 Lệnh, khối lệnh java .21 2.5 Toán tử biểu thức 22 2.6 Cấu trúc điều khiển 24 2.7 Lớp bao kiểu liệu sở (Wrapper Class) 26 2.8 Kiểu liệu mảng 26 2.9 Một số ví dụ minh họa: 28 BÀI 3: 37 LẬP TRÌNH HƯỚNG ĐỐI TƯỢNG TRONG JAVA .37 3.1 Mở đầu 37 3.2 Lớp (Class) .37 3.3 Đặc điểm hướng đối tượng java 42 3.4 Gói (packages) .47 3.5 Giao diện (interface) 47 BÀI 4: 60 THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG .60 4.1 Mở đầu 60 4.2 Giới thiệu thư viện awt 60 4.3 Các khái niệm .61 4.4 Thiết kế GUI cho chương trình 62 4.5 Xử lý biến cố/ kiện 75 Hi .92 BÀI 5: 93 LUỒNG VÀ TẬP TIN (STREAMS & FILES) 93 5.1 Mở đầu 93 5.2 Luồng (Streams) .93 5.3 Sử dụng luồng Byte 96 5.4 File truy cập ngẫu nhiên (Random Access Files) 105 5.5 Sử dụng luồng ký tự 107 5.6 Lớp File 113 BÀI 6: 116 LẬP TRÌNH CƠ SỞ DỮ LIỆU 116 6.1 Giới thiệu 116 6.2 Kiến trúc jdbc 116 6.3 Các khái niệm 118 6.4 Kết nối csdl với jdbc 119 6.5 Kiểu liệu sql kiểu liệu java 123 6.6 Các thao tác csdl 125 Tài liệu tham khảo 130 Phụ lục A: Trắc nghiệm kiến thức 131 Phụ Lục B: Đáp án trắc nghiệm kiến thức 153 GIÁO TRÌNH MƠN HỌC/MƠ ĐUN NGƠN NGỮ JAVA Tên mơn học/mơ đun: NGƠN NGỮ JAVA Mã mơn học/mơ đun: MĐ26 Vị trí, tính chất, ý nghĩa vai trị mơn học/mơ đun:  Vị trí: mơ đun bố trí giảng dạy sau mơn sở nghề  Tính chất: mơ đun bắt buộc thuộc chun mơn nghề chương trình đào tạo Cao đẳng (ứng dụng phần mềm) Mục tiêu môn học/mô đun: - Về kiến thức: o Biết rõ đặc điểm, môi trường phát triển - hoạt động, khả ứng dụng ngơn ngữ Java; o Hiểu qui trình biên soạn, biên dịch thực thi ứng dụng Java; o Hiểu khái niệm, tính năng, cách sử dụng tảng Java kiểu liệu, cấu trúc điều khiển, kỹ thuật hướng đối tượng, Java; o Hiểu tính năng, đặc điểm thư viện đồ họa AWT cách xử lý biến cố giao diện ứng dụng; o Hiểu khái niệm, cách xử lý với luồng vào liệu, tập tin; o Hiểu rõ nội dung cách kết nối ứng dụng Java với sở liệu thao tác tương tác liệu: cập nhật, truy vấn, ; - Về kỹ năng: o Viết thực thi chương trình ứng dụng Java xử lý số yêu cầu đơn giản; o Thiết kế ứng dụng với giao diện đồ họa đẹp, thân thiện với tính thông dụng, kết nối tương tác hệ sở liệu: thêm, xem, xóa, liệu; - Về lực tự chủ trách nhiệm: Sinh viên nghiêm túc, khoa học việc tiếp thu kiến thức lý thuyết Tích cực, sáng tạo việc thực hành Chủ động tìm tịi nguồn tập liên quan Nội dung môn học/mô đun: Số TT I Thời gian Tên mô đun Tổng số Lý thuyết Bài 1: Tổng quan ngơn ngữ lập trình Java 0.5 0.5 0 Các ứng dụng Java 1 0 Dịch thực thi chương trình viết Java 1 0 Cơng cụ lập trình chương trình dịch 1.5 0.5 Bài 2: Nền tảng Java 16 Tập ký tự, từ khóa, định danh 0.5 0.5 0 Cấu trúc chương trình Java 1.5 0.5 Chương trình Java 1.5 0.5 Biến, 0.5 0.5 0 Các kiểu liệu sở 1 0 Lệnh, khối lệnh java 1 Toán tử biểu thức 1 Cấu trúc điều khiển Kiểm tra 0 Bài 3: Lập trình hướng đối tượng Java 22 15 Mở đầu 1 0 Lớp Đặc điểm hướng đối tượng java Gói (packages) 1 Giao diện (interface) Mảng, xâu ký tự Kiểm tra 0 Bài 4: Thiết kế giao diện người dùng 18 11 Giới thiệu ngôn ngữ Java II III IV Thực hành, Kiểm tra* (LT Bài tập TH) V VI Giới thiệu thư viện awt 1 0 Các khái niệm 1 0 Thiết kế GUI cho chương trình Xử lý biến cố/sự kiện Kiểm tra 0 Bài 5: Luồng tập tin 10 Luồng (Streams) 1 0 Sử dụng luồng Byte File truy cập ngẫu nhiên Sử dụng luồng ký tự Bài 6: Lập trình sở liệu 20 14 Tổng quan lập trình sở liệu Java 1 0 Các kiểu trình điều khiển JDBC Kết nối CSDL với JDBC Kiểu liệu SQL kiểu liệu Java Tương tác liệu Kiểm tra 0 90 30 56 Tổng cộng BÀI 1: TỔNG QUAN VỀ NGƠN NGỮ LẬP TRÌNH JAVA Mã Bài: MĐ26-01 Mục tiêu: - 1.1 Hiểu rõ khái niệm Java: chất, lịch sử phát triển; Biết ứng dụng bản, kiểu chương trình Java; Hiểu môi trường phát triển (JDK), công cụ soạn thảo Java; Cài đặt môi trường phát triển, công cụ soạn thảo, máy ảo Java; Thái độ nghiêm túc, cẩn thận Mở đầu Chương cung cấp cho sinh viên khái niệm, kiến thức liên quan đến việc lập trình ứng dụng ngơn ngữ Java như: lịch sử phát triển java, đặc điểm java, khái niệm 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ình Java 1.2 Giới thiệu ngơn ngữ lập trình Java 1.2.1 Java gì? Java ngơn ngữ lập trình hướng đối tượng (tựa C++) Sun Microsystem đưa vào thập niên 90 Chương trình viết ngơn ngữ lập trình java 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ập trình Java Ngơn ngữ lập trình Java James Gosling công Công ty Sun Microsystem phát triển Đầu thập niên 90, Sun Microsystem tập hợp nhà nghiên cứu thành lập nên nhóm đặt tên Green Team Nhóm Green Team có trách nhiệm xây dựng cơng nghệ cho ngành điện tử tiêu dùng Để giải vấn đề nhóm nghiên cứu phát triển xây dựng ngơn ngữ lập trình đặt tên Oak tương tự C++ loại bỏ số tính nguy hiểm C++ có khả chạy nhiều phần cứng khác Cùng lúc world wide web bắt đầu phát triển Sun thấy tiềm ngôn ngữ Oak nên đầu tư cải tiến phát triển Sau không lâu ngôn ngữ với tên gọi Java đời giới thiệu năm 1995 Java tên gọi đảo Indonexia, Đây nơi nhóm nghiên cứu phát triển chọn để đặt tên cho ngơn ngữ lập trình Java chuyến tham quan làm việc đảo Hòn đảo Java nơi tiếng với nhiều khu vườn trồng cafe, lý thường thấy biểu tượng ly café nhiều sản phẩm phần mềm, cơng cụ lập trình Java Sun số hãng phần mềm khác đưa 1.2.3 Một số đặc điểm bậc ngôn ngữ lập trình Java Máy ảo Java (JVM Java Virtual Machine) Tất chương trình muốn thực thi phải biên dịch mã máy Mã máy kiến trúc CPU máy tính khác (tập lệnh mã máy CPU Intel, CPU Solarix, CPU Macintosh … khác nhau), trước chương trình sau biên dịch xong chạy kiến trúc CPU cụ thể Đối với CPU Intel chạy hệ điều hành Microsoft Windows, Unix, Linux, OS/2, … Chương trình thực thi Windows biên dịch dạng file có EXE cịn Linux biên dịch dạng file có ELF, trước chương trình chạy Windows muốn chạy hệ điều hành khác Linux chẳng hạn phải chỉnh sửa biên dịch lại Ngơn ngữ lập trình Java đời, nhờ vào máy ảo Java mà khó khăn nêu khắc phục Một chương trình viết ngơn ngữ lập trình Java biên dịch mã máy ảo java (mã java bytecode) Sau máy ảo Java chịu trách nhiệm chuyển mã java bytecode thành mã máy tương ứng Sun Microsystem chịu trách nhiệm phát triển máy ảo Java chạy hệ điều hành kiến trúc CPU khác Thơng dịch: Java ngơn ngữ lập trình vừa biên dịch vừa thơng dịch Chương trình nguồn viết ngơn ngữ lập trình Java có *.java biên dịch thành tập tin có *.class sau trình thơng dịch thơng dịch thành mã máy Độc lập nền: Một chương trình viết ngơn ngữ Java chạy nhiều máy tính có hệ điều hành khác (Windows, Unix, Linux, …) có cài đặt máy ảo java (Java Virtual Machine) Viết lần chạy nơi (write once run anywhere) Hướng đối tượng: Hướng đối tượng Java tương tự C++ Java ngôn ngữ lập trình hướng đối tượng hồn tồn Tất thứ đề cập đến Java liên quan đến đối tượng định nghĩa trước, chí hàm chương trình viết Java (đó hàm main) phải đặt bên lớp Hướng đối tượng Java khơng có tính đa kế thừa (multi inheritance) C++ mà thay vào Java đưa khái niệm interface để hỗ trợ tính đa kế thừa Vấn đề bàn chi tiết chương Đa nhiệm - đa luồng (MultiTasking - Multithreading): Java hỗ trợ lập trình đa nhiệm, đa luồng cho phép nhiều tiến trình, tiểu trình chạy song song thời điểm tương tác với Khả chuyển (portable): Chương trình ứng dụng viết ngôn ngữ Java cần chạy máy ảo Java chạy máy tính, hệ điều hành có máy ảo Java “Viết lần, chạy nơi” (Write Once, Run Anywhere) Hỗ trợ mạnh cho việc phát triển ứng dụng: Công nghệ Java phát triển mạnh mẽ nhờ vào “đại gia Sun Microsystem” cung cấp nhiều công cụ, thư viện lập trình phong phú hỗ trợ cho việc phát triển nhiều loại hình ứng dụng khác cụ thể như: J2SE (Java Standard Edition) hỗ trợ phát triển ứng dụng đơn, ứng dụng client-server; J2EE (Java Enterprise Edition) hỗ trợ phát triển ứng dụng thương mại, J2ME (Java Micro Edition) hỗ trợ phát triển ứng dụng thiết bị di động, không dây, … 1.3 Các ứng dụng Java 1.3.1 Java ứng dụng Console Ứng dụng Console ứng dụng nhập xuất chế độ văn tương tự hình Console hệ điều hành MS-DOS Lọai chương trình ứng dụng thích hợp với bước đầu làm quen với ngơn ngữ lập trình java Các ứng dụng kiểu Console thường dùng để minh họa ví dụ liên quan đến cú pháp ngôn ngữ, thuật tốn, chương trình ứng dụng khơng cần thiết đến giao diện người dùng đồ họa Hình 1: Ứng dụng kiểu Console class HelloWorld { public static void main(String[] args) { System.out.println("\nHello World"); } } 1.3.2 Java ứng dụng Applet Java Applet loại ứng dụng nhúng chạy trang web trình duyệt web Từ internet đời, Java Applet cung cấp khả lập trình mạnh mẽ cho trang web Nhưng gần chương trình duyệt web phát triển với khả lập trình VB Script, Java Script, HTML, DHTML, XML, … với canh tranh khốc liệt Microsoft Sun làm cho Java Applet lu mờ Và gần lập trình viên khơng cịn “mặn mà” với Java Applet (trình duyệt IE kèm phiên Windows 2000 không hỗ trợ thực thi ứng dụng Java Applet) Hình bên minh họa chương trình java applet thực thi trang web 10 : public void decrement(double decMe){ 11 : decMe = decMe – 1.0; 12 : } 13 : } Giá trị in câu lệnh dòng thứ là: a 0.0 b -1.0 c 12.3 d 11.3 40 Miền giá trị biến kiểu short là: a Nó phụ thuộc vào phần cứng bên b Từ đến 216 – c Từ -215 đến 215 – d Từ -231 đến 231 – 41 Miền giá trị biến kiểu byte là: a Nó phụ thuộc vào phần cứng bên b Từ đến 28 – c Từ -27 đến 27 – d Từ -215 đến 215 – 10 42 Cho biết giá trị x, a b sau thi hành đoạn mã sau: : int x, a = 6, b = 7; : x = a++ + b++; a x = 15, a = 7, b = b x = 15, a = 6, b = c x = 13, a = 7, b = d x = 13, a = 6, b = 43 Biểu thức sau hợp lệ a int x = 6;x = !x; b itn x = 6; if (!(x > 3)) {} c int x = 6; x = ~x; d Câu b) c) 44 Biểu thức sau cho x có giá trị dương: a int x = -1; x = x >>> 5; b int x = -1; x = x >>> 32; c byte x = -1; x = x >>> 5; d int x = -1; x = x >> 5; 45 Biểu thức sau hợp lệ a String x = “Hello”; int y = 9; x +=y; 139 String x = “Hello”; int y = 9; x = x + y; c String x = null; int y = (x != null) && (x.length() > 0) ? x.length() : 0; d Tất câu 46 Đoạn mã sau in hình chữ “Equal”: a int x = 100; float y = 100.0F; if (x == y) { System.out.println(“Equal”); } b Integer x = new Integer(100); Integer y = new Integer(100); if (x == y) { System.out.println(“Equal”); } c String x = “100”; String y = “100”; if (x == y) { System.out.println(“Equal”); } d Câu a c 47 Cho biết kết sau thi hành chương trình sau: : public class Short{ : public static void main(String[] args){ : StringBuffer s = new StringBuffer(“Hello”); : if ((s.length() > 5) && : s.append(“ there”).equals(“False”))) : ;//do nothing : System.out.println(“value is ” + s); : } :} a Giá trị xuất Hello b Lỗi biên dịch dịng c Khơng có giá trị xuất d Thông báo NullPointerException 48 Cho biết kết sau thực chương trình sau: : public class Xor{ : public static void main(String[] args){ b 140 : byte b = 10;//00001010 : byte c = 15;//00001111 : b = (byte)(b ^ c); : System.out.println(“b contains ” + b); : } :} a Kết là: b contains 10 b Kết là: b contains c Kết là: b contains 250 d Kết là: b contains 245 49 Cho biết kết sau biên dịch thi hành chương trình sau: : public class Conditional{ : public static void mai n(String[] args){ : int x = 4; : System.out.println(“value is ” + : ((x > ? 99.99 : 9)); : } :} a Kết là: value is 99.99 b Kết là: value is c Kết là: value is 9.0 d Lỗi biên dịch dòng số 50 Cho biết kết đoạn mã sau: : int x = 3; int y = 10; : System.out.println(y % x); a b c d 51 Chọn câu khai báo không hợp lệ a String s; b abstract double d; c abstract final double hyperbolCosine(); d Tất câu 52 Chọn câu phát biểu a Một lớp trừu tượng chứa phương thức final b Một lớp final chứa phương thức trừu tượng c Cả a) b) d Cả a) b) sai 141 53 Chọn cách sửa để đoạn mã sau biên dịch : final class Aaa : { : int xxx; : void yyy(){xxx = 1;} :}8: : 10 : class Bbb extends Aaa 11 : { 12 : final Aaa finalRef = new Aaa(); 13 : 14 : final void yyy() 15 : { 16 : System.out.println(“In method yyy()”); 17 : finalRef.xxx = 12345; 18 : } 19 : } a Xóa từ final dịng b Xố từ final dịng 10 c Xóa từ final dịng 10 d Khơng cần phải chỉnh sửa 54 Chọn phát biểu cho chương trình sau : class StaticStuff :{ : static int x = 10; : : static {x += 5;} : : public static void main(String args[]) : { : System.out.pritln(“x = ” + x); 10 : } 11 : 12 : static {x /= 5} 13 : } a Lỗi biên dịch dịng 12 bỡi thiếu tên phương thức kiểu trả b Chương trình chạy cho kết x = 10 c Chương trình chạy cho kết x = 15 d Chương trình chạy cho kết x = 55 Chọn phát biểu cho chương trình sau: 142 : class HasStatic :{ : private static int x = 100; : : public static void main(String args[]) : { : HasStatic hs1 = new HasStatic(); : hs1.x++; : HasStatic hs2 = new HasStatic(); 10 : hs2.x++; 11 : hs1 = new HasStatic(); 12 : hs1.x++; 13 : HasStatic.x++; 14 : System.out.println(“x = “ + x); 15 : } 16 : } a Chương trình chạy cho kết x = 102 b Chương trình chạy cho kết x = 103 c Chương trình chạy cho kết x = 104 d Tất câu sai 56 Cho đoạn mã sau: : class SuperDuper :{ : void aMethod(){} :}5: : class Sub extends SuperDuper :{ : void aMethod(){} :} Hãy chọn từ khóa phạm vi hợp lệ đứng trước aMethod() dòng a default b protected c public d Tất câu Đoạn mã sau dùng cho câu hỏi : package abcde; : : public class Bird{ : protected static int referneceCount = 0; 143 : public Bird(){referenceCount++;} : protected void fly(){…} : static int getRefCount(){return referenceCount;} :} 57 Chọn phát biểu cho lớp Bird lớp Parrot sau: : package abcde; : : class Parrot extends abcde.Bird{ : public void fly(){ : // : } : public int getRefCount(){ : return referenceCount; : } 10 : } a Lỗi biên dịch dịng tập tin Parrot.java phương thức fly() protected lớp cha lớp Bird Parrot nằm package b Lỗi biên dịch dịng tập tin Parrot.java phương thức fly() protected lớp cha public lớp c Lỗi biên dịch dòng tập tin Parrot.java phương thức getRefCount() static lớp cha d Chương trình biên dịch thành cơng phát sinh Exception chạy phương thức fly() lớp Parrot không gọi 58 Chọn phát biểu cho lớp Bird lớp Nightingale sau: : package singers; : : class Nightingale extends abcde.Bird{ : Nightingale(){ refernceCount++;} : : public static void main(String args[]){ : System.out.print(“Before: “ + refernceCount); : Nightingale florence = new Nightingale(); : System.out.print(“After: “ + refernceCount); 10 : florence.fly(); 11 : } 12 : } a Kết hình là: Before: After: b Kết hình là: Before: After: c Lỗi biên dịch dòng lớp Nightingale khơng thể overidde thành viên static d Lỗi biên dịch dịng 10 lớp Nightingale phương thức fly() protected lớp cha 144 59 Chọn phát biểu a Chỉ kiểu liệu sở chuyển đổi kiểu tự động; để chuyển đổi kiểu liệu biến tham chiểu phải sử dụng phép ép kiểu b Chỉ biến tham chiếu chuyển đổi kiểu tự động; để chuyển kiểu biến kiểu sở phải sử dụng phép toán ép kiểu c Cả kiểu liệu sở kiểu tham chiếu chuyển đổi tự động ép kiểu d Phép ép kiểu liệu số cần phép kiểm tra thực thi 60 Dịng lệnh sau khơng thể biên dịch: : byte b = 5; : char c = ‘5’; : short s = 55; : int i = 555; : float f = 555.5f; : b = s; : i = c; : if (f > b) : f = i; a Dòng b Dòng c Dòng d Dòng 61 Chọn dòng phát sinh lỗi biên dịch : byte b = 2; : byte b1 = 3; : b = b * b1; a Dòng b Dòng c Dòng d Tất câu 62 Trong đoạn mã sau kiểu liệu biến result kiểu nào? : byte b = 11; : short s =13; : result = b * ++s; a byte, short, int, long, float, double b boolean, byte, short, char, int, long, float, double c byte, short, char, int, long, float, double d int, long, float, double 63 Cho đoạn chương trình sau: : class Cruncher{ : void crunch(int i){ : System.out.println(“int version”): : } : void crunch(String s){ 145 10 11 12 13 14 a : : : : : : : : : Dòng System.out.println(“String version”); } public static void main(String[] args){ Cruncher crun = new Cruncher(); char ch = ‘p’; crun.crunch(ch); } } khơng biên dịch phương thức trả kiểu void khơng thể overridde b Dịng 12 khơng biên dịch khơng có phiên phương thức crunch() nhận vào tham số kiểu char c Đoạn mã biên dịch phát sinh Exception dịng 12 d Chương trình chạy in kết quả: int version 64 Chọn phát biểu a Tham chiếu đối tượng chuyển đổi phép gán thực phép gọi phương thức b Tham chiếu đổi tượng ép kiểu phép gọi phương thức thực phép gán c Tham chiểu đối tượng chuyển đổi phép gọi phương thức phép gán tuân theo quy tắc khác d Tham chiếu đối tượng chuyển đổi phép gọi phương thức phép gán tuân theo quy tắc giống 65 Cho đoạn mã bên Hãy cho biết dịng khơng thể biên dịch : Object ob = new Object(); : String stringarr[] = new String[50]; : Float floater = new Float(3.14f); : ob = stringarr; : ob = stringarr[5]; : floater = ob; : ob = floater; a Dòng b Dòng a Dòng b Dòng 146 Animal Mammal Cat (implements Washer) Dog Racoon (implements Washer) Swamp Thing 66 Cho đoạn mã sau: Hình sau áp dụng cho câu 66, 67, 68 :Dog rover, fido; :Animal anim; : :rover = new Dog(); :anim = rover; :fido = (Dog)anim; Hãy chọn phát biểu a Dịng khơng thể biên dịch b Dịng khơng thể biên dịch c Đoạn mã biên dịch thành công phát sinh Exception dòng d Đoạn mã biên dịch thành cơng thi hành 67 Cho đoạn mã sau: :Cat sunflower; :Washer wawa; :SwampThing pogo; : :sunflower = new Cat(); :wawa = sunflower; :pogo = (SwampThing)wawa; Hãy chọn phát biểu a Dịng khơng thể biên dịch; cần có phép ép kiểu để chuyển từ kiểu Cat sang kiểu Washer b Dịng khơng thể biên dịch ép từ kiểu interface sang kiểu class c Đoạn mã dịch chạy phép ép kiểu dịng thừa bỏ di d Đoạn mã biên dịch thành công phát sinh Exceptiono dịng kiểu lớp đối tượng biến wawa lúc thi hành chuyển sang kiểu SwampThing 68 Cho đoạn mã sau :Racoon rocky; :SwampThing pogo; 147 :Washer w; : :rocky = new Racooon(); :w = rocky; :pogo = w; a Dịng khơng biên dịch; cần phải có phép ép kiểu để chuyển từ kiểu Racoon sang kiểu Washer b Dịng khơng biên dịch; cần có phép ép kiểu để chuyển từ kiểu Washer sang kiểu SwampThing c Đoạn mã biên dịch phát sinh Exception dịng chuyển đổi kiểu thực thi từ interface sang class không phép d Đoạn mã biên dịch phát sinh Exception dịng kiểu lớp w thời điểm thực thi chuyển sang kiểu SwampThing 69 Cho đoạn mã sau: : for (int i = 0; i < 2; i++){ : for (int j = 0; j < 3; j++){ : if (i == j){ : continue; : } : System.out.println(“i = “ + i + “j = “ + j); : } :} Dòng số kết in ra? a i=0j=0 b i=2j=1 c i=0j=2 d i=1j=1 70 Cho đoạn mã sau: : outer: for (int i = 0; i < 2; i++){ : for (int j =0; j < 3; j++){ : if (i == j){ : continue outer; : } : System.out.println(“i = “ + i + “j = “ + j); : } :} Dòng số kết in ra? a i=0j=0 148 i=0j=1 c i=0j=2 d i=1j=0 71 Chọn vòng lặp a : while (int i < 7){ : i++; : System.out.println(“i is “ + i); :} b : int i = 3; : while (i){ : System.out.println(“i is “ + i); :} c : int j = 0; : for(int k = 0; j + k != 10; j++, k++){ : System.out.println(“j is “ + j + “ k is “ + k); :} d : int j = 0; : do{ : System.out.println(“j is “ + j++); : if (j == 3) { continue loop;} : }while (j < 10); 72 Cho biết kết xuất đoạn mã sau : int x = 0, y = 4, z = 5; : if ( x > 2){ : if (y < 5){ : System.out.println(“message one”); : } : else{ : System.out.println(“message two”); : } :} 10 : else if (z > 5){ 11 : System.out.println(“message three”); 12 : } b 149 : else{ 14 : System.out.println(“message four”); 15 : } a message one b message two c message three d message four 73 Chọn phát biểu cho đoạn mã sau: : int j = 2; : switch (j){ : case 2: : System.out.println(“value is two”); : case + 1: : System.out.println(“value is three”); : break; : default: : System.out.println(“value is” + j); 10 : break; 11 : } a Đoạn mã không hợp lệ bỡi biểu thức dịng b Biến j cấu trúc switch() kiểu: byte, short, int long c Kết xuất chương trình dịng: value is two d Kết xuất chương trình dòng: value is two value is three 74 Cho biết kết sau dịch thực thi đoạn chương trình sau: import java.awt.*; public class Test extends Frame { Test() { setSize(300,300); Button b = new Button(“Apply”); add(b); } 10 public static void main(String args[]) { 11 Test f = new Test(); 12 f.setVisible(true); 13 } 13 150 14 a) } Có lỗi biên dịch dịng 11 constructor dịng khơng khai báo public Chương trình biên dịch thành cơng có ném exception thực thi câu lệnh dòng thứ c) Chương trình hiển thị frame trống d) Chương trình hiển thị nút nhấn (Button) sử dụng font chữ mặc định cho nhãn Button Button đủ lớn để bao quanh nhãn e) Chương trình hiển thị nút nhấn (Button) dùng font chữ mặc định cho nhãn nút Nút nhấn choán tất vùng hiển thị frame 75 Nếu frame dùng quản lý trình bày (layout manager) GridLayout khơng chứa panel hay container khác bên tất components đưa vào frame có kích thước (ngang, dọc)? a) Đúng b) Sai 76 Nếu frame dùng quản lý trình bày (layout manager) mặc định khơng chứa panel bên tất components bên frame kích thước (ngang, dọc)? a) Đúng b) Sai 77 Với quản lý trình bày BorderLayout khơng thiết vùng phải có chứa components a) Đúng b) Sai 78 Bộ quản lý trình bày mặc định cho khung chứa kiểu Panel là: a) FlowLayout b) BorderLayout c) GridLayout d) GridBagLayout 79 Một Container có quản lý trình bày GridBagLayout component có kích thước thêm vào khung chứa (container) này? a) Đúng b) Sai 80 Bạn tạo cửa sổ ứng dụng cách gọi: Frame f = new Frame(“Main Frame”); Nhưng bạn chạy chương trình Frame khơng hiển thị Dịng bên làm hiển thị Frame a) f.setSize(300, 200); b) f.setBounds(10, 10, 500, 400); c) f.setForeground(Color.white); b) 151 f.setVisible(true); 81 Đối tượng bên chứa menubar (chọn câu đúng) a) Panel b) ScrollPane c) Frame d) Menu 82 Sau tạo frame câu lệnh Frame f = new Frame() tạo menu bar câu lệnh MenuBar mb = new MenuBar(), làm để gắn MenuBar tên mb vào f a) f.add(mb) b) f.setMenu(mb) c) f.addMenu(mb) d) f.setMenuBar(mb) d) 152 Phụ Lục B: Đáp án trắc nghiệm kiến thức 1.c; 2.b; 3.d; 4.c; 5.d; 6.d; 7.c; 8.a; 9.d; 10.a; 11.a; 12.c; 13.b; 14.d; 15.a; 16.d; 17.a; 18.c; 19.a; 20.c; 21.a; 22.a; 23.a; 24.a; 25.c; 26.a; 27.a; 28.d; 29.d; 30.c; 31.b; 32.a; 33.b; 34.d; 35.c; 36.c; 37.d; 38.d; 39.c; 40.c; 41.c; 42.c; 43.d; 44.a; 45.d; 46.d; 47.a; 48.b; 49.c; 50.b; 51.d; 52.b; 53.a; 54.d; 55.c; 56.d; 57.c; 58.a; 59.c; 60.d; 61.c; 62.d; 63.d; 64.d; 65.c; 66.d; 67.d; 68.b; 69.c; 70.d; 71.c; 72.d; 73.d; 74.e; 75.a; 76.b; 77.a; 78.a; 79.b; 80.d; 81.c; 82.d 153

Ngày đăng: 23/12/2023, 10:18

Tài liệu cùng người dùng

Tài liệu liên quan