Phép so sánh trong java là gì

Nó được sử dụng trong xác thực (bởi phương thức equals()), sắp xếp (theo phương thức compareTo()), so sánh tham chiếu(với toán tử ==), vv

Show

    Có ba cách để so sánh chuỗi trong java:

    1. Sử dụng phương thức equals()
    2. Sử dụng toán tử ==
    3. Sử dụng phương thức compareTo()
    1. So sánh chuỗi bằng phương thức equals()

    Phương thức equals() được sử dụng để so sánh nội dung của 2 chuỗi. Lớp String cung cấp 2 phương thức equals():

    • public boolean equals(Object another): so sánh 2 chuỗi có phân biệt chữ hoa, chữ thường.
    • public boolean equalsIgnoreCase(String another): so sánh 2 chuỗi không phân biệt chữ hoa, chữ thường.

    Ví dụ 1:

    public class Teststringcomparison1 { public static void main(String[] args) {

    // TODO Auto-generated method stub  
    String s1 = "Hello";  
        String s2 = "Hello";  
        String s3 = new String("Hello");  
        String s4 = "Hallo";  
        System.out.println(s1.equals(s2));//true  
        System.out.println(s1.equals(s3));//true  
        System.out.println(s1.equals(s4));//false  
    
    } }

    Kết quả:

    Phép so sánh trong java là gì

    Ví dụ 2:

    public class Teststringcomparison2 { public static void main(String[] args) {

    // TODO Auto-generated method stub  
    String s1 = "Hello";  
        String s2 = "HELLO";  
        System.out.println(s1.equals(s2));//false    
        System.out.println(s1.equalsIgnoreCase(s2));//true    
    
    } }

    Kết quả:

    Phép so sánh trong java là gì

    1. So sánh chuỗi bằng toán tử ==

    Toán tử == được sử dụng để so sánh tham chiếu (không phải giá trị) của 2 chuỗi.

    Ví dụ 3:

    public class Teststringcomparison3 { public static void main(String[] args) {

    // TODO Auto-generated method stub  
    String s1 = "Hello";  
        String s2 = "Hello";  
        String s3 = new String("Hello");  
        System.out.println(s1 == s2);//true (vì cả 2 cùng tham chiếu instance giống nhau)    
        System.out.println(s1 == s3);//false(vì s3 tham chiếu instance mà không ở trong Pool)  
    
    } }

    Kết quả:

    Phép so sánh trong java là gì

    1. So sánh chuỗi bằng phương thức compareTo()

    Phương thức compareTo () so sánh các giá trị theo thứ tự từ điển và trả về một giá trị số nguyên mô tả nếu chuỗi đầu tiên nhỏ hơn, bằng hoặc lớn hơn chuỗi thứ hai.

    Trong Java có cung cấp nhiều toán tử để thao tác các biến. Trong bài viết này chúng ta sẽ cùng nhau tìm hiểu về các Toán tử trong Java.

    Cú pháp:

    [Biến] = [BiểuThức];

    Phép gán được thực hiện bằng toán tử =, nó có nghĩa là hãy tính toán giá trị biểu thức bên phải dấu gán, sau đó đưa giá trị đó vào ô nhớ có tên nằm ở bên trái dấu gán

    Phép so sánh trong java là gì
    int a = 10;
    int b = c = 10;// cả b và c đều có giá trị 10

    Ngôn ngữ java cũng có các phép toán số học được sử dụng trong các biểu thức toán học như trong đại số: + (phép cộng), - (phép trừ), * (phép nhân), / (phép chia), % (phép toán chia lấy phần nguyên)

    Ta mô tả tóm tắt các phép toán số học qua bảng tổng kết sau:

    Phép toánSử dụngMô tả+op1 + op2Cộng op1 vớiop2-op1 - op2Trừ op1 cho op2*op1 * op2Nhân op1 với op2/op1/ op2chia op1 cho op2%op1 % op2Tính phần dư của phép chia op1 cho op2

    Java cũng có phép toán tăng, giảm, ta có thể mô tả tóm tắt qua các bằng sau:

    Phép toánSử dụngMô tảop++Tăng op lên 1 đơn vị, giá trị của op được tăng lên trước khi biểu thức chứa nó được tính++opTăng op lên 1 đơn vị, giá trị của op được tăng lên sau khi biểu thức chứa nó được tính--op--Giảm op xuống1 đơn vị, giá trị của op được giảm xuống trước khi biểu thức chứa nó được tính----opGiảm op xuống1 đơn vị, giá trị của op được giảm xuống sau khi biểu thức chứa nó được tính

    Qua đây chúng ta cũng hiểu được sự khác nhau của a++ (a--) và ++a (--a)

    public class Thaycacac {
      public static void main(String[] args) {
        int a = 1;
        //In rồi mới tăng
        System.out.println(a++);
        //Tăng rồi mới in
        System.out.println(++a);
        //Cộng 1 và in ra rồi mới tăng
        System.out.println(a+++1);
        //Tăng rồi mới cộng 1 và in ra
        System.out.println(++a+1);
      }
    }

    • 1
    • 3
    • 4
    • 6

    ::alert{type="infor"}Nếu toán tử tăng trước, tăng sau (giảm trước, giảm sau) đứng một mình (không nằm trong biểu thức) thì chúng hoạt động như nhau, chúng chỉ khác nhau khi chúng nằm trong biểu thức::

    Phép toán quan hệ bao giờ cũng cho kết quả boolean, phép toán quan hệ sẽ so sánh 2 giá trị, nó xác định mối quan hệ giữa chúng, ví dụ

    int a = 10;
    int b = c = 10;// cả b và c đều có giá trị 10

    0 sẽ trả về true nếu 2 toán hạng là khác nhau.