Khái niệm cơ bản (1)

Trong phần này, tôi giới thiệu đến các bạn 1 số khái niệm trong Java như: comment, space, operator, quy tắc đặt tên, hằng giá trị, java conding convetion.

Comment

// comment Single line comment
/* comment */ Multi-line comment
/**  comment */ Documentation comment

Nếu chúng ta muốn add ít comment thì sử dụng Single line comment. Nếu comment phức tạp, thì sử dụng multi-line comment. Documentation comment còn gọi là doc comment, tool javadoc sử dụng doc comment để tạo documentation cho source code.

package net.vncoding;

/*
 This is Hello World program
 Date: 2017/11/18 
*/

public class HelloWorld {
    public static void main(String[] args) {
    	// Show Hello World on Console screen
        System.out.println("Hello World");
    }
}

Giải thích:
Chương trình trên sử dụng 2 loại comment.

/*
 This is Hello World program
 Date: 2017/11/18 
*/

Đây là multi-line comment.

// Show Hello World on Console screen

Đây là single line comment

Chú ý:
– Compiler không biên dịch comment, comment chỉ giúp lập trình viên hiểu source code nhanh hơn.
– Không được phép sử dụng comment lồng nhau như ví dụ sau.

/*
 /*This is Hello World program*/
 Date: 2017/11/18 
*/

White Space

White space (space, tab) được dùng để phân tách giữa các pattern trong 1 câu lệnh java. White space làm cho source code dễ đọc hơn.

int n = 0;

White space được dùng để phân tách giữa kiểu dữ liệu int và biến n, giữa biến n và toán tử =, giữa toán tử = và hằng giá trị 0.
Nói chung, white space được dùng ở nhiều chỗ trong source code. Tuy nhiên, while space không được dùng trong tên biến.

int n   =   0;
int    m =   6;
float     f   = 7;

Số lượng white space không ảnh hưởng đến biên dịch source code. Tuy nhiên, các bạn nên sử dụng nhất quán số lượng white space trong source code.

Định danh

– Định danh là tên cho biến, phương thức, class, tham số. Định danh có thể là các kí tự (A-Z, a-z) và số  (0 – 9), gạch chân và dấu $. Tên không được bắt đầu bằng số, tên không được chứa white space.
– Ngoài ra, có quy tắc đặt tên (naming convention) cho định danh. Ví dụ như: nên đặt tên có ý nghĩa, nếu tên gồm nhiều từ thì kí tự đầu tiên của mỗi từ nên viết hoa.
– Trong ngôn ngữ Java, định danh phân biệt chữ hoa và chữ thường. Ví dụ: sum, Sum, SUM là 3 biến khác nhau.
– Không được dùng keyword làm định danh
Ví dụ: Tên biến hợp lệ

int sum = 4;
String blog_name = "vncoding";

Ví dụ: Tên biến không hợp lệ

int 123sum = 4;
int %abc;
String blog name;

Ví dụ: Chương trình Java dưới đây minh họa việc cho phép định nghĩa 2 biến chữ hoa và chữ thường.

package net.vncoding;

public class CaseSensitiveIdentifiers {

    public static void main(String[] args) {
        
        String name = "vncoding";
        String Name = "Vncoding";

        System.out.println(name);
        System.out.println(Name);       
    }
}

Kết quả:

Case sensitive - Java
Case sensitive – Java

name và Name là 2 biến khác nhau. Đối với ngôn ngữ Visual Basic, định danh không phân biệt chữ hoa và chữ thường. Điều này có nghĩa là việc khai báo name và Name sẽ gây ra lỗi compiler error.

Hằng giá trị

Hằng giá trị là giá trị cho từng kiểu dữ liệu cụ thể. Hằng giá trị bao gồm hằng boolean, số nguyên, số thực, kiểu kí tự, chuỗi.
Ví dụ:

int age = 29;
String nationality = "Vietnamese";

Trong ví dụ này, chúng ta gán 2 hằng giá số nguyên 29 và hằng chuỗi kí tự “Vietnamese” cho biến age và nationality.

Ví dụ:
Literals.java

package net.vncoding;

