Bài giảng Ngôn ngữ Java
Ngôn ngữ lập trình Java - Java Programming Language
Các file class của Java (các file dạng mã bycode)
Thự viện các lớp Java APIs
API, Application Programming Interface
Máy ảo Java - Java Virtual Machine - JVM
Ngôn ngữ JAVA JAVA, giải pháp của Sun Microsystems Cha đẻ của Java PhD. James Gosling CTO of Sun's Developer Products. Kiến trúc của JAVA Ngôn ngữ lập trình Java - Java Programming Language Các file class của Java (các file dạng mã bycode) Thự viện các lớp Java APIs API, Application Programming Interface Máy ảo Java - Java Virtual Machine - JVM Java làm việc như thế nào? Chương trình nguồn (source code) được viết bằng ngôn ngữ Java Các chương trình được biên dịch thành các file dạng lớp (*. class) Các file .class được nạp vào bộ nhớ và thực thi bởi máy ảo Java (JVM) Hello.java Java Compiler Hello.class Run-Time Environment Java Virtual Machine JVM và Java “bytecode” Chương trình Java không biên dịch mã nguồn thành ngôn ngữ máy đích mà biên dịch thành file dạng “bytecode” – file *.class Mỗi HĐH sẽ có thể hiện riêng của máy ảo Java – JVM Mã bytecode làm việc với JVM và JVM làm việc với HĐH Lập trình hướng đối tượng Lập trình hướng đối tượng là kĩ thuật lập trình hỗ trợ công nghệ đối tượng, giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình viên tập trung vào các đối tượng phần mềm ở bậc cao hơn. Giải quyết được những khó khăn của lập trinh hướng cấu trúc OOP tập trung đến bản thân dữ liệu nhiều hơn đến cách thao tác trên các dữ liệu đó. Tiếp cận cách định nghĩa đối tượng như một thực thể có thể xác định được các giá trị và các hành động có thể dùng để thực hiện trên các giá trị đó. Khái niệm và thuật ngữ trong OOP – Lớp (Class) Là khuôn mẫu hay một thiết kế, từ đó các đối tượng thực sự hình thành. (Tất cả code viết trong chương trình Java đều nằm bên trong các class.) Lớp định nghĩa những đặc điểm chính của trạng thái và các hành vi có thể có của các đối tượng. Các class này cũng có thể được xây dựng bằng cách mở rộng hoặc điều chỉnh các class khác Khi nói khởi tạo một đối tượng (construct an object) từ một lớp, có nghĩa là tạo 1 thể hiện (instance) của lớp đó. Khái niệm và thuật ngữ – Object Là thể hiện của 1 lớp. Mỗi đối tượng đều có các hành vi được định nghĩa bằng các phương thức (method) mà chúng có thể thực hiện. Mọi đối tượng đều có chung những trạng thái và những hành vi được định nghĩa trong lớp mà nó được tạo Chương trình Java đầu tiên Viết ứng dụng tính diện tích hình chữ nhật (rectangle). Ứng dụng có một đối tượng – hình chữ nhật Nó là cái gì – Là hình chữ nhật Nó có thể làm được điều gì? – Có thể tính diện tích Để làm việc đó cần những dữ liệu gì? – Chiều dài và chiều rộng Tạo ra 2 lớp Lớp định nghĩa hình chữ nhật với 2 thuộc tính và 1 phương thức Lớp chứa phương thức main để thực thi (báo cho JVM biết bắt đầu chương trình) Rectangle class RectangleDemo Phân tích lớp Rectangle Phân tích lớp RectangleDemo Để thực thi chương trình, trình ứng dụng Java (Java application) bắt buộc phải có 1 lớp mà trong đó định nghĩa phương thức main. Phương thức main() trong lớp public được triệu hồi bởi JVM để bắt đầu thực thi ứng dụng. Tạo đối tượng Đối tượng phải được tạo trước khi được sữ dụng trong chương trình. Khai báo 1 biến để lưu giữ tham chiếu đến đối tượng (đối tượng chỉ có thể được thao tác thông qua tham chiếu) Tạo đối tượng: bằng cách sử dụng toán tử new (ngầm định gọi đến hàm khởi tạo – hàm dựng) Triệu hồi phương thức Sử dụng toán tử dấu chấm (the '.' operator) Cú pháp (Syntax): ‘.’ Việc sử dụng toán tử dấu Triệu hồi (gọi) phương thức (method) Truy xuất đến các dữ liệu thành phần (data member) Được điều khiển bởi mức truy xuất của các thành phần Các thành phần cơ bản 2.1- Chú thích trong java 2.2- Từ khóa của java- Cách đặt tên 2.3- Kiểu cơ bản trong java 2.4- Biến: Gán trị và khởi tạo. 2.5- Toán tử- Operators 2.6- Gói java.lang 2.7- Cấu trúc điều khiển – Phát biểu 2.8- Mảng – Array 2.9- Nhập xuất dữ liệu. 2.10- Tóm tắt dạng trắc nghiệm 2.11- Bài tập Chú thích trong java // Chú thích đến cuối dòng /* Chú thích nhiều dòng …… */ Cách viết chú thích giống C++ Chú thích là công cụ: Giải thích chương trình. Lập tài liệu cho chương trình: Tác gỉa, version, những đặc điểm của chương trình Từ khóa- Cách đặt tên Từ khóa cho các kiểu dữ liệu cơ bản : byte, short, int, long, float, double, char, boolean Từ khóa cho phát biểu lặp: do, while, for, break, continue Từ khóa cho phát biểu rẽ nhánh: if, else, switch, case, default, break Từ khóa đặc tả đặc tính một method: private, public, protected, final, static, abstract, synchronized, volatile.. Literal value: true, false, null Từ khóa liên quan đến method: return, void Từ khoá liên quan đến package: package, import Từ khóa- Cách đặt tên (tt) Từ khóa cho việc quản lý lỗi: try, catch. finally, throw, throws Từ khóa liên quan đến đối tượng: new, extends, implements, class, instanceof, this, super Cách đặt tên (identifier): Bắt đầu bằng ký tự, ký tự gạch dưới (underscore ‘_’ ) hay ký tự ‘$’ Sau đó là các ký tự ký số hay ‘_’, ‘$’ , không dùng các ký tự khác như: khoảng trống, ký hiệu phép toán Tên có tính chất case-sensitive Kiểu dữ liệu cơ bản trong java Thí dụ Dùng các ký tự đặc tả việc buộc phải xem xét trị thuộc 1 kiểu nào đó: i, I, l , L, f, F, d, D nhưng L thường dùng thay cho l vì sợ nhầm với 1. 178 int (default) 45.62 double (default) 178L long 44.21f float 11.19e8 double (default) ‘z’ char , hằng ký tự để trong cặp nháy đơn (single quote character) Biến- Định nghĩa, khởi tạo Biến = Trị có thay đổi theo thời gian 3 đặc điểm của biến: Tên biến, Trị khởi tạo, tầm vực (scope) Scope của biến: khối chương trình mà biến có ý nghĩa (tham khảo được) Cú pháp định nghĩa biến: DataType [[identifier [ = InitValue]],…] ; int count , age1= 21, age2= 2*age1; char ch1=‘z’, ch2; Toán tử- Operators Ký hiệu mô tả phép toán Arithmetic ops: +, -, *, /, %, ++, -- Relational ops : =, >, != Logical ops: && || Bitwise ops: ~, &, |, ^ (xor), >>, >=, > 3 g) 9 >3) ? 5 : -3 Trong java có phát biểu goto hay không ? Mảng là gì ? Mảng in-line là gì ? int a[] = new int { 1,2,3,9,0}; đúng hay sai? System.out.println( 12 & 9); sẽ xuất trị bao nhiêu? Phân tích dòng code: if (5&7>0 && 5|3) System.out(“Hello”) ; int m= System.in.read(); nếu gõ vào phím ‘C’, trị biến m là bao nhiêu? Bài tập Viết các chương trình sau: Xuất bảng cửu chương từ 2 đến 9. Xuất trị bình phương , lập phương từ 1 đến 10. Tạo 1 mảng số int dạng in-line 10 phần tử, xuất mảng này tăng dần. Nhập 1 mảng int các số mang trị là mã của các ký tự nhập từ bàn phím. Xuất mảng này dạng chữ rồi xuất mã của chúng. Xuất 100 số Fibonacci đầu tiên. Dãy Fibonacci : 1,1,2,3,5,8,… 2 số đầu là 1, các số sau bằng tổng 2 số trước nó.
File đính kèm:
- Bài giảng Ngôn ngữ Java.ppt