Всем привет, надеюсь на вашу помощь: 1) Как "читать" это и что оно делает и что это вообще такое: Что за знак вопроса, вот именно это не понятно, и что за выбор между "да" и "нет"? String isCatPresent = cat != null ? "yes" : "no"; 2) Что это за знак "->", что он делает и как это "прочитать"? prop.forEach((k, v) -> runtimeStorage.put(k.toString(), v.toString())); 3) Что за угловые скобки? Три подряд!? И одна вверх!? Как это работает, что означает (^ и >>>), как читать такой код? long result = 31 * result + (int) (temp ^ (temp >>> 32));; 4) Что означает троеточие вот тут и как это читать: public Human(String name, Asset... assets) {} Заранее спасибо за понимание и терпение!