Variavel Local

10 respostas
fabricioknight

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!

10 Respostas

E
  1. É
  2. Você pode usar seu valor.
adriano_si

Cuidado com os conceitos… o que eh o LOCAL nessa sua pergunta ???

S

é possivel sim,
mas eu acho que a tua pergunta não esta clara, deves ser mais objectivo no que queres saber

fabricioknight

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!

adriano_si

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…

adriano_si
fabricioknight:
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 ;)

V

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.

adriano_si

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…

adriano_si
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);
    }
}
Um teste so pra fechar o conceito...
fabricioknight

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

Criado 18 de agosto de 2010
Ultima resposta 18 de ago. de 2010
Respostas 10
Participantes 5