2014-09-08 21 views
25

Tôi đã xem qua đoạn trích bên dưới. Kết quả đầu ra là 4 3 2 1<- trong Java là gì?

Tôi chưa từng xem qua số <-- bằng Java.

Có phải <-- một toán tử làm cho giá trị của var1 thành var2 không?

public class Test { 

    public static void main(String[] args) { 

     int var1 = 5, var2 = 0; 
     while (var2 <-- var1) { 
      System.out.print(" " + var1); 
     } 
    } 
} 
+2

nó là var2 <(--var1), trong đó - là tiền tố giảm dần – DeiAndrei

+5

Mã thực sự khủng khiếp, gây hiểu lầm. Người viết có tích cực không thích những người sẽ phải duy trì nó không? * (Câu hỏi hay, btw.) * –

+0

Việc bỏ phiếu cho biết _Câu hỏi này cho thấy nỗ lực nghiên cứu [...] _ ngoại trừ câu hỏi này không cho thấy rằng theo ý kiến ​​của tôi. Nguồn chính cho thông tin này phải là đặc tả ngôn ngữ Java. Ngoài ra, một tìm kiếm ở đây trên SO có thể sẽ tìm thấy các bản sao. Vì vậy, '-1' – jpw

Trả lời

29

<-- không phải là một nhà điều hành Java mới (mặc dù nó có thể trông giống như nó), nhưng có 2 nhà khai thác bình thường: <--

while (var2 <-- var1) cũng giống như while(var2 < (--var1)), có thể được dịch sang tiếng Anh đơn giản như:

  1. sụt lần các var1 biến (--var là một decrementation tiền tố, tức là giảm các biến trước khi xác nhận điều kiện.)
  2. Validate điều kiện var2 < var1
6

<-- Không có nhà điều hành như vậy trong java.

Đó là var2 < (--var1) Toán tử giảm dần quan hệ.