Toán tử Equality (==) trong Java với các ví dụ – bằng trong java

Cổng thông tin Khoa học Máy tính dành cho những người yêu thích máy tính. Nó bao gồm các bài báo về khoa học máy tính và lập trình được viết tốt, được tư duy tốt và được giải thích tốt, các câu đố và thực hành / lập trình cạnh tranh / các câu hỏi phỏng vấn công ty.

Bạn đang xem : bằng trong java

== toán tử là một loại Toán tử quan hệ trong Java được sử dụng để kiểm tra các mối quan hệ về bình đẳng. Nó trả về kết quả boolean sau khi so sánh và được sử dụng rộng rãi trong câu lệnh lặp câu lệnh if-else có điều kiện .

Cú pháp:

 Giá trị LHS == Giá trị RHS 

Tuy nhiên, trong khi so sánh các giá trị này, thường phát sinh ba trường hợp:

Trường hợp 1: Khi cả giá trị LHS và RHS là nguyên thủy

Đây là trường hợp đơn giản nhất trong số các trường hợp. Vì dữ liệu nguyên thủy được lưu trữ trong bộ nhớ ngăn xếp , trong trường hợp này, giá trị thực của cả hai bên được tìm nạp từ bộ nhớ ngăn xếp và được so sánh. Giá trị này trả về true nếu cả hai đều bằng nhau, còn lại trả về false.

Cú pháp:

 Giá trị thực == Giá trị thực 

Ví dụ:

Java

nhập java.io. *;

public class GFG {

public static void main (Chuỗi [] args)

{

int a = 4 ;

int b = < code class = "value"> 4 ;

< / code> int c = 5 ;

< / p>

System.out.println ( " Are " + a + "và" + b

+ "bằng nhau? " + (a == b));

System.out.println ( "Are" + b + " và " + c

+ "bằng?" + (b == c));

}

}

 
 

Đầu ra

 4 và 4 có bằng nhau không?
4 và 5 có bằng nhau không? false 

Trường hợp 2: Khi một trong các giá trị LHS và RHS là nguyên thủy và giá trị kia là tham chiếu

Trong trường hợp này, đối với phía nguyên thủy, giá trị thực được lấy cho so sánh từ bộ nhớ ngăn xếp. Nhưng đối với phía tham chiếu, khi một mảng được khai báo và khởi tạo, dữ liệu được lưu trữ trong bộ nhớ heap và con trỏ tham chiếu trong bộ nhớ ngăn xếp. Vì vậy, tất cả những gì có trong bộ nhớ ngăn xếp là địa chỉ bộ nhớ.

Cú pháp:

 Giá trị thực tế == Giá trị địa chỉ
    HOẶC
Giá trị địa chỉ == Giá trị thực tế 

Vì vậy, khi so sánh giữa giá trị nguyên thủy và giá trị tham chiếu được thực hiện, chương trình không biên dịch và gây ra lỗi:

Biên dịch Lỗi trong mã java: -

 prog.java:20: error: các loại không thể so sánh được: int và int []
                           + (a == b));
                                ^
1 lỗi 

Điều này là do giá trị cho phía nguyên thủy dễ dàng được tìm nạp từ bộ nhớ ngăn xếp, nhưng đối với phía tham chiếu, không thể tìm nạp giá trị vì giá trị nằm trong bộ nhớ heap. Do đó xảy ra lỗi.

Ví dụ:

Java

< / p>

nhập java.io. *;

public class GFG {

public static void main (String [] args)

{

< code class = "undefined space"> int a = 4 ;

int < mã class = "trơn"> [] b = { 1 , 2 , 3 , 4 };

System.out.println ( " Are " < mã class = "trơn"> + a + "và" + b

+ "bằng nhau? " + (a == b));

}

}

< p class = "code-editor-container">

 
 
 prog.java: 17: error: các loại toán hạng không hợp lệ cho toán tử nhị phân '=='
                           + "bằng nhau?" + (a == b));
                                             ^
  kiểu đầu tiên: int
  loại thứ hai: int []
1 lỗi 

Trường hợp 3: Khi cả hai giá trị LHS và RHS đều là tham chiếu

