2012-03-27 37 views
7

Hướng dẫn Java here đề cập rằng &= là toán tử gán nhưng dường như không đề cập đến nó.Toán tử & = trong Java là gì

&= làm gì?

+0

Rất tiếc, đó là trang trước đó, cập nhật nó –

Trả lời

15
a &= x 

tương đương với

a = (type of a)(a & x) 

do đó là một

  • bitwise AND của ax trong trường hợp ax là các số nguyên hoặc một
  • phi short-circuiting logic VÀ trong trường hợp axboolean s (có nghĩa là x sẽ được đánh giá trong mọi trường hợp tại đây, ngay cả khi afalse).

Có một số nhà khai thác nhị phân khác mà có thể được sử dụng với ngữ nghĩa tương tự, như +=, -=, *=, /=, %=, |=, <<= ...

+0

Ngoài ra không logic ngắn mạch 'và' trong trường hợp 'boolean'. –

+0

@Daniel: Đúng, rất đúng. –

Các vấn đề liên quan