Изначально было объявлено public static volatile boolean isWinnerFound = false; дальше идет if (!OnlineGame.isWinnerFound) { } Я считал что ! (восклицательный знак) - это означает "не" Значит читая if (!OnlineGame.isWinnerFound) "Если не false" то зайти в блок (if), то есть isWinnerFound должен быть true, чтобы зайти в if Но в задаче было так: if (!OnlineGame.isWinnerFound) { OnlineGame.isWinnerFound = true; System.out.println(getName() + ":победитель!"); } То есть в if заходим, когда isWinnerFound = false Теперь вопрос, какое все таки в блоке if (!OnlineGame.isWinnerFound) значение имеет восклицательный знак (!)?