Cú pháp Java cơ bản

Một chương trình Java có thể được định nghĩa như là tập hợp các đối tượng, giao tiếp thông qua việc gọi các thủ tục của nhau. Giờ chúng ta sẽ nhìn vào lớp, đối tượng, thủ tục và biến thực thể (instance variable) để xem xét ý nghĩa của chúng.

- Đối tượng: Đối tượng có trạng thái và hành vi. Ví dụ: Một bông hoa có các trạng thái như: tên, màu sắc, mùi hương; có hành vi: nở, tàn. Một đối tượng là một thể hiện của lớp.

- Lớp: Một lớp có thể được định nghĩa như một khuôn mẫu/thiết kế chi tiết, mô tả hành vi/trạng thái mà đối tượng của nó hỗ trợ.

- Thủ tục (hay phương thức - method): Một thủ tục về cơ bản là một hành vi. Nó là nơi mà logic được viết, dữ liệu được thao tác và tất cả các hành động được thực hiện.

- Các biến thực thể: Mỗi đối tượng có một tập hợp các biến thực thể duy nhất. Trạng thái của đối tượng được tạo bởi các giá trị được gán cho những biến này.

Bạn có thể gặp các khái niệm trên trong những ngôn ngữ lập trình hướng đối tượng quen thuộc như C++, Python, PHP. Và trong phạm vi của Java, mình sẽ chỉ nói về chúng trong ngôn ngữ Java. Dưới đây, là sự khác biệt giữa lớp và đối tượng trong Java.

STTĐối tượngLớp
1.Đối tượng là thể hiện của 1 lớp.Lớp là một khuôn mẫu hay thiết kế để tạo ra các đối tượng.
2.Đối tượng là 1 thực thể trong thế giới thực như bút laptop, điện thoại, bàn, ghế,…Lớp là một nhóm các đối tượng tương tự nhau.
3.Đối tượng là 1 thực thể vật lý.Lớp là 1 thực thể logic.
4.Đối tượng được tạo ra chủ yếu từ từ khóa new. Ví dụ: Student s1=new Student();Lớp được khai báo bằng việc sử dụng từ khóa class. Ví dụ: class Student{}
5.Đối tượng có thể được tạo nhiều lần.Lớp được khai báo 1 lần duy nhất.
6.Đối tượng được cấp bộ nhớ khi nó được tạo ra.Lớp không được cấp bộ nhớ khi nó được tạo.
7.Có rất nhiều cách để tạo ra đối tượng trong java như từ khóa new, phương thức newInstance(), phương thức clone(), phương thức factory và deserialization.Chỉ có một cách để định nghĩa lớp trong java sử dụng từ khoá class.

Cú pháp Java cơ bản

Trước khi bắt đầu đi sâu vào lập trình Java, bạn phải ghi nhớ những điểm sau:

  • Phân biệt chữ hoa, chữ thường: Java là ngôn ngữ phân biệt chữ hoa, chữ thường, nghĩa là bạn viết Quantrimang, quantrimang hay QuanTriMang, QUANTRIMANG sẽ có ý nghĩa khác nhau.
  • Tên lớp: Đối với tất cả các tên lớp, chữ cái đầu tiên nên được viết in hoa. Nếu sử dụng nhiều từ để tạo thành tên lớp thì mỗi chữ đầu tiên trong từ đó nên viết in hoa.

Ví dụ: class JavaFirst, class QuanTriMang

  • Tên thủ tục: Tất cả tên thủ tục nên bắt đầu với chữ thường. Nếu nhiều ghép nhiều từ thành tên của thủ tục thì sau từ đầu tiên, các chữ cái đầu của từ nên viết in hoa.

Ví dụ: public void myQuanTriMang()

  • Tên file chương trình: Tên file phải khớp chính xác với tên lớp. Khi lưu file, bạn đặt tên file là tên lớp và phần mở rộng là ".java", nhớ rằng Java phân biệt hoa thường, nếu tên file và tên lớp không khớp thì không thể biên dịch được.

Ví dụ: Giả sử JavaFirst là tên lớp, thì file phải là JavaFirst.java

  • public static void main(String args[]): Chương trình Java bắt đầu từ thủ tục main(), đây là phần bắt buộc của mọi chương trình Java.

Định danh (Identifier) trong Java

Tất các các thành phần Java đều phải được đặt tên. Tên được sử dụng cho lớp, biến, thủ tục và được gọi là định danh -identifier.

Có vài điểm cần lưu ý về định danh, đó là:

  • Tất cả các định danh nên bắt đầu bằng chữ cái (A đến Z hoặc a đến z), ký tự tiền tệ ($) hoặc 1 dấu gạch dưới (_).
  • Sau ký tự đầu tiên, bạn có thể dùng bất kỳ ký tự nào để viết định danh.
  • Một từ khóa không được sử dụng như một định danh.
  • Định danh cũng phân biệt chữ hoa, chữ thường.
  • Ví dụ về định danh đúng: tuoi, $luong, _giatri_, __1_giatri.
  • Ví dụ về định danh sai: 123ghi, -tien.

Modifier trong Java