Trong trường hợp này, đối với cả hai bên, khi một mảng được khai báo và khởi tạo, dữ liệu được lưu trữ trong bộ nhớ heap và con trỏ tham chiếu trong bộ nhớ ngăn xếp. Vì vậy, cả hai biến, địa chỉ của chúng đều được kiểm tra. Nếu cả hai biến trỏ đến cùng một địa chỉ bộ nhớ, toán tử này trả về true. Nếu không, nó trả về false.

Cú pháp:

 Giá trị địa chỉ == Giá trị địa chỉ 

Ví dụ:

Java

< / p>

nhập java.io. *;

public class < code class = "trơn"> GFG {

public static void main (String [] args)

{

< / code>

int [] a = { 1 , 2 , 3 , 4 };

int [] b = { 1 , 2 , 3 , 4 };

< / code> int [] c = b;

< / p>

System.out .println ( "a và b có bằng nhau không? "

+ (a == b));

< / code>

System.out.println ( "b và c có bằng nhau không?"

+ (b == c));

}

}

 
 

Đầu ra

 a và b có bằng nhau không? sai
B và c có bằng nhau không? true 

Ghi chú cá nhân của tôi


Xem thêm những thông tin liên quan đến chủ đề bằng trong java

Bài tập Java: Bài 1.1: Vẽ hình chữ nhật đặc bằng các dấu *

  • Tác giả: thân triệu
  • Ngày đăng: 2018-08-15
  • Đánh giá: 4 ⭐ ( 1420 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn lập trình Java từ cơ bản đến nâng cao. Lập trình Java cho người mới bắt đầu. Hướng dẫn giải bài tập lập trình Java. Bài tập lập trình Java cơ bản. Bài tập thực hành lập trình ngôn ngữ java. Vẽ hình chữ nhật bằng các dấu sao. triệu thân channel-let's grow together!

    Link tải đề bài tập và bài giải chi tiết:
    https://github.com/thantrieu/JavaExercise/tree/master/Exercises1/Bai1

Java: Cách sử dụng bảng (Table)

  • Tác giả: www.v1study.com
  • Đánh giá: 5 ⭐ ( 2537 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: JTable cung cấp cho ta cách thức hiển thị dữ liệu dưới dạng bảng. JTable không chứa hay đệm dữ liệu, nó đơn giản chỉ là cung cấp cách xem dữ liệu. Hình ảnh

Code ví dụ gửi http get request bằng Java (HttpClient)

  • Tác giả: stackjava.com
  • Đánh giá: 4 ⭐ ( 3105 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Code ví dụ gửi http get request bằng Java (HttpClient). Thực hiện gửi http request bằng ngôn ngữ Java sử dụng thư viện httpclient

Tìm hiểu về OOP Java: Lập trình hướng đối tượng Java

  • Tác giả: sandev.vn
  • Đánh giá: 3 ⭐ ( 4428 lượt đánh giá )
  • Khớp với kết quả tìm kiếm:

Khởi tạo mảng trong Java

  • Tác giả: hocjava.com
  • Đánh giá: 4 ⭐ ( 8996 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hôm nay chúng ta sẽ học cách khởi tạo một mảng trong Java, một mảng trong Java là một vùng chứa có thể chứa một số giá trị cố định có dùng

Sắp xếp mảng trong Java

  • Tác giả: laptrinhcanban.com
  • Đánh giá: 3 ⭐ ( 9586 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Hướng dẫn cách sắp xếp mảng trong Java. Bạn sẽ học được cách sắp xếp phần tử trong mảng Java bằng phương thức Arrays.sort sau bài học này.

In ra tam giác bằng ký tự * và số trong Java

  • Tác giả: freetuts.net
  • Đánh giá: 4 ⭐ ( 7212 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Cách in tam giác bằng ký tự * và số trong Java, hướng dẫn giải bài tập in ra tam gác cơ bản trong Java dành cho người mới học Java, chi tiết tại đây

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

Xem Thêm  Tìm hiểu kiến ​​thức cơ bản về phát triển web - Giải thích về HTML, CSS và JavaScript cho người mới bắt đầu - java script html css