Pytanie Co to jest <- w Javie? [duplikować]


To pytanie już zawiera odpowiedź:

Znalazłem poniższy fragment. Wydaje do 4 3 2 1

Nigdy nie natknąłem się <-- w Javie.

Jest <--  operator, który tworzy wartość zmiennej od 1 do zmiennej 2?

public class Test {

    public static void main(String[] args) {

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

29
2017-09-08 10:59


pochodzenie


to var2 <(--var1), gdzie - jest przedrostkiem dekrementacji - DeiAndrei
Co naprawdę okropnego, wprowadzającego w błąd kodu. Czy osoba pisząca to aktywnie nie lubiła ludzi, którzy musieliby go utrzymywać? (Dobre pytanie, przy okazji) - T.J. Crowder
Awaria wskazuje To pytanie pokazuje wysiłek badawczy [...] z tym wyjątkiem, że to pytanie nie pokazuje tego moim zdaniem. Głównym źródłem tych informacji powinna być specyfikacja języka Java. Również wyszukiwanie tutaj w SO mogłoby prawdopodobnie znaleźć duplikaty. Więc -1 - jpw
po przeczytaniu pytania pomyślałem, że Java naprawdę wprowadziła coś ciekawego ... - TechLover


Odpowiedzi:


<-- nie jest nowym operatorem Java (nawet jeśli może tak wyglądać), ale są 2 normalne operatory: < i --

while (var2 <-- var1) jest taki sam jak while(var2 < (--var1)), które można przetłumaczyć na zwykły angielski jako:

  1. dekrementować var1 zmienna ( --var jest dekrementacją prefiksu, tj. dekrementuj zmienną przed sprawdzeniem poprawności warunku)
  2. Sprawdź poprawność warunku var2 < var1

31
2017-09-08 11:00





<-- Nie ma takiego operatora w java.

To jest var2 < (--var1) Operator relacyjnej + dekrementacji.


6
2017-09-08 11:01