Bài giảng Lập trình Java - Bài 1: Tổng quan về ngôn ngữ Java

ppt 70 trang phuongnguyen 5400
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Lập trình Java - Bài 1: Tổng quan về ngôn ngữ Java", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_lap_trinh_java_bai_1_tong_quan_ve_ngon_ngu_java.ppt

Nội dung text: Bài giảng Lập trình Java - Bài 1: Tổng quan về ngôn ngữ Java

  1. LẬP TRÌNH JAVA Bài 1: Tổng quan về ngôn ngữ Java
  2. Mục tiêu ◼ Kết thúc bài học bạn có thể: ◼ Hiểu những đặc điểm và lợi ích của Java ◼ Hiểu cơ chế thực thi của Java ◼ Hiểu cơ chế biên dịch và chạy một chương trình Java ◼ Hiểu cấu trúc cơ bản của một chương trình Java 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 2
  3. Nội dung ◼ 1.1- Lịch sử của Java ◼ 1.2- Những đặc điểm cơ bản của Java ◼ 1.3- Máy ảo Java- JVM ◼ 1.4- Môi trường lập trình Java ◼ 1.5- Chương trình Java đầu tiên ◼ 1.6- Tóm tắt ◼ 1.7- Trắc nghiệm và bài tập 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 3
  4. 1.1 Lịch sử Java ◼ Java là một ngôn ngữ lập trình (programming language): một ngôn ngữ mà bạn có thể học cách viết và máy tính có thể hiểu được ◼ Java hiện đang là một ngôn ngữ rất phổ biến ◼ Java là một ngôn ngữ mạnh và có tầm bao quát rộng ◼ nhưng nó không đơn giản! ◼ Được so sánh với C++, Java rất "tao nhã" (elegant) 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 4
  5. 1.1 Lịch sử Java ◼ Năm 1990, James Gosling, Bill Joy, Patrick Naughton(Sun MicroSystem) phát triển ngôn ngữ Oak nhằm mục đích cài chương trình vào các bộ xử lý của các thiết bị như VCR, lò nướng, PDA (personal data assistant), Oak đòi hỏi: ◼ Độc lập cấu trúc nền (phần cứng, OS) do thiết bị có thể do nhiều nhà sản xuất khác nhau (Platform independent) ◼ Phải tin cậy tuyệt đối (extremely reliable) ◼ Nhỏ gọn, chắc chắn (compact) 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 5
  6. 1.1 Lịch sử Java ◼ 1993, TV tương tác và PDA thất bại, Internet và Web bùng nổ, Sun chuyển Oak thành một môi trường lập trình Internet với tên dự án là Java. ◼ 1994, HotJava Browser của Sun xuất hiện (viết bằng Java chỉ sau vài tháng)minh họa thế mạnh của các applet cũng như khả năng phát triển nhanh một ứng dụng của Java. ◼ Cùng với sự bùng nổ của Internet, Java trở thành phần mềm ưu thế trong việc phát triển ứng dụng chạy trên internet. ◼ Tuy nhiên, những bản Java đầu chưa đủ mạnh theo yêu cầu của người sử dụng. Thí dụ: Đồ họa trong bản Java 1.0 thô và vụng về hơn so với đồ họa khi được xử lý bằng C hoặc ngôn ngữ khác. 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 6
  7. 1.1 Lịch sử Java ◼ Là một ngôn ngữ OOP đầy đủ, không thể viết 1 ứng dụng hướng thủ tục trong Java. ◼ Có thể giải các họ bài toán như những ngôn ngữ lập trình khác. ◼ Cho phép tạo Application hoặc Applet. ◼ Sử dụng 2 cơ chế: Interpreter | Compiler ◼ Write code one, run it anywhere, anytime, forever 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 7
  8. 1.2 Đặc điểm của Java ◼ Đơn giản( simple) ◼ Tương tự như C++ nhưng bỏ bớt các đặc tính phức tạp của C++ như: quản lý bộ nhớ, pointer, overload toán tử, không dùng include, bỏ struct, union ◼ Hướng đối tượng (OO) ◼ Mọi thứ trong Java là đối tượng ◼ Phân tán (Distributed). ◼ Nhắm đến phân bố ứng dụng trên mạng, ứng dụng độc lập platform. ◼ Mạnh mẽ (Robust) ◼ Định kiểu mạnh, tường minh, kiểm tra lúc biên dịch và kiểm tra khi thông dịch trước khi thực thi ◼ Giới hạn được lỗi; kiểm tra truy xuất phần tử của mảng, chuỗi lúc thực thi, kiểm tra ép kiểu run-time. ◼ Có trình gom rác– garbage collection- programmer không cần phải lo toan đến việc hủy đối tượng. 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 8
  9. 1.2 Đặc điểm của Java ◼ Bảo mật (Secure): ◼ Kiểm tra an toàn code trước khi thực thi, có nhiều mức kiểm tra bảo mật tạo ra môi trường thực thi an toàn ◼ Mức 1: Mức ngôn ngữ: Nhờ tính bao gói dữ liệu của OOP, không cho phép truy cập trực tiếp bộ nhớ mà phải thông qua method. ◼ Mức 2: Mức Compiler, kiểm tra an toàn cho code trước khi biên dịch. ◼ Mức 3: Mức Interpreter, trước khi bytecode được thực thi, được kiểm tra an toàn. ◼ Mức 4: Mức Class, các class trước khi nạp được kiểm tra an toàn. 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 9
  10. 1.2 Đặc điểm của Java ◼ Tính tương thích khả chuyển (Portability) Chương trình Java Compiler Chương trình Bytecode độc lập platform Java Runtime Interpreter/ JVM thực thi Javabytecode IBM Macintosh Sparc 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 10
  11. 1.2 Đặc điểm của Java ◼ Thực thi dạng thông dịch: (Interpretive execution) Chỉ thị chỉ được dịch sang lệnh máy lúc thực thi ◼ Chương trình độc lập platform → Write Once Run Anywhere (WORA) ◼ Các file tài nguyên → trình biên dịch javac → class file độc lập thiết bị ◼ Class file → trình thông dịch java → mã máy thực thi, không cần liên kết (link) ➔ Lợi ích (1) Java class file có thể được dùng ở bất kỳ flatform nào. (2) Tính module hóa cao, dùng bộ nhớ tốt hơn với class file hơn là file thực thi vì class file 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 11
  12. 1.2 Đặc điểm của Java ◼ Hiệu suất cao (high performance) ◼ bytecode → native machine code dễ dàng nhờ Just-in-time compiler. ◼ Đa luồng (multithreading) ◼ Cho phép lập trình đa luồng (nhiều chương trình đồng hành nhờ lớp Thread : khởi tạo, ngưng1 luồng, kiểm tra trạng thái của luồng) ◼ thread: một luồng thực thi của CPU → là1 chương trình ◼ Linh động (dynamic) ◼ Cho phép tương thích với sự thay đổi của môi trường, ◼ Trong CT java có các thông tin run-time → Kiểm tra truy xuất lớp an toán, → an toàn để liên kếtc ác lớp vào CT → dynamic 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 12
  13. 1.2 Đặc điểm của Java ◼ Từ vựng ◼ JRE, Java Runtime Environment ◼ Phần mềm cho phép bạn chạy các chương trình Java trên máy tính. ◼ JDK, Java Development Kit; còn gọi là ◼ SDK, System Development Kit ◼ Phần mềm cho phép bạn tạo và chạy các chương trình Java trên máy tính. ◼ IDE, Integrated Development Environment ◼ Công cụ giúp viết và chạy các chương trình dễ dàng hơn. 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 13
  14. 1.3 JVM- Java Virtual Machine ◼ 5 thành phần của môi trường Java ◼ (1) Java language ◼ (2) Bytecode definitions ◼ (3) Java/ Sun Class libraries ◼ (4) The Java Virtual Machine ◼ (5) The structure of .class file ◼ JVM là trung tâm của Java ◼ Các thành phần dẫn đến sự thành công của Java: Bytecode definitions, the structure of .class file, JVM 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 14
  15. 1.3 JVM- Java Virtual Machine ◼ 1.3.1- JVM là gì? ◼ Là một phần mềm giả lập một máy tính trong đó : có tập lệnh định nghĩa các tác vụ Chương trình Java javac : compiler Java Bytecode Dùng cơ chế Just-In-Time thông dịch bytecode thành JVM lệnh máy cụ thể OS Hardware platform 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 15
  16. 1.3 JVM- Java Virtual Machine ◼ 1.3.1- JVM là gì? ◼ JVM tạo ra 1 hệ thực thi phụ thuộc platform bao gồm các tác vụ: ◼ (1) Nạp .class file ◼ (2) Quản lý bộ nhớ ◼ (3) Thực thi gom rác 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 16
  17. 1.3 JVM- Java Virtual Machine ◼ 1.3.2- JRE-Môi trường run-time của Java ◼ Hai giai đoạn của 1 Java application: Compile- time, Run-time ◼ Compile-time phase: Viết và biên dịch chương trình Begin Java source code Biên dịch bằng javac .class file End 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 17
  18. 1.3 JVM- Java Virtual Machine ◼ 1.3.2- JRE-Môi trường run-time của Java ◼ Run-time phase .class Nhờ class Loader, file Begin kiểm tra an toàn Net Nạp .class file work Nhờ chức năng Kiểm tra bytecode bytecode verifier, kiểm tra code format và quyền truy xuất Interpreter JIT code Generator Run-time code Hardware End 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 18
  19. 1.3 JVM- Java Virtual Machine ◼ 1.3.3- Trình gom rác- Garbage Collection ◼ Heap: Vùng nhớ chia sẽ thông tin giữa các qúa trình. Với C, C++, Pascal, programmer phải tự quản lý vùng nhớ cấp phát động này bằng các hàm cơ bản. ◼ Cơ chế quản lý heap Heap được quản lý bằng 2 danh sách: Free block list và Allocated Block List. - Cách cấp phát: “first-fit block” - Khi khối bộ nhớ được yêu cầu lớn hơn khả năng của các khối tự do: Compaction - dồn vùng nhớ để tạo ra vùng lớn hơn. ◼ Heap trong Java : 2 heap heap cấp phát tĩnh và heap cấp phát động. 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 19
  20. 1.3 JVM- Java Virtual Machine Dynamic heap: có gom rác ◼ 1.3.3- Trình gom rác Static Heap Dynamic heap Section 1 -Class definitions Biến đối tượng O2 -Các hằng Biến đối tượng O1 -CMT1 (class1,method1,Add1) Dynamic heap Section 2 -CMT2 ( Các entry: 2 pointers) (class2,method2,Add2) (O1, CMT1) (O2, CMT2) Static heap: không gom rác Section 2: Theo dõi hoạt động của các đối tượng CMT: class method table 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 20
  21. 1.3 JVM- Java Virtual Machine ◼ 1.3.3- Trình gom rác- Garbage Collection Cơ chế cấp bộ nhớ 1/ Nhận yêu cầu cấp bộ nhớ 2/ if (Free-Block list đủ) cấp bộ nhớ cho yêu cầu (First-fit) 3/ else if (máy rảnh) thực thi gom rác 4/ else ứng dụng phải gọi tường minh tác vụ gom rác: System.gc(); Trình gom rác được ấn định độ ưu tiên rất thấp→ Gọi tường minh có ý nghĩa chấp nhận ứng dụng này tạm dừng để chờ gom rác. Cơ chế gom rác ( chỉ gom rác ở Dynamic heap) 1/ Xem đối tượng nào không có entry trong section2→ Không còn dùng đối tượng này nữa. 2/ Garbage Collector sẽ gọi method finalize() để thu tài nguyên của đối tượng (file, stream kết hợp, bộ nhớ) 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 21
  22. 1.4 Môi trường lập trình Java ◼ JDK- Java Development Kit- Bộ công cụ phát triển ứng dụng Java bao gồm4 thành phần: (1) Classes (2) Compiler (3) Debugger (4) Java Runtime Environment • Hiện nay đã có bản Java 1.6(Beta) 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 22
  23. 1.4 Môi trường lập trình Java ◼ Trong thư mục BIN của JDK (sau khi cài đặt) có: ◼ Javac.exe : Java Compiler: Dịch source code → Independent Bytecode ◼ Java.exe : Thực thi class file trong JVM ◼ Appletviewer.exe : cho phép chạy applet mà không cần Browser. 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 23
  24. Chuẩn bị môi trường lập trình 24
  25. Download Java Software: Java 2 Standard Edition. Documentation. Có thể mua đĩa CD 25
  26. Cài đặt môi trường Java Xả nén Chạy 26
  27. Thiết lập môi trường làm việc Sau khi cài đặt Java SDK 1.5.0 vào thư mục C:\Program Files\Java\jdk1.5.0 tại cửa sổ dòng lệnh Windows (cmd.exe) lần lượt chạy 2 dòng lệnh: set path=C:\Program Files\Java\jdk1.5.0\bin set classpath=. thiết lập biến đường dẫn để có thể gọi các chương trình chạy được thiết lập thư mục chứa các lớp của Java từ bất kỳ thư mục nào người dùng là thư mục hiện tại 27
  28. JCreator • JCreator là một IDE. Nó bao gồm: – một trình soạn thảo (editor), để viết chương trình – một chương trình gỡ rối (debugger), giúp tìm các lỗi – một khung nhìn (viewer), để xem các phần của chương trình – một cách thức dễ dàng để chạy các chương trình Java và xem tài liệu 28
  29. Download JCreator- Môi trường lập trình Có thể mua đĩa CD 29
  30. Cài đặt JCreator Pro Chạy Các thư mục kết qủa 30
  31. Cấu hình JCreator-slide 1 JCreator chỉ là môi trường cho ta xây dựng các ứng dụng Java. Do vậy, ta cần cấu hình cho JCreator bao gồm: Thư mục chứa các lớp của Java, thư mục nguồn, thư mục chứa các file trợ giúp. Chạy Jcreator từ Start/ Hoặc biểu tượng JCreator Pro trên desktop 31
  32. Cấu hình JCreator-slide 2 Chọn thư mục đã cài đặt JDK Chọn JDK Profile Kích New 32
  33. Cấu hình JCreator-slide 3 Trong thí dụ này là thư mục Tất cả các gói của Java jdk 1.5.0 C:\Program files\Java\jdk1.5.0 trong thư mục đã được chỉ định sẽ được đưa vào Classes 33
  34. Cấu hình JCreator-slide 4 Chọn thẻ Documentation Chọn thư mục Docs là thư để chỉ định thư mục chứa mục chứa các file.htm ( tài liệu giúp đỡ của Java. các file help của Java 2) Kết qủa Kích nút Add đã tải về và xả nén ở phần trước) 34
  35. Cấu hình JCreator-slide 5 Đến đây, việc cấu hình JDK Profile cho JCreator Pro đã xong, Nếu muốn cấu hình thư mục thì chọn mục Directories. Kích Apply rồi kích OK. 35
  36. Cấu hình thư mục- slide 6 Thư mục mặc định chứa code và kết qủa biên dịch Thư mục cú pháp Thư mục chứa các mẫu chương trình Kích để đổi thư mục Thư mục chứa các đoạn code mẫu 36
  37. Giới thiệu môi trường JCreatorPro Execute compile Danh sách các file của 1 file hiện hành gói phần mềm cửa sổ trạng thái 37
  38. Biên dịch thành công và chạy chương trình Màn hình kết qủa 38
  39. Trợ giúp trực tuyến trong JCreator Pro Sau tên đối tượng, ta gõ dấu chấm, các dữ liệu và hành vi public sẽ được JCreator trợ giúp ngay để user có thể chọn 39
  40. Trợ giúp về sử dụng JCreator 40
  41. Trợ giúp về sử dụng ngôn ngữ Java Chọn nội dung 41
  42. Trợ giúp về sử dụng ngôn ngữ Java Nôi dung tập tin trợ giúp (file.htm) sẽ xuất hiện trong cửa sổ file 42
  43. Trợ giúp nóng về1 method của đối tượng Đặt điểm chèn vào từ muốn tham khảo, gõ Ctrl + F1 Cửa sổ trợ giúp về JDK xuất hiện, kích 2 vào lớp cần tham khảo. 43
  44. 1.5 Chương trình java đầu tiên ◼ Yêu cầu: Viết chương trình xuất chuỗi “Hello world from java!” ra màn hình. ◼ Phân tích: - Cần tạo1 lớp có chức năng xuất chuỗi này (lớp HelloWorld) . Vì chức năng của chương trình đơn giản -> lớp này chỉ có 1 hành vi main( ), nội dung hành vi là xuất chuỗi được yêu cầu. ◼ Cách làm 1: Viết code bằng 1 editor, về dấu nhắc Command Prompt biên dịch, chạy chương trình. ◼ Cách làm 2: Nhờ 1 IDE như Jcreator, JPadPro, Jbuilder, cho phép vừa viết code vừa thực thi. 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 44
  45. 1.5 Chương trình java đầu tiên ◼ Tạo, biên dịch, chạy chương Tạo/Sửa Source Code trình ◼ Tạo: Source Code ◼ Soạn thảo chương trình (Notepade, Wordpad ) ◼ Ghi tệp tên Welcome.java Compile Source Code vào thư mục C:\javapro vd: javac Welcome.java ◼ Biên dịch: Nếu có lỗi ◼ Trên cửa sổ lệnh (cmd.exe) Bytecode ◼ cd\  ◼ cd javapro  Run Bytecode vd: java Welcome ◼ javac HelloWorld.java  ◼ Chạy: Kết quả ◼ java HelloWorld  Nếu có lỗi hoặc kết quả sai 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 45
  46. 1.5 Chương trình java đầu tiên Dùng NotePad, biên dịch dòng lệnh Lưu trữ với tên HelloWorld.java- tên lớp là tên file C:\PROGRA~1\JavaSoft\JRE\1.2\bin>javac e:\BaiGiang2004\java\HelloWorld.java e:\BaiGiang2004\java\HelloWorld.java:1: ';' expected. import java.io.* Lỗi thiếu dấu chấm phẩy, code trên đã sửa ^ 1 error E:\BaiGiang2004\Java>javac HelloWorld.java E:\BaiGiang2004\Java>java HelloWorld Hoặc biên dịch với thư mục hiện hành là thư mục chứa Hello World From Java ! source code . E:\BaiGiang2004\Java> Biên dịch thành công và chạy ứng dụng Chú ý: Tên file .java có tính chất case-sensitive 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 46
  47. 1.5 Chương trình java đầu tiên ◼ Kết qủa biên dịch 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 47
  48. 1.5 Chương trình java đầu tiên ◼ Dùng JCreatorPro 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 48
  49. 1.5 Chương trình java đầu tiên ◼ Các thành phần của một chương trình Java ◼ Chú giải - Comments ◼ Đóng gói - Package ◼ Từ khóa - Reserved words ◼ Từ bổ nghĩa - Modifiers ◼ Câu lệnh - Statements ◼ Khối - Blocks ◼ Lớp - Classes ◼ Phương thức - Methods ◼ Phương thức chính - The main method 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 49
  50. 1.5 Chương trình java đầu tiên ◼ Comments ◼ Trong Java, các chú giải có thể được đặt : ◼ sau 2 dấu gạch chéo // trên 1 dòng ◼ giữa dấu mở /* và đóng */ trên 1 hoặc nhiều dòng ◼ Khi trình biên dịch gặp: ◼ //, nó bỏ qua tất cả các ký tự sau // trên dòng đó ◼ /*, nó quét tìm đến */ tiếp sau và bỏ qua mọi ký tự nằm giữa /* và */. 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 50
  51. 1.5 Chương trình java đầu tiên ◼ Statements ◼ Một câu lệnh (statement) đại diện cho một hành động hoặc một chuỗi các hành động. ◼ Câu lệnh System.out.println("Welcome to Java!") là một câu lệnh hiển thị lời chào "Welcome to Java!". ◼ Mọi câu lệnh trong Java kết thúc bởi một dấu chấm phẩy (;). 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 51
  52. 1.5 Chương trình java đầu tiên ◼ Blocks ◼ Một cặp dấu ngoặc nhọn trong một chương trình hình thành một khối nhóm các thành phần của một chương trình. ◼ Vai trò tương tự cặp từ khóa Begin end; trong Pascal public class Welcome { Class block public static void main(String[] args) { System.out.println("Welcome to Java!"); Method block } } 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 52
  53. 1.5 Chương trình java đầu tiên ◼ Classes ◼ Class (lớp) là thiết yếu trong xây dựng cấu trúc Java. Một class là một khuôn mẫu hay bản thiết kế cho các đối tượng. ◼ Để lập trình trong Java, bạn phải hiểu các class và có thể viết, sử dụng chúng. ◼ Những bí ẩn của class sẽ tiếp tục được khám phá dần trong các bài học tiếp theo. ◼ Bây giờ bạn chỉ cần hiểu một chương trình được xác định bằng cách sử dụng một hay nhiều class. 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 53
  54. 1.5 Chương trình java đầu tiên ◼ Methods ◼ System.out.println là gì? Đó là một method (phương thức): một tập các câu lệnh thực hiện một chuỗi các thao tác để hiển thị một thông tin trên màn hình. ◼ Nó thậm chí có thể được sử dụng mà không cần hiểu đầy đủ chi tiết nó làm việc như thế nào. 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 54
  55. 1.5 Chương trình java đầu tiên ◼ main Method ◼ main method cung cấp sự kiểm soát luồng chương trình. Trình biên dịch Java thực hiện ứng dụng bằng cách gọi đến main method. ◼ Mọi chương trình Java phải cómain method, nó là điểm khởi đầu khi thực hiện chương trình. ◼ Dạng thức của main method: public static void main(String[] args) { // Statements; } 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 55
  56. 1.6 Tóm tắt ◼ Java là ngôn ngữ OOP chủ yếu được dùng để phát triển các ứng dụng Internet với các đặc điểm: Simple, OO, Distributed, Robust, Secure, System Structure neutrality, Portability, Interpretive execution, High Performance, Multithreading, Dynamic. ◼ JVM là trái tim của Java. ◼ JDK là bộ công cụ hỗ trợ lập trình. ◼ JDK cung cấp một số công cụ được để trong thư mục BIN khi cài đặt JDK gồm 3 chức năng chính: javac: trình biên dịch, java: JVM, appletviewer. ◼ Tài liệu API của Java rất cần cho người lập trình java vì chứa các tài liệu hướng dẫn về các lớp (class), các gói phần mềm (package), các giao tiếp (interface) 11/06/2021 Bộ Môn CNPM - ĐHBK Hà Nội 56
  57. Trắc nghiệm
  58. Câu 1 Java hỗ trợ những đặc điểm nào sau đây? A) OO B) Độc lập platform C) Bảo mật d➔ D) Tất cả các đặc điểm trên
  59. Câu 2 Source code của java có tên mở rộng là : A) .class b➔ B) .java C) .com D) Tất cả đều sai.
  60. Câu 3 Java source code được trình biên dịch java biên dịch thành: A) Bytecode a➔ B) Executable code C) Machine code D) Tất cả đều sai
  61. Câu 4 Trình nào sẽ chuyển đổi java source code thành file .class A) javac a➔ B) java C) appletviewer D) Tất cả đều sai E) Tất cả đều đúng
  62. Câu 5 Chương trình nào thực thi 1 class file trong JVM A) javac B) java b➔ C) appletviewer D) Tất cả đều sai E) Tất cả đều đúng
  63. Câu 6 Trình nào cho phép ta chạy applet bên ngoài browser A) appletviewer a➔ B) WWW C) java D) Tất cả đều sai E) Tất cả đều đúng
  64. Câu 7 Chọn phát biểu sai. a) Có thể xây dựng một ứng a➔ dụng hướng thủ tục trong Java. b) Không thể xây dựng một ứng dụng hướng thủ tục trong Java
  65. Câu 8 Cơ chế quản lý bộ nhớ của Java gồm 2 heap, static heap và dynamic heap. Chọn các phát biểu sai. a➔ a- Static heap chứa các định nghĩa class + dữ liệu của các đối tượng + code chương trình. b- Static heap chứa các định nghĩa class + code chương trình. c- Dynamic heap chứa các định nghĩa class + dữ c➔ liệu của các đối tượng + code chương trình. d- Dynamic heap chứa các định nghĩa class + d➔ code chương trình.
  66. Câu 9 Chọn các phát biểu đúng. a- Dynamic heap trong Java chứa dữ liệu của đối a➔ tượng. b➔ b- Dynamic heap trong Java chứa thông tin về mối quan hệ giữa đối tượng trong dynamic heap và code trong static heap. c- Dynamic heap trong Java chứa thông tin về mối quan hệ giữa đối tượng và code trong dynamic heap. d- Dynamic heap trong Java chứa thông tin về mối quan hệ giữa đối tượng trong static heap và code trong static heap.
  67. Câu 10 Chọn các phát biểu sai Các đối tượng của Java a) Được cấp phát động nên ta cần chủ a➔ động trả bộ nhớ khi không dùng đến đối tượng nữa. b) Được cấp phát động, ta không cần chủ động trả bộ nhớ khi không dùng đến đối tượng nữa. c) Máy ảo không tự động thu hồi bộ nhớ c➔ đối với những đối tượng không dùng đến đối tượng nữa.
  68. Câu 11 Có thể dùng một trình editor chuẩn bất ký để viết code java. a- Đúng a➔ b- Sai
  69. Câu 12 Cơ chế nào cho phép 1 ứng dụng Java độc lập với platform (chọn 2) a➔ a- Mỗi platform có một trình Java.exe riêng để thông dịch b➔ file.class. b- file.class có cấu trúc độc lập với flatform. c- Mỗi nhà cung cấp hệ điều hành tạo ra các cách riêng để chạy ứng dụng Java
  70. Bài tập Viết chương trình xuất ra màn hình các thông tin sau “Hello! I’m .” “This is my first java program.” “This is common technology today.” “I will work hard to enhance my skill in Java”