пишу урывок кода который меня смущает :)
while (true) {
String q = sc.nextLine();
...
мне непонятно почему он работает и НЕ вызывает ошибки? Так например, если я не ошибаюсь, и подобное проворачивать с примитивными переменными (засунуть их в цикл, объявлять и давать значение, например "int q = 0" ) то спустя одну итерацию будет ошибка, т.к. нельзя объвлять переменную в том же блоке с уже существующим названием. А тут всё ок, и каждый цикл создается новая переменная q, или же эта переменная меняет ссылку (своё значение) , и создает новый объект на который ссылаеться? НО при это же написано String, что вроде как должно означать что я Объявляю переменную, разве не так?