Giống như các ngôn ngữ lập trình khác, bạn có thể sửa đổi các lớp, phương thức,... nhờ sử dụng các Modifier. Trong Java, có hai loại Modifier:

  • Access Modifier: Bao gồm default, public, protected, private.
  • Non-access Modifier: Bao gồm final, abstract, strictfp.

Chúng ta sẽ tìm hiểu về các Modifier này trong các bài hướng dẫn tiếp theo.

Biến trong Java

Java có các loại biến như sau:

  • Biến Local
    Biến của class (biến static)
    Biến đối tượng (không phải biến static)

Mảng trong Java

Mảng là đối tượng lưu trữ nhiều biến có cùng một kiểu dữ liệu. Mặc dù vậy, một mảng bản thân nó cũng là một đối tượng trong bộ nhớ. Chúng ta cũng sẽ tìm hiểu cách khai báo, xây dựng và khởi tạo đối tượng này trong các bài sắp tới.

Java Enum

Enum được giới thiệu trong Java 5.0. Enum hạn chế một biến để nó chỉ có thể nhận một giá trị trong số vài giá trị được chỉ định trước. Dễ hiểu hơn, enum dùng để định nghĩa tập hợp các số cố định, như ngày trong tuần, mùa trong năm,...

Việc sử dụng enum có thể giúp làm giảm số lượng các lỗi trong code.

Ví dụ, chúng ta giả sử một ứng dụng cho cửa hàng nước ép hoa quả, có thể giới hạn các kiểu cỡ cốc gồm có cỡ nhỏ, vừa và lớn. Điều này có thể đảm bảo giúp để mọi người khác không thể thêm các cỡ khác ngoài nhỏ, vừa, lớn.

class FreshJuice {

   enum FreshJuiceSize{ SMALL, MEDIUM, LARGE }
   FreshJuiceSize size;
}

public class FreshJuiceTest {

   public static void main(String args[]){
      FreshJuice juice = new FreshJuice();
      juice.size = FreshJuice. FreshJuiceSize.MEDIUM ;
      System.out.println("Size: " + juice.size);
   }
}

Kết quả đầu ra:

Size: MEDIUM

Ghi chú: Enum có thể được khai báo riêng hoặc khai báo trong một lớp. Thủ tục, biến, constructor cũng có thể đươc định nghĩa trong Enum.

Các từ khóa trong Java

Danh sách dưới đây là các từ khóa (key) trong Java. Chúng không thể sử dụng như hằng số, biến hay bất kỳ tên định danh nào khác. Nên khi đặt tên biến, hằng, thủ tục, lớp,... bạn phải tránh những từ khóa này ra nhé.

abstractassertbooleanbreak
bytecasecatchchar
classconstcontinuedefault
dodoubleelseenum
extendsfinalfinallyfloat
forgotoifimplements
importinstanceofintinterface
longnativenewpackage
privateprotectedpublicreturn
shortstaticstrictfpsuper
switchsynchronizedthisthrow
throwstransienttryvoid
volatilewhile

Comment trong Java

Java hỗ trợ comment trên 1 dòng hoặc nhiều dòng giống như C, C++, Python. Tất cả các ký tự trong comment sẽ được trình biên dịch Java bỏ qua.

Ví dụ:

public class MyFirstJavaCode {

   /* Đây là chương trình Java đầu tiên.
    * Nó sẽ in ra màn hình 'Hello World'.
    * Đây là ví dụ comment trên nhiều dòng.
* By Quantrimang.com */
public static void main(String []args) { // Đây là ví dụ comment trên 1 dòng. /* Đây vẫn là ví dụ comment trên một dòng by Quantrimang.com. */ System.out.println("Hello World"); } }

Đầu ra:

Hello World 

Sử dụng dòng trống

Một dòng chỉ chứa khoảng trắng, có thể là comment, được gọi là dòng trống và Java hoàn toàn bỏ qua nó.

Tính kế thừa trong Java

Trong Java, các lớp có thể được suy ra (hay dẫn xuất) từ các lớp khác. Nếu bạn cần tạo một lớp mới mà đã có một lớp chứa những đoạn code bạn cần thì có thể suy ra lớp mới từ lớp đã có đó.

Tính kế thừa cho phép bạn tái sử dụng các trường, thủ tục của lớp đã có mà không cần viết lại trong lớp mới. Trong trường hợp này, lớp hiện có được gọi là superclass, lớp mới được suy ra gọi là subclass.

Interface trong Java

Trong ngôn ngữ lập trình Java, một interface có thể được định nghĩa như là một contract giữa các đối tượng về cách giao tiếp với nhau. Các interface đóng vai trò thiết yếu khi nó đi với khái niệm về tính kế thừa.

Một interface định nghĩa các thủ tục, các subclass nên sử dụng. Nhưng sự thực thi của các phương thức lại hoàn toàn phụ thuộc vào các subclass.

Bài tiếp: Viết và chạy code Java trên máy tính lần đầu tiên

Bài trước: Tải và cài đặt Java trên máy tính

Thứ Tư, 14/03/2018 11:47
56 👨 3.848
0 Bình luận
Sắp xếp theo