public class Literals {
    public static void main(String[] args) {
        
        int age = 28;
        String name = "Viet";
        boolean sng = false;
        String job = null;
        double weight = 66.0;
        char c = 'V';

        System.out.format("His name is %s%n", name);
        System.out.format("His is %d years old%n", age);

        if (sng) {
            
            System.out.println("He is single");
        } else {
            
            System.out.println("He is in a relationship");
        }

        System.out.format("His job is %s%n", job);
        System.out.format("He weighs %f kilograms%n", weight);
        System.out.format("His name begins with %c%n", c);     
    }
}

Kết quả:

Hằng giá trị - java
Hằng giá trị – java

Trong ví dụ trên, rất nhiều hằng giá trị được sử dụng

28 Hằng số nguyên
“Viet” Hằng chuỗi  tự
false Hằng số boolean
null Hằng số null
66.0 Hằng số dấu phảy động
‘V’ Hằng kí tự

Toán tử

Toán tử là symbol được dùng để thực hiện phép toán công, trừ, nhân, chia,…

+    -    *    /    %    ^    &    |    !    ~
=    +=   -=   *=   /=   %=    ^=    ++    --
==   !=    <   >    &=  >>=   <<=   >=   <= 
||   &&    >>    <<    ?:

Chúng ta sẽ nói chi tiết toán tử ở các bài sau.

Separator

Separator là chuỗi gồm 1 hoặc nhiều kí tự được sử dụng để phân định giữa các câu lệnh, kích thước mảng, hằng chuỗi kí tự. Trong Java, separator bao gồm:

[ ]   ( )   { }   ,   ;   .   "
String language = "Java";

– Dấu ” để đánh dấu điểm bắt đầu và kết thúc của hằng chuỗi kí tự
– Dấu ; để đánh dấu hết 1 câu lệnh

System.out.println("Java language");
System.out.println();

– Dấu ngoặc tròn () thường theo sau hàm, giữa dấu ngoặc tròn ta khai báo tham số đầu vào hoặc không có tham số nào.
– Dấu chấm để phân tách giữa class (System) và member (out), giữa member (out) và phương thức (println()).

int[] array = new int[5] { 1, 2, 3, 4, 5 };

– Dấu ngoặc vuông [] thông báo cho Compiler biết là kiểu mảng. Ngoặc vuông [] được sử dụng để chỉ ra kích thước mảng (int[5] gồm có 5 phần tử số nguyên)
– Dấu ngoặc nhọn {} được dùng để khởi tạo mảng. Ngoặc nhọn {} cũng được sử dụng để đánh dấu body của class.

int a, b, c;

Dấu phẩy phân tách các biến trong cùng 1 câu lệnh.

Từ khóa

Các từ khóa được định nghĩa trong Java.

abstract        continue        for             new             switch 
assert          default         goto            package         synchronized
boolean         do              if              private         this
break           double          implements      protected       throw
byte            else            import          public          throws
case            enum            instanceof      return          transient
catch           extends         int             short           try
char            final           interface       static          void
class           finally         long            strictfp        volatile
const           float           native          super           while

Ví dụ: Sử dụng từ khóa trong Java
Keywords.java

package net.vncoding;

public class Keywords {

    public static void main(String[] args) {

        for (int i = 0; i <= 5; i++) {
            
            System.out.println(i);
        }
    }
}

Từ khóa package, public, class, static, void, int, for được sử dụng. Chúng ta sẽ tìm hiểu lần lượt ý nghĩa các từ khóa trong các bài tiếp theo.

Convention

Convention là các quy định viết code. Mỗi ngôn ngữ lập trình có 1 bộ convention riêng. Convetion không phải là các quy định bắt buộc, chúng chỉ là suggestion để lập trình viên tạo ra source có chất lượng tốt. Tôi sẽ giới thiệu convention được các lập trình viên hay sử dụng.

Tên class nên bắt đầu bởi chữ in hoa
Tên phương thức nên bắt đầu bởi chữ in thường
Từ khóa public đứng trước từ khóa static khi cả 2 được sử dụng
Sử dụng chữ in hoa để đặt tên cho hằng số
Mỗi từ trong tên biến, class, phương thức bắt đầu chữ in hoa.

Be the first to comment

Leave a Reply