Bài 3: Cấu trúc chương trình và sử dụng biến trong lập trình Java 9
access_time1/30/2018 12:00:00 AM
+ Ứng dụng Cosole base (Sử dụng cửa sổ câu lệnh để thao tác).
+ Ứng dụng chạy windows
+ Ứng dụng Applets, đây là các chương trình được viết bằng Java nhưng có kích cỡ nhỏ, và có nhúng HTML và chạy trên trình duyệt.
+ Ứng dụng Web, đây là ứng dụng phổ biến ngày nay, ứng dụng Web được phát triển bằng Java chứa các Component như Servlet, Java Server Page, Java Server Face (JSF) ..
+ Các thành phần JavaBean được sử dụng để chia sẻ các chức năng trên nhiều các phân lớp (layer) của ứng dụng.
+ Ứng dụng Enterprise sử dụng các thành phần Enterprise như Enterprise JavaBean (EJB) được thiết kế và sử dụng phân tán.
+ Ngoài ra có thể có một loạt các nền tảng khác hỗ trợ cho các lập trình viên Java phát triển ứng dụng theo mô hình hệ sinh thái phần mềm như Spring.
Các ứng dụng Java có thể được xây dựng và phát triển thông qua các bộ công cụ lập trình như Eclipse, NetBean … Ở đây chúng ta sẽ sử dụng công cụ Eclipse để thực hiện code minh họa.
2. Cấu trúc của ứng dụng Java. 2.1 Mô tả chung
Ngôn ngữ lập trình Java được thiết kế với các đặc tính soay quanh đặc trưng hướng đối tượng. Đó chính là việc xoay quanh việc thiết kế các lớp (Class) và việc tạo các đối tượng (Object) là thể hiện của lớp. Việc này cũng tương tự giống như các nhà thiết kế ứng dụng sử dụng ngôn ngữ mô hình hóa (UML) hay ngôn ngữ mô hình hóa hệ thống (SyML) để đặc tả phần mềm.
Phát triển ứng dụng Java sẽ được khởi đầu bằng việc định nghĩa các lớp, Sau khi định nghĩa các lớp xong, định dạng của tệp lưu trữ các lớp sẽ có đuôi mở rộng là .java.
Hình số 1 : Mô tả cấu trúc cơ bản của lớp Java
+ package : Một package (gói) mô tả không gian tên có chứa các lớp của Java, sử dụng ký tự thường và dấu chấm để định nghĩa tên, chúng ta có thể xem package như là một thư mục, còn class chính là các file trực thuộc thư mục.
+ import : Từ khóa được sử dụng trong Java nhằm để xác định các class hoặc các package được sử dụng trong lớp này.
+ class : Từ khóa nhằm để định nghĩa lớp của Java. Nó đứng trước khai báo tên lớp của Java. Ngoài ra còn có từ khóa public, từ khóa này xác định phạm vi truy cập của lớp. Đặc tính này chính là tính đóng gói trong lập trình hướng đối tượng.
+ methods : Phương thức hay còn gọi là hàm chứa các hành động thực thi của đối tượng. Đương nhiên nội dung của phương thức chính là các đoạn mã thực thi của chính phương thức này.
+ constructors : Phương thức khởi tạo (Hay hàm khởi tạo) của đối tượng. Hình dạng của đối tượng được thể hiện ra sao sẽ phụ thuộc vào phương thức này.
2.2 Ví dụ Hình số 2 : Ví dụ minh họa
+ ecosoftware.training : Tên gói chứa lớp
+ Welcome : Tên lớp
+ main() : Phương thức bắt đầu chạy, chú ý một lớp có chứa nhiều phương thức. Tuy nhiên phương thức main() gọi tự động khi ứng dụng chạy.
2.3 Biên dịch và thông dịch chương trình
Do chúng ta sử dụng bộ công cụ hỗ trợ phát triển ứng dụng Java là Eclipse do vậy các bạn chỉ cần thực hiện chạy ứng dụng. Khi đó công cụ Eclipse sẽ tự động thực hiện biên dịch ra mã Bytecode và thông dịch ra mã máy để thực thi ứng dụng.
Tuy nhiên chi tiết của vấn đề này được mô tả như sau :
Hình số 3 : Hình ảnh biên dịch và thông dịch
Trong đó javac và java là công cụ thực hiện biên dịch và thông dịch trực thuộc Jdk 9.
Các bạn có thể tìm hiểu thêm thông tin về công cụ javac và java bằng cách sử dụng của sổ dòng lệnh và thực hiện các câu lệnh sau :
hoặc câu lệnh javac -help java -help sau đó đọc các chú giải về các tham biến truyền vào khi thực hiện các lệnh biên dịch và thông dịch chương trình java.
Hình ảnh mô tả quá trình biên dịch và chạy chương trình Java.
Hình số 4 : Mô tả chạy chương trình 3. Biến và các kiểu dữ liệu
Tất cả chương trình ứng dụng đều phải thao tác với dữ liệu theo nhiều cách khác nhau. Lập trình viên Java cần phải hiểu được cách thức lưu trữ và xử lý dữ liệu trong chương trình mà lập trình viên đó muốn xây dựng và phát triển.
Khi chương trình cần lưu trư dữ liệu tạm thời để phục vụ cho quá trình xử lý tính toán thì chúng ta nghĩ ngay tới việc lưu trữ dữ liệu đó vào trong một biến. Trước khi sử dụng biến thì phải định nghĩa nó. Khi định nghĩa biến thì chúng ta phải định nghĩa tên biến và kiểu dữ liệu của biến.
3.1 Định nghĩa
Một biến là một thực thể chứa giá trị, giá trị này có thể được thay đổi trong chương trình hoặc trong một khối lệnh chứa nó. Ví dụ dùng biến để lưu trữ thông tin của tuổi của một sinh viên, hay mức lương của một nhân viên trong công ty.
Tương tự như các ngôn ngữ lập trình khác như C, C++, C# … Thông tin của biến sẽ được lưu trữ trong bộ nhớ máy tính và được định danh thông qua tên biến, tên biến được xác định là duy nhất trong phạm vi khai báo biến. Giá trị của biến sẽ được xác định thông qua tên biến, kích cỡ của bộ nhớ cấp phát cho biến đó là phụ thuộc vào kiểu dữ liệu của biến.
3.2 Sử dụng biến
Trong Java, bộ nhớ được khởi tạo và cấp phát cho biến tại thời điểm biến đó được tạo. Lập trình viên có thể khởi tạo giá trị của biến tại thời điểm tạo biến hoặc muộn hơn.int empNumber = 100; Khai báo một biến có tên là empNumber, giá trị của biến này được thiết lập tại lúc khởi tạo biến. Hình ảnh mô tả biến :
Hình số 5 : Mô tả biến
Cú pháp khai báo biến trong Java như sau :
: Tên của biến; Chú ý tên của biến cần phải tuân thủ theo quy tắc đặt tên biến của Java.
Quy tắc gán giá trị : Giá trị của biến có thể được gán tại lúc khởi tạo biến hoặc sau đó đều được. Cũng như các ngôn ngữ khác để gán giá trị của biến ta sử dụng dấu “=”;
+ Tên của biến chỉ sử dụng các kỹ tự trong bảng chữ cái (a..z A..Z), các ký tự số (0..9) và các dấu gạch dưới, không sử dụng ký tự đặc biệt
+ Ký tự đầu tiên của tên biến chỉ được phép sử dụng ký tự hoặc dấu gạch dưới.
+ Không được phép sử dụng các từ khóa trong ngôn ngữ lập trình Java để đặt tên cho biến.
+ Java phân biệt chữ hoa và chữ thường vì vậy khi đặt tên biến cần lưu ý điều này.
Hình số 6 : Khai báo biến
+ Đoạn mã trên gán giá trị 5 cho biến a.
+ Đoạn mã trên gán giá trị 7 cho biến b.
+ Sau đó tính tổng a + b cho biến c; và in thông tin của biến c ra màn hình.
4 Kiểu dữ liệu
Java hỗ trợ hỗ trợ cả 2 kiểu dữ liệu bao gồm:
+ Kiểu dữ liệu nguyên thủy (primitive-type)
+ Kiểu tham chiếu ( Reference-types)
Kiểu dữ liệu nguyên thủy hay cơ bản: Kiểu dữ liệu này bao gồm :
Hình số 7 : Kiểu dữ liệu nguyên thủy
Kiểu tham chiếu (Reference types): Chứa tham chiếu tới dữ liệu điều này có nghĩa là biến có kiểu tham chiếu sẽ trỏ tới địa chỉ chứa dữ liệu mà dữ liệu của biến đó chứa. Vì vậy có khả năng với một địa chỉ có thể có 2 biến tham chiếu cùng trỏ tới. Vì vậy khi thao tác trên một biến có thể sẽ ảnh hưởng tới biến kia.
Hình số 8 : Kiểu dữ liệu tham chiếu
Chi tiết về kích cỡ của các kiểu dữ liệu các bạn có thể tìm hiểu thêm trên internet.