Escolar Documentos
Profissional Documentos
Cultura Documentos
1
public class AreaDominio_VarLocais { public
static void main(String args[])
{ int v = 50;
System.out.println("V= "+v+" antes da chamada");
muda();
System.out.println("V= "+v+" depois da chamada");
}
public static void muda()
{ int v = 100;
System.out.print("V="+v+" dentro do metodo muda");
}
}
O output será:
V= 50 antes da chamada
V= 100 dentro do metodo muda
V= 50 depois da chamada
2
Variáveis globais
Variáveis declarados no início da execução do programa, fora de qualquer
método, chamam-se globais. Eles podem ser utilizados em qualquer método
e são destruídas quando o programa termina. Não é boa prática declarar todas
as variáveis como globais.
public class AreaDominio_VarGlobais
{ static int v;
public static void muda()
{ v = 100;
System.out.println("V= "+v+" dentro do metodo muda");
}
public static void main(String[] args)
{ v = 50;
System.out.println("V= "+v+" antes da chamada");
muda();
System.out.println("V= "+v+" depois da chamada");
}
}
3
O output será: V= 50 antes da chamada
V= 100 dentro do método muda
V= 100 depois da chamada
Passagem de parâmetros
Em Java, a passagem de parâmetros de tipos predefinidos (int, float,
boolean, etc.) é feita por valor, que significa que não é o parâmetro real que
é passado ao método, mas apenas o seu valor. Este tipo de passagem implica
que o valor da variável fica inalterável após a execução do subprograma,
independentemente das alterações feitas. Exemplo:
public class Exemplo
{
public static void muda(int valor)
{ valor = 20;
} public static void main(String[]
args)
{ int x = 10; //cria variável x e inicializa-a
5
muda(x); //chamada do método muda com passagem de parâm. x
System.out.println("O conteúdo da variavel x= "+x); }
}
O output será:
O conteudo da variavel x= 10
A execução deste programa começa pelo subprograma main(), como é
habitual. Após de inicialização da variável x com o valor 10 é invocado o
método muda(), tendo como parâmetro real a variável x. Este parâmetro
corresponde ao parâmetro formal valor. Durante a execução do método
muda() a variável valor, inicialmente tendo o valor 10, passado na
hora de chamada, recebe o novo valor 20.
6
Valor de retorno
Todos os métodos até agora considerados não devolvem qualquer
resultado ao método que faz a sua chamada. Este facto é confirmado
pela presença da palavra reservada void no cabeçalho.
Quando é necessário que o método devolva um valor que calculou, a
palavra void deve ser substituída pelo tipo de resultado que o método
deve devolver.
Este programa testa o método chamado cubo() que devolve o cubo
dum valor do tipo byte passado como parâmetro:
public class TestarCubo
{ public static void main(String[] args)
{ for (byte i = 1; i<=5; i++)
System.out.println (i + "\t"+ cubo(i));
}
public static int cubo (byte n)
{ return n*n*n;
7
}
}
O output será:
1 1 O método main contém o ciclo for que invoca 5 vezes
2 8 o método println(). Por sua vez, o método println
3 27 invoca o método cubo(), passando o valor do argumento i
4 64 para o parâmetro n. O cabeçalho (linha 8) indica que o
5 125 método cubo() devolve um resultado do tipo int e recebe
um parâmetro n do tipo byte.
8
Referência bibliográfica:
John R. Hubbard.
“Theory and problems of programming with Java”. Schaum’s Outline series. McGraw-Hill.
H. Deitel; P. Deitel.
“Java, como programar”. 4 edição. 2003. Bookman.