Есть ли способ сделать переменную, объявленную внутри цикла, вызываемой извне для цикла?Java - доступ к переменной, объявленной внутри цикла вне ее
ответ
Если вам нужен объект, когда цикл закончен, вам необходимо создать ссылку на него, которая все еще существует после завершения цикла. Так что это
Object pointer = null;
for (int v = 0; v < n; v++) {
...
pointer = myObj;
}
// use pointer here
Если вы не хотите, что объект торчащий вокруг после того, как вы сделали с ним, говорят, что вы должны использовать его только для одной вещи после цикла, то вы можете создать его в своем собственном объеме как это:
{
Object pointer = null;
for (int v = 0; v < n; v++) {
...
pointer = myObj;
}
// use pointer here
}
// pointer no longer exists here
Следуя этой логике, вы можете даже создать сферу внутри самой
for (int v = 0; v < n; v++) {
...
{
// If loop is done, now use the myObj
}
}
и, наконец, почему бы не просто избавиться от рамки и использовать OBJ внутри цикла цикла?
for (int v = 0; v < n; v++) {
...
// If loop is done, now use the myObj
}
Если вы создаете переменную в цикле (или любом наборе фигурных скобок), то ее область действия является только телом этого цикла. Вам нужно будет создать переменную перед рукой и установить ее в цикле.
Будет ли изменена переменная кодом, находящимся внутри цикла? –
Да, все, что вы с ним сделаете, будет выполнено – rtpax
переменные, объявленные внутри блока, не могут быть доступны за пределами этого блока. Их объем и время жизни ограничены блоком. Однако для переменной, объявленной вне блока, ее значение может быть изменено внутри блока и такое же значение будет отражено, как только вы выйдете из блока. Для лучшего понимания вы можете пройти через эту ссылку http://www.java2s.com/Tutorial/Java/0020__Language/VariableScope.htm
Нет, это целая точка. – Savior
yes объявить его за пределами цикла for – ControlAltDel
Я не уверен, почему в этом вопросе так много голосов. Это честный вопрос о новичке, который, вероятно, большинство из нас задавали один раз в нашей жизни, когда мы начали изучать программирование/Java (или язык с аналогичными правилами). – Pshemo