Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 114 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
114
Dung lượng
1,04 MB
Nội dung
AptechVietnam 1/114 Chương 1: Giới thiệu về Java Mục tiêu bài học Kết thúc bài học này, học viên có thể: Tìm hiểu các thực thể trong thế giới thực như là các đốitượng Định nghĩa một đốitượng phần mềm Tìm hiểu và giải thích cấu trúc của một lớp So sánh các lớp và các đốitượng Tìm hiểu tầm quan trọng của Java Tìm hiểu bộ JDK và các công cụ của nó Tìm hiểu về máy ảo Java-Java Virtual Machine (JVM) 1.1 Giới thiệu về lớp và đốitượng Các đốitượng (object) và các lớp (class) là nền tảng để xây dựng Java. Lớp là một khuôn mẫu, bao gồm một tập các đốitượng có tính chất tượng tự nhau. Lớp mô tả tất cả các thuộc tính của một tập các đốitượng cụ thể. 1.1.1 Các thực thể trong thế giới thực như là các đốitượngĐốitượng là khái niệm dùng để mô tả các thực thể trong thế giới thực. Ví dụ các đốitượng có thể nhainf thấy quanh ta như: Chó - Dogs, Ô tô - Cars, bông hoa - Flowers, ngôi nhà – Houses, … Bất kỳ một thực thể hữu hình hoặc có thể sờ mó được nào đó, đều có thể xem như như một đốitượngtrong thế giới thực. Mỗi đốitượng có các thuộc tính hoặc tính chất nhằm mô tả nó là cái gì. Ví dụ, các thuộc tính của đốitượng Dog là: Giống Màu lông Tuổi Ngoài ra, một đốitượng có thể thực hiện các hành động. Chẳng hạn, các hành động của Dog có thể thực hiện là: Sủa Ăn Learn Java by Example 2/114 AptechVietnam Chạy Như vậy, hai yếu tố quan trọng nhất của đốitượngtrong thế giới thực là: thuộc tính (Attribute) và hành động (Action). Nhờ đó, đốitượng có thể được định nghĩa như một thực thể tồn tại, có các thuộc tính và hành động hoàn toàn xác định. Tương tự như vậy, trong phạm vi của công nghệ phần mềm, các đốitượng cũng được mô tả dựa theo trạng thái và hành vi của nó. Trạng thái của một đốitượng phần mềm được định nghĩa bởi các thuộc tính của nó. Các hoạt động của một đốitượng phần mềm được định nghĩa như là các hành vi của nó. Hãy xem xét một đốitượngtrong thế giới thực, chẳng hạn Dog, một con chó. Nếu đốitượng này được ánh xạ đến một đốitượng phần mềm, trạng thái của nó có thể là màu lông, giống và tuổi. Hành vi của đốitượng Dog có thể là sủa, ăn, chạy, … Vì vậy, một đốitượng phần mềm là một thực thể bao gồm các trạng thái (thuộc tính) và hành vi (hành động). Nó lưu giữ các trạng thái của nó trong các trường, được gọi là các biến trong ngôn ngữ lập trình. Còn các hành vi được xem như là các phương thức, giống như các hàm trong ngôn ngữ lập trình. Một phương thức là một chuỗi các câu lệnh được đặt tên nhằm thực hiện các tác vụ cụ thể nào đó. Tham khảo hình 1.1, đây là ví dụ về đốitượng „Cashier‟ (Thủ quỹ) Hình 1.1: Đốitượng „Cashier‟ và đốitượng „Customer‟ Các thuộc tính của đốitượng „Cashier‟ là: Tên Chức vụ Tuổi Một đốitượng thực thi một số hành động. Các hành động của đốitượng ‟Cashier‟ là: Chương 1 Giới thiệu về Java 3/114 Thu tiền từ khách hàng In hoá đơn Sự thuận lợi khi sử dụng đốitượng là: Nó giúp chúng ta hiểu hơn về thế giới thực Nó ánh xạ các thuộc tính và các hành động của các đốitượngtrong thế giới thực thành trạng thái và hành vi của các đốitượng phần mềm. 1.1.2 Class (Lớp) Như đề cập ở trên, Dog là một ví dụ về một đốitượngtrong thế giới thực. Tuy nhiên, trong thế giới thực có nhiều loại động vật khác như mèo, cừu, cọp, …Vì vậy, Dog chỉ là một thể hiện của lớp động vật. Các thuộc tính và hành động chung của một số đốitượng được nhóm lại thành một đơn vị. Đơn vị này có thể được dùng để tạo ra một đại diện của loại tương ứng, gọi là lớp. Mỗi một lớp mô tả một tập các đốitượng riêng lẻ. Một lớp là một khuôn mẫu hoặc bản thiết kế định nghĩa đặc điểm chính của trạng thái và hành vi cho tất cả các đốitượng thuộc về lớp. Tất cả các thể hiện của lớp, được gọi là đối tượng, sẽ có chung các trạng thái và hành vi. Tuy nhiên, các thuộc tính và hành động có thể được gán chỉ sau khi một đốitượng được tạo ra. Khi đốitượng được tạo ra ta mới có một đại diện thật sự của thực thể. Vì vậy, lớp là một mô hình khái niệm của thực thể. Nó mô tả các thuộc tính và hành động chung chứ không riêng cho một đốitượng cụ thể nào. Ví dụ, xem xét một lớp có tên Animal (Động vật) như trong bảng 1.1. Lớp chứa các thuộc tính (trạng thái) và hành động (hành vi) của động vật. Class Animal Type Animal Name Color Motion Breathing Eating Bảng 1.1: Mô tả lớp Animal Lớp này có trạng thái „Type‟, „Animal Name‟ và „Color‟. Trong đó, Type - Mô tả loài động vật. Animal name - Tên loại động vật, chẳng hạn cừu, cọp, ếch, … Learn Java by Example 4/114 AptechVietnam Color - Mô tả màu da/ lông của loài đó „Motion‟ (Di chuyển), „Breathing‟ (Thở) và „Eating‟ (Ăn) là các hành vi của lớp Animal. 1.1.3 So sánh giữa lớp (class) và đốitượng (object) Có sự khác biệt giữa một lớp và một đối tượng. Một lớp mô tả một thực thể, trong khi một đốitượng là một thực thể thật sự. Đốitượng là vật thật, trong khi lớp là một mô hình khái niệm định nghĩa tất cả các trạng thái và hành vi cần thiết của một đối tượng. Một lớp là một nguyên mẫu (prototype) của một đối tượng. Nó định rõ các hành động và các tính chất cần thiết cho một loại đốitượng cụ thể. Bảng 1.2 là ví dụ về lớp và đối tượng. Class (Lớp) Object (Đối tượng) Animal Cat Dog Car Honda City Benz Bảng 1.2: Ví dụ về lớp và đốitượng Lớp không thay đổi, trong khi dữ liệu chứa trong một đốitượng có thể thay đổi. Các thuộc tính của lớp được thiết lậptrong suốt thời gian chay chương trình, không thể thêm bớt thuộc tính trong lúc chương trình đang chạy. Khi một đốitượng được tạo từ một lớp, nó sẽ là một thành phần của lớp đó cho đến khi bị huỷ bỏ. Sự tồn tại của đốitượng có hạn chế, đốitượng sẽ được tạo ra và hủy bỏ theo đúng trình tự. Mỗi đốitượng được gọi là một thể hiện của một lớp. Trong ví dụ bên dưới, Employee là một lớp, còn các đốitượng là: Cashier, System Administrator, Stock Manager, Salesman, Purchase Manager. Chương 1 Giới thiệu về Java 5/114 Hình 1.2: Các đốitượng và lớp. 1.2 Giới thiệu về Java Vào năm 1995, hãng Sun Microsystem giới thiệu một ngôn ngữ lậptrình mới là Java. Cho đến giờ, từ “Java” chỉ có nghĩa là tên một hòn đảo ở Indonesia hoặc một kiểu cách pha café nào đó. 1.2.1 Sự cần thiết của JavaJava là một ngôn ngữ dành cho các nhà lậptrình chuyên nghiệp. Java được xây dựng trên cơ sở ngôn ngữ lậptrình C và C++. Nó kế thừa cú pháp của C và các nét đặc trưng của C++. Một nhóm kỹ sư của hãng Sun Microsystem cần thiết kế một ngôn ngữ cho các thiết bị điện tử như tivi, máy giặt, …Vì vậy, mục đích cơ bản là phát triển ngôn ngữ để tạo ra phần mềm có thể nhúng trong các thiết bị điện tử. Trong ngôn ngữ C và C++ trình biên dịch phụ thuộc vào loại CPU riêng biệt. Các trình biên dịch rất đắt và mất nhiều thời gian để tạo ra. Do đó, không thể có trình biên dịch cho mọi loại CPU. Và yêu cầu là cần có cách dễ dàng và hiệu quả để tạo ra các trình biên dịch. Ngoài ra, phần mềm phải nhỏ, nhanh, hiệu quả và độc lập nền tảng, nghĩa là mã chương trình có thể thực hiện trên nhiều CPU khác nhau dưới các môi trường khác nhau. Trong nỗ lực tạo ra một ngôn ngữ độc lập nền tảng và khả chuyển, James Gosling và nhóm cộng sự đi tiên phong Learn Java by Example 6/114 AptechVietnam trong vấn đề này. Kết quả là sự ra đời của ngôn ngữ Java. Đầu tiên nó được gọi là “Oak”, sau đó được đổi tên thành Java. Ngày nay, Java đã có những bước phát triển hết sức thành công và được chấp nhận bởi hàng triệu lậptrình viên trên toàn thế giới. Java là một ngôn ngữ lậptrình phổ dụng, được dùng để viết các chương trình có thể chạy được trên Internet. Nét đặc trưng chính của Java là ngôn ngữ hướngđốitượng và độc lập nền tảng. Độc lập nền tảng có nghĩa là chương trình có thể chạy trên nhiều nền tảng khác nhau như: Microsoft Windows, Apple Macintosh, Linux, …Java không những được dùng cho các ứng dụng độc lập, các chương trình trên mạng, mà còn được dùng trong các thiết bị tiêu dùng như: điện thoại, các thiết bị cầm tay, … 1.2.2 Các đặc trưng của ngôn ngữ Java Hướngđốitượng (Object-oriented) Java là một ngôn ngữ hướngđối tượng. TrongJava không có các hằng, biến hoặc hàm độc lập. Nghĩa là tất cả đều là một phần của đối tượng. Các hằng, biến và hàm được truy nhập thông qua các lớp và các đối tượng. Các ngôn ngữ hướngđốitượng lai ghép khác như C++, có đặc điểm của ngôn ngữ cấu trúc cộng thêm sự mở rộng đối tượng. Ví dụ, C++ là một ngôn ngữ hướngđối tượng, nhưng lậptrình theo hướng cấu trúc, phương thức main() nằm ngoài bất kỳ lớp và đốitượng nào. Java thì không cho phép cách khai báo này. Trong Java, phương thức main() chỉ được khai báo bên trong một lớp. Độc lập nền tảng (Platform independent) Java là một nền tảng để phát triển ứng dụng. Nó có thể được dùng như một ngôn ngữ. Nền tảng ở đây là sự kết hợp giữa phần cứng và phần mềm hệ thống mà hầu hết các phần mềm đều chạy được. Ví dụ, bộ xử lý Intel chạy trên nền Windows XP là một nền tảng. Độc lập nền tảng nói đến khả năng của chương trình di chuyển từ một nền tảng này sang một nền tảng khác không có bất kỳ một khó khăn nào. Độc lập nền tảng trongJava ở mức mã nguồn và mã bytecode (mã trung gian). Java là một ngôn ngữ định kiểu mạnh mẽ, nghĩa là phải cần khai báo kiểu dữ liệu cho mọi biến. Kiểu dữ liệu trongJava là đồng nhất trong tất cả các nền tảng phát triển. Java có các lớp thư viện cơ sở. Điều này cho phép các lậptrình viên có thể di chuyển mã từ nền tảng này đến một nền tảng khác mà không cần viết lại mã. Chương 1 Giới thiệu về Java 7/114 Nói tóm lại, độc lập nền tảng ở mức mã nguồn cho phép di chuyển mã nguồn từ một hệ thống này sang một hệ thống khác, biên dịch và thực hiện êm xuôi trên mọi hệ thống. Sử dụng mã bytecode, Java đã giải quyết vấn đề độc lập nền tảng. Không giống như trình biên dịch của C, trình biên dịch Java đưa ra một định dạng đặc biệt, đó là bytecode, giống nhau trên mọi nền tảng. Các chương trìnhJava được biên dịch thành bytecode vẫn cần một trình thông dịch để thực thi nó trên bất kỳ một nền tảng đã định sẵn nào. Công việc của trình thông dịch là đọc mã bytecode và chuyển nó thành ngôn ngữ máy. Để chạy Java trên một máy tính hoặc một hệ điều hành mới, chỉ cần trình thông dịch và một vài gói thư viện cần thiết. Bởi vì bytecode là độc lập nền tảng. Mạnh mẽ Java là ngôn ngữ định kiểu mạnh mẽ. Nó được thiết kế để viết các phần mềm có độ tin cậy cao và mạnh. Tuy nhiên, nó yêu cầu phải khai báo các phương thức một cách rõ ràng. Java kiểm tra lỗi cú pháp tại thời điểm biên dịch, và tại thời điểm thông dịch. Vì vậy, nó chắc chắn loại bỏ một số lỗi tronglập trình. Java không có con trỏ và phép tính con trỏ. Nó kiểm tra tất cả truy nhập đến mảng và chuỗi tại thời điểm chạy chương trình. Ngoài ra nó còn kiểm tra sự chuyển kiểu của đốitượng từ kiểu này đến kiểu khác tại thời điểm chạy chương trình. Trong các môi trường lậptrình truyền thống, lậptrình viên phải tự cấp phát bộ nhớ. Kết thúc chương trình, lậptrình viên phải giải phóng vùng bộ nhớ này. Các sự cố sẽ nảy sinh khi lậptrình viên quên giải phóng bộ nhớ. Trong Java, lậptrình viên không cần quan tâm đến việc giải phóng bộ nhớ. Nó được thực hiện tự động bởi bộ thu gom rác (garbage collection). An toàn (Secure) Virus máy tính là nguyên nhân gây ra sự lo lắng trong việc sử dụng máy tính. Trước khi có Java, các lậptrình viên phải quét virus các tập tin trước khi tải về và thực hiện chúng. Thông thường việc này cũng không loại trừ hoàn toàn virus. Ngoài ra, chương trình khi thực thi có khả năng tìm kiếm và đọc các thông tin nhạy cảm trên máy của người sử dụng mà người sử dụng không hề hay biết. Java cung cấp một môi trường quản lý việc thực thi chương trình. Nó cho rằng không có một đoạn mã nào là an toàn cả. Vì thế, Java không chỉ là ngôn ngữ lập Learn Java by Example 8/114 AptechVietnam trình thuần tuý mà còn cung cấp nhiều mức để kiểm soát tính an toàn khi thực thi chương trình. Ở mức đầu tiên, dữ liệu và các phương thức được truy nhập thông qua các interface (giao tiếp) do lớp cung cấp. Java không hỗ trợ các phép toán con trỏ. Do đó, nó không cho phép truy nhập trực tiếp đến các vùng nhớ và cung cấp cơ chế thu gom rác giúp thu hồi bộ nhớ không sử dụng. Các đặc trưng này giúp Javaan toàn tối đa và có khả năng khả chuyển cao. Trong mức thứ hai, trình biên dịch kiểm soát để đảm bảo mã là an toàn, và tuân theo các nguyên tắc của Java. Mức thứ ba, được đảm bảo bởi trình thông dịch. Chúng kiểm tra xem bytecode phải đảm bảo các qui tắc an toàn trước khi thực thi. Mức thứ tư, kiểm soát việc nạp các lớp vào bộ nhớ để giám sát việc vi phạm giới hạn truy xuất trước khi nạp vào hệ thống. Phân tán (Distributed) Java có thể được dùng để phát triển các ứng dụng trên nhiều nền tảng, hệ điều hành và nhiều giao tiếp người dùng đồ hoạ. Java được thiết kế để hỗ trợ các ứng dụng trên mạng. Do đó, Java được dùng như là một công cụ phát triển trên môi trường Internet. Đa luồng (Multithreaded) Đa luồng là yếu tố cần thiết cho một ngôn ngữ như Java. Một ứng dụng thực hiện một tác vụ trong khi đang chờ người dùng nhập liệu. Trong một ứng dụng đồ hoạ trên mạng như một trình duyệt web, thường có rất nhiều tác vụ xảy ra tại một thời điểm. Java cung cấp hỗ trợ cho xử lý gọi là “multithreading” để thực hiện nhiều tác vụ đồng thời. Java cung cấp cơ chế đồng bộ nhiều xử lý. Cơ chế này cũng hỗ trợ cho luồng (thread) giúp các ứng dụng tương tác trên mạng chạy êm xuôi. Động (Dynamic) Java được thiết kế như một ngôn ngữ động để đáp ứng cho những môi trường mở. Mã nguồn Java được lưu trữ trong tập tin có dạng .java. Trình biên dịch sẽ biên dịch chúng thành bytecode chứa trong tập tin .class. Mỗi tập tin .java thường được biên dịch thành một tập tin .class. Đầu tiên trình biên dịch kiểm tra đường dẫn trên thư mục hiện hành và các thư mục khác được xác định trong biến môi trường CLASSPATH. Điều này cần thiết giúp xác định các lớp khác được tham chiếu trong tập tin nguồn. Ví dụ, nếu tập tin được biên dịch phụ thuộc vào các tập tin không được biên dịch khác, trình biên dịch sẽ cố tìm và biên dịch chúng. Trình biên dịch có thể điều khiển sự phụ thuộc vòng tròn cũng như các phương thức được sử dụng trước khi được khai báo. Nó cũng xác định tập tin nguồn có thay đổi so với lần biên dịch cuối cùng hay không. Vì vậy, trình biên dịch khá thông minh. Chương 1 Giới thiệu về Java 9/114 Kiến trúc trung lập (Architecture-neutral) Công nghệ Java được thiết kế để hỗ trợ các ứng dụng sẽ được triển khai trong các môi trường không đồng nhất trên mạng. Trong các môi trường như vậy, các ứng dụng phải có khả năng thực thi tốt trên nhiều kiến trúc phần cứng. Các chương trìnhJava được biên dịch thành một định dạng bytecode không phụ thuộc kiến trúc có thể thực thi trên nhiều nền tảng phần cứng và phần mềm. Vì vậy, vấn đề phân phối nhị phân và phiên bản được giải quyết bởi bản chất thông dịch của công nghệ Java. Các chương trìnhJava chạy trên bất kỳ hệ thống nào có hỗ trợ máy ảo Java. Điều này không những hữu ích trên mạng mà còn có ích trên các hệ thống phân tán. Khả chuyển (Portable) Khả chuyển là hệ quả của kiến trúc trung lập. Công nghệ Java có được khả năng khả chuyển là nhờ vào định nghĩa chặt chẽ của ngôn ngữ. Nó chỉ rõ kích thước của các kiểu dữ liệu cơ bản để loại trừ sự phụ thuộc cài đặt và hành vi của các toán tử số học. Hệ thống Java bản thân là khả chuyển. Trình biên dịch Java được viết bằng Java, trong khi hệ thống thực thi Java được viết bằng ANSI C với ranh giới khả chuyển rõ ràng. Hiệu suất cao (high performance) Hiệu suất luôn được cân nhắc. So với các ngôn ngữ kịch bản thông dịch mức cao, Java có hiệu suất cao nhất. Bộ thu gom rác tự động thực hiện như luồng ngầm bên dưới, có độ ưu tiên thấp nhất, đảm bảo khả năng khả chuyển cao nhất. Sun khẳng định khả năng thực thi của bytecode chuyển thành mã máy tốt gần như C hoặc C++. 1.3 Giới thiệu JDK Sun Microsystems cung cấp ngôn ngữ Javatrong sản phẩm gọi là Java Development Kit (JDK). JDK bao gồm các công cụ phát triển, môi trường thực thi (Java Runtime Environment hay JRE), các thư viện, các chương trình demo và mã nguồn. Một số công cụ nằm trong JDK dùng phát triển các ứng dụng Java được mô tả dưới đây: Trình biên dịch Java, „Javac‟ Trình biên dịch dịch mã nguồn Java thành tập tin class. Trình biên dịch javac được dùng để biên dịch các tập tin mã nguồn Java thành bytecode. Mã nguồn Java có thể được tạo ra bằng bất kỳ trình soạn thảo văn bản nào, chẳng hạn Notepad Cú pháp: Javac [option] source Learn Java by Example 10/114 AptechVietnam Trong đó, source - 1 hoặc nhiều tên tập tin có phần mở rộng là .java option - Các tuỳ chọn dòng lệnh Ví dụ, Javac FirstProgram.java Câu lệnh này sẽ tạo ra một tập tin có tên „FirstProgram.class‟. Tập tin class này sẽ chạy trên máy ảo Java (JVM). Một vài tuỳ chọn của câu lệnh javac được mô tả trong bảng 1.3 Tùy chọn (Option) Mô tả -classpath Xác định rõ vị trí chứa các lớp được tham chiếu trong mã nguồn (được lưu trong biến môi trường CLASSPATH) -d Xác định thư mục đích chứa các tập tin .class -g In tất cả các thông tin gỡ lỗi thay cho số dòng và tên tập tin mặc định. -verbose Hiển thị các thông tin đầu ra mỗi lần lớp được nạp và tập tin nguồn được biên dịch. -version Hiển thị thông tin về phiên bản -sourcepath Cho biết vị trí lớp -help Hiển thị các tuỳ chọn chuẩn Bảng 1.3: Các tuỳ chọn của trình biên dịch Javac Xem xét ví dụ sau sử dụng tuỳ chọn –d: javac –d c:\FirstProgram.java Câu lệnh này sẽ biên dịch và lưu tập tin „FirstProgram.class‟ trong ổ đĩa C. Trình thông dịch Java, „Java‟ Trình thông dịch Java được sử dụng để thực thi mã bytecode. Nó lấy đối số là tên tập tin .class để thực thi hoặc tên tập tin lưu trữ Java gọi là jar. Cú pháp: [...]... biên dịch -version Hiển thị thông tin về phiên bản và thoát -jar Sử dụng tên tập tin JAR thay cho tập tin class -help Hiển thị thông tin trợ giúp về lệnh Java và thoát -X Hiển thị thông tin và các tùy chọn phi chuẩn và thoát -v hoặc Bảng 1.4: Các tuỳ chọn của trình thông dịch Java 1.4 Máy ảo Java (Java Virtual Machine - JVM) Máy ảo Java là trái tim của ngôn ngữ lập trìnhJava Môi trường Java bao gồm... thực thể, trong khi đó một đốitượng là một thực thể thực sự Java là một ngôn ngữ thông dịch và biên dịch Các tính năng của Java: o Hướng đốitượng o Độc lập nền tảng o Mạnh mẽ o An toàn o Phân tán o Đa luồng o Động o Kiến trúc trung lập o Khả chuyển o Hiệu suất cao Sun Microsystems giới thiệu ngôn ngữ Java như là một sản phẩm dưới tên gọi Java Development Kit (JDK) Bên trong máy ảo, Java tạo... giá trị 2.4.1 Loại toán tử Java cung cấp các loại toán tử khác nhau như sau: Toán tử số học Các toán tử số học được dùng trong các biểu thức toán học Các toán hạng của các toán tử số học phải ở dạng số Các toán hạng kiểu boolean không sử dụng được, song các toán hạng ký tự cho phép sử dụng với loại toán tử này Toán tử quan hệ Các toán tử quan hệ kiểm tra mối quan hệ giữa hai toán hạng Kết quả của... biểu thức có dùng các toán tử quan hệ là những giá trị boolean, true (đúng) hoặc false (sai) Toán tử logic Các toán tử logic làm việc với các toán hạng boolean Toán tử gán Toán tử gán là một dấu bằng, =, dùng để gán giá trị cho một biến Có thể gán giá trị cho một hoặc nhiều biến kế tiếp nhau Nghĩa là, có thể sử dụng một dãy các phép gán Toán tử thao tác bit (bitwise) Một toán tử bitwise cho phép... 0) bởi vì nó được kết hợp với if gần nhất trong cùng khối lệnh 3.1.2 Lệnh Switch-case lồng nhau Cấu trúc switch-case có thể được sử dụng thay thế cho cấu trúc if-else-if khi có nhiều if-else lồng nhau Sử dụng switch-case khiến khả năng thực thi của chương trình tốt hơn Tương tự như if-else, switch-case có thể sử dụng lồng trong một switch-case khác Do switch-case định nghĩa các khối lệnh riêng, nên... kiểu dữ liệu tham chiếu Trong Java, các đốitượng và các mảng là các biến tham chiếu Khi một đốitượng hoặc một mảng được tạo, một vùng nhớ nhất định được gán cho nó và địa chỉ của vùng nhớ này được lưu trữ trong biến tham chiếu Nói cách khác, kiểu dữ liệu tham chiếu là địa chỉ của một đốitượng hoặc một mảng được tạo ra trong bộ nhớ 20/114 AptechVietnam Chương 2 Biến và toán tử 2.3 Định dạng nhập... các ký tự đặc biệt được biểu diễn kết hợp với dấu \ Java cung cấp nhiều loại toán tử, đó là Toán tử bit Toán tử quan hệ Toán tử logic Toán tử điều kiện 32/114 Toán tử số học Toán tử gán AptechVietnam Chương 3: Lệnh rẽ nhánh và vòng lặp Mục đích Cuối chương này, học viên có thể nắm được: Các cấu trúc rẽ nhánh if Cấu trúc switch-case Cấu trúc vòng lặp while, do while, for và vòng...Chương 1 Giới thiệu về Javajava [option] classname [arguments] Trong đó, option - Các tuỳ chọn dòng lệnh classname - Tên tập tin class được dùng arguments -Đối số được truyền vào cho hàm main Ví dụ, Java FirstProgram Một vài tuỳ chọn của câu lệnh Java được mô tả trong bảng 1.4 Tùy chọn -classpath Mô tả Xác định rõ vị trí chứa các lớp cần (được lưu trong biến môi trường CLASSPATH) –verbose... thể chứa trong một khuôn dạng cô đọng hơn Có thể chuyển đổi kiểu sang dạng khác phù hợp với việc tính toán hơn vì không thể tính toán với kiểu dữ liệu trước đó, chẳng hạn như là chia các số với độ chính xác cao hơn Trong ngôn ngữ lập trìnhhướngđối tượng, chuyển đổi kiểu cho phép chương trình xem đối tượng của một kiểu như là kiểu tiền bối của chúng để làm đơn giản việc tương tác với chúng Có 2 loại... tham chiếu đốitượng để kiểm tra một đối tượng có thuộc một kiểu xác định hay không Dạng tổng quát của toán tử instanceof là: object instanceof type Ở đây, đốitượng là thể hiện của một lớp, và có kiểu là kiểu của lớp Nếu đốitượng thuộc về một kiểu xác định hoặc có thể ép kiểu thành kiểu xác định, thì toán tử instanceof trả lại giá trị true, ngược lại thì false Đoạn mã 8 minh hoạ cách dùng toán tử này . các đối tượng. Các ngôn ngữ hướng đối tượng lai ghép khác như C++, có đặc điểm của ngôn ngữ cấu trúc cộng thêm sự mở rộng đối tượng. Ví dụ, C++ là một ngôn ngữ hướng đối tượng, nhưng lập trình. một đối tượng phần mềm được định nghĩa như là các hành vi của nó. Hãy xem xét một đối tượng trong thế giới thực, chẳng hạn Dog, một con chó. Nếu đối tượng này được ánh xạ đến một đối tượng. ví dụ về đối tượng „Cashier‟ (Thủ quỹ) Hình 1.1: Đối tượng „Cashier‟ và đối tượng „Customer‟ Các thuộc tính của đối tượng „Cashier‟ là: Tên Chức vụ Tuổi Một đối tượng thực