ai galera me respondam uma coisa, pode parecer uma pergunta simples mas mesmo assim ainda tenho duvidas, ai vai:
é possivel pegar o valor de uma variavel local? Se sim, como faço!?
flw!
ai galera me respondam uma coisa, pode parecer uma pergunta simples mas mesmo assim ainda tenho duvidas, ai vai:
é possivel pegar o valor de uma variavel local? Se sim, como faço!?
flw!
Cuidado com os conceitos… o que eh o LOCAL nessa sua pergunta ???
é possivel sim,
mas eu acho que a tua pergunta não esta clara, deves ser mais objectivo no que queres saber
tipo variavel local, é uma variavel que eu irei usar por exemplo somente dentro de um metodo que eu criar!
mais ou menos assim:
public class Exemplo (){
public static void main (String args []){
String teste = "oi"; // variavel global
public void variavelLocal(){
String teste2 = "ola"; // variavel local
}
}
}
Tipo ali no metodo variavelLocal eu criei uma variavel local chamada teste2, ai a minha pergunta é, se eu quisesse pegar o valor da variavel local, como eu faria?, claro, se isso for realmente possivel!
abçs!
Ta… mas o que tu fez nem vai compilar… Metodo dentro de metodo nao da…
Pelo menos o teu conceito nao esta errado…
Cara… eu vejo 2 maneiras de fazeres isso… a primeira eh retornando a tua variavel local, tipo…
public class Teste {
public static void main(String args[]){
int res = soma(4,5);
}
public static int soma(int num1, int num2){
int resultado = num1 + num2; //resultado e sua variavel local
return resultado; // aqui voce esta despachando o valor de resultado pra fora do seu metodo para quem o chamar...
}
}
a outra forma que vejo, e setando o teu valor local em uma variavel de instancia, porem sem muito PORQUE fazer isso…
public class Teste {
public static int resClass;
public static void main(String args[]){
int res = soma(4,5);
}
public static void soma(int num1, int num2){
int resultado = num1 + num2; //resultado e sua variavel local
resClass = resultado; // aqui voce esta despachando o valor de resultado pra fora do seu metodo somente copiando o valor para uma variavel de instancia da classe...
}
}
Qualquer duvida posta ai…
tipo variavel local, é uma variavel que eu irei usar por exemplo somente dentro de um metodo que eu criar!mais ou menos assim:
public class Exemplo (){ public static void main (String args []){ String teste = "oi"; // variavel global public void variavelLocal(){ String teste2 = "ola"; // variavel local } } }Tipo ali no metodo variavelLocal eu criei uma variavel local chamada teste2, ai a minha pergunta é, se eu quisesse pegar o valor da variavel local, como eu faria?, claro, se isso for realmente possivel!
abçs!
Mais um detalhezinho que reparei agora... tua variavel teste nao eh Global... Variavel Global em Java eh um conceito meio estranho e eh melhor nem tentar entender... Soh imagina que o Java tem Constantes... talvez o que queira sao as variaveis de instancia... Sao as que eu coloquei no meu segundo exemplo pra ti (bom pelo menos quase, se ela nao fosse static). Pra simplificar pra ti, apenas considera meu exemplo como aquela resClass sendo de instancia... mas so por enquanto... Em breve veras que membros static nunca sao de instancia... mas isso fica pra um segundo momento...
Flws ;)
Variaveis locais são imutávéis, ela é obrigada a iniciar com um valor e esse valor inicial nunca será mudado, outra coisa também você não pode utilizar fora do método a qual ela está declarada, o que você pode fazer é passar o valor da variavel local para outro método, acho que isso explica um pouco o que também nossos colegas falaram.
cara… cuidado com o conceito… quem foi que te disse isso ??? Reveja o que voce estudou sobre variavel local…
O que nao pode ser alterado eh uma variavel final.
O que voce nao pode eh alterar uma variavel local fora do metodo onde ela foi criada… Mas que pode ser alterada, isso pode…
public class TesteVarLocal {
public static void main(String[] args) {
TesteVarLocal tvl = new TesteVarLocal();
tvl.testeMudaVariavel();
}
public void testeMudaVariavel(){
int minhaVarLocal = 0;
System.out.println("Valor " + minhaVarLocal);
minhaVarLocal = 1;
System.out.println("Mudei o Valor para " + minhaVarLocal);
minhaVarLocal = 2;
System.out.println("Mudei o Valor para " + minhaVarLocal);
minhaVarLocal = 3;
System.out.println("Mudei o Valor para " + minhaVarLocal);
}
}
ai adriano vlw pelas respostas, realmente o melhor a fazer seria fazendo um return da variavel, e quanto ao exemplo eu fiz na pressa msm soh pra mostrar qual era minha duvida, e acabei nao reparando q o metodo tava dentro de outro metodo.
E qnto ao que o amigo ali disse, variáveis locais são mutaveis sim, é por isso que são chamadas de variáveis, o que nao muda sao valores estáticos, exemplo
final int PrecoInicial = 20;
Flw