Toán tử so sánh trong Java và các phép so sánh chuỗi, số | Laptrinhcanban.com

HOME › >>

Toán tử so sánh trong Java và các phép so sánh chuỗi, số

Hướng dẫn cách sử dụng toán tử so sánh trong Java. Bạn sẽ học được các phép so sánh trong Java được biểu diễn thông qua các toán tử so sánh trong Java và ứng dụng chúng để so sánh 2 số trong Javaso sánh 2 chuỗi trong Java sau bài học này.

Bảng toán tử so sánh trong Java

Để thực hiện các phép so sánh trong Java, chúng ta sử dụng các toán tử so sánh trong Java được liệt kê trong bảng dưới đây:

Toán tửBiểu thức điều kiệnÝ nghĩa
==x == yx và y bằng nhau
!=x != yx và y không bằng nhau
>x > yx lớn hơn y
<x < yx nhỏ hơn y
>=x >= yx bằng hoặc lớn hơn y
<=x <= yx bằng hoặc nhỏ hơn y

Phép so sánh trong Java sẽ kết hợp toán tử so sánh cùng với hai giá trị ở hai vế trái phải thành một biểu thức điều kiện, sau đó kiểm tra biểu thức điều kiện này là đúng hay sai và đưa ra kết quả. Kết quả của các phép so sánh trong Java sẽ là kiểu boolean trong Java với hai giá trị là True (đúng) hoặc False (sai), và phép toán so sánh trong Java được sử dụng để cấu tạo biểu thức điều kiện được sử dụng trong câu lệnh if trong Java.
Toán tử so sánh trong Java

So sánh bằng trong Java

Để so sánh hai giá trị có bằng nhau hay không, chúng ta sử dụng toán tử so sánh bằng trong Java == hoặc là toán tử so sánh khác trong Java !=.

Nếu hai giá trị bằng nhau, toán tử so sánh bằng trong Java == trả về True và ngược lại nếu hai giá trị không bằng nhau, toán tử so sánh khác trong Java != sẽ trả về True.
Chúng ta hãy cùng xem một số ví dụ cụ thể sử dụng phép so sánh bằng trong Java sau đây:

So sánh 2 số trong Java

Khi sử dụng phép so sánh bằng để so sánh hai số trong Java, không những chúng ta có thể so sánh giữa số nguyên với số nguyên, số thực với số thực, mà còn có thể so sánh các số có kiểu dữ liệu khác nhau như số nguyên với số thực v.v..
Ví dụ:

1 == 1
//> true

1 == 2
//> False

1 == 1.0
//> True

1 != 2
//> True

1 != 1
//> False

So sánh 2 chuỗi trong Java

Khi sử dụng phép so sánh bằng để so sánh chuỗi Java, chúng ta kiểm tra giá trị của chúng có bằng nhau hay không. Lưu ý là khi so sánh chuỗi trong Java, chúng ta cần phân biệt giữa chữ hoa và chữ thường. Ví dụ:

"Hello" == "Hello"
//> True

"Hello" == "hello"
//> False

"Hello" == "Hey"
//> False

"Hello" != "Hello"
//> False

"Hello" != "hello"
//> True

Phép so sánh lớn nhỏ trong Java

Để so sánh lớn nhỏ trong Java, chúng ta sử dụng các toán tử <, >, >=<=.
Toán tử < cho kết quả là True nếu giá trị bên trái nhỏ hơn giá trị bên phải và ngược lại, toán tử > cho kết quả là True nếu giá trị bên trái lớn hơn giá trị bên phải.
Tương tự, toán tử <= cho kết quả là True nếu giá trị bên trái nhỏ hơn hoặc bằng giá trị bên phải và ngược lại, toán tử >= cho kết quả là True nếu giá trị bên trái lớn hơn hoặc bằng giá trị bên phải.

Chúng ta hãy cùng xem một số ví dụ cụ thể sử dụng phép so sánh lớn nhỏ trong Java sau đây:

So sánh lớn nhỏ giữa 2 số trong Java

Khi sử dụng phép so sánh lớn nhỏ để so sánh 2 số trong Java, chúng ta kiểm tra giá trị của chúng lớn hơn hay nhỏ hơn.

5 > 3
//> True

7 < 3
//> False

4.2 >= 3.1
// True

Lưu ý là chúng ta không thể sử dụng phép so sánh lớn nhỏ để so sánh 2 số phức trong Java.

System.out.println((5 + 2j) > (3 + 4j))

Lỗi sau đây sẽ xảy ra:

Main.java:5: error: ')' expected
System.out.println((5 + 2j) > (3 + 4j))
^

So sánh lớn nhỏ trong chuỗi Java

Khi sử dụng phép so sánh lớn nhỏ để so sánh chuỗi Java, thay vì so sánh trực tiếp giá trị của hai chuỗi, chúng ta sẽ so sánh mã ký tự ASSCII giữa chúng.
Để lấy mã ASSCII của một ký tự bất kỳ, chúng ta có thể ép kiểu ký tự về kiểu int như sau:

int asciiValuea = 'a';
int asciiValueA = 'A';
int asciiValueB = 'B';
System.out.println(asciiValuea); //97
System.out.println(asciiValueA); //65
System.out.println(asciiValueB); //98

Khi so sánh lớn nhỏ hai ký tự đơn, chúng ta đơn giản so sánh mã ký tự ASSCII của chúng. Ví dụ, do mã ký tự ASSCII của ký tự a là 97 sẽ lớn hơn của ký tự A à 65 nên phép so sánh sau sẽ cho ra kết quả True.

public class Main
{
public static void main(String[] args) {
int asciiValuea = 'a';
int asciiValueA = 'A';
System.out.println("Mã ascii của a: "+ asciiValuea);
System.out.println("Mã ascii của A: "+ asciiValueA);

if ( 'a' > 'A') System.out.println("a > A");
}
}

Kết quả:

Mã ascii của a: 97
Mã ascii của A: 65
a > A

Tuy nhiên khi so sánh 2 chuỗi ký tự với nhau, chúng ta không thể đơn thuần so sánh các mã ký tự ASSCII của từng ký tự được. Lúc này, phép so sánh sẽ bắt đầu từ ký tự đầu tiên trong hai chuỗi, và nếu chúng giống nhau, các ký tự tiếp theo được so sánh cho tới khi xuất hiện một ký tự khác nhau đầu tiên trong hai chuỗi. Khi đó, mã ký tự ASSCII của ký tự này sẽ đại diện cho cả chuỗi và được dùng để so sánh lớn nhỏ.

Để làm được việc này thì thay vì sử dụng toán tử so sánh thì chúng ta sẽ sử dụng tới 1 phương thức có sẵn trong Java. Chúng ta sẽ cùng tìm hiểu về nó trong bài viết sau.

Tổng kết

Trên đây Kiyoshi đã hướng dẫn bạn về cách sử dụng các phép so sánh trong Java được biểu diễn thông qua các toán tử so sánh trong Java rồi. Để nắm rõ nội dung bài học hơn, bạn hãy thực hành viết lại các ví dụ của ngày hôm nay nhé.

Và hãy cùng tìm hiểu những kiến thức sâu hơn về Java trong các bài học tiếp theo.

HOME  › >>

Profile
きよしです!笑

Tác giả : Kiyoshi (Chis Thanh)

Kiyoshi là một cựu du học sinh tại Nhật Bản. Sau khi tốt nghiệp đại học Toyama năm 2017, Kiyoshi hiện đang làm BrSE tại Tokyo, Nhật Bản.