Como a utilização de métodos que usam parâmetros em Java

UMA parâmetro

é um valor que você pode passar para um método em Java. Em seguida, o método pode utilizar o parâmetro como se fosse uma variável local inicializado com o valor da variável transmitida ao mesmo através do método de chamada.

A aplicação de adivinhação jogo tem um método chamado getRandomNumber que retorna um número aleatório entre 1 e 10:

pública getRandomNumber static int () {return (int) (Math.random () * 10) + 1-}

Este método é útil, mas seria ainda mais útil se você poderia dizer que o intervalo de números que você deseja que o número aleatório para cair no Seria bom para chamar o método como este para obter um número aleatório entre 1 e 10.:

int number = getRandomNumber (1, 10) -

Então, se o seu programa precisa rolar dados, você poderia chamar o mesmo método:

número int = getRandomNumber (1, 6) -

Ou, para escolher uma carta aleatória de um baralho de 52 cartas, você poderia chamá-lo assim:

int number = getRandomNumber (1, 52) -

Você não tem que começar com 1, também. Para obter um número aleatório entre 50 e 100, você chamar o método como este:

int number = getRandomNumber (50, 100) -

declarando parâmetros

Um método que aceita parâmetros deve listar os parâmetros na declaração de método. Os parâmetros são colocadas numa lista de parâmetros dentro dos parênteses que seguem o nome do método. Para cada parâmetro usado pelo método, você listar o tipo de parâmetro seguido do nome do parâmetro. Se você precisar de mais de um parâmetro, você separar os parâmetros com vírgulas.

Aqui está uma versão do getRandomNumber método que aceita parâmetros:

public static int getRandomNumber (int min, int max) {return (int) (Math.random () * (max - min + 1)) + min-}

Aqui, o método utiliza dois parâmetros, ambos do tipo int, nomeado min e max. Em seguida, no interior do corpo do método, estes parâmetros podem ser usadas como se fossem variáveis ​​locais.

Os nomes que você usa para os parâmetros podem ser os mesmos que os nomes que usam para as variáveis ​​que você passa para o método quando você chamá-lo, mas eles não têm que ser. Você poderia chamar o getRandomNumber método como este:

int min = 1-int número máximo = 10 = int getRandomNumber (min, max) -

Ou você poderia chamá-lo assim:

int baixo = 1-int high = número de 10 int = getRandomNumber (baixo, alto) -

Ou você poderia dispensar as variáveis ​​completamente e apenas passar valores literais para o método:

int number = getRandomNumber (1, 10) -

Você também pode especificar expressões como os valores dos parâmetros:

int min = 1-int max = 10 int number = getRandomNumber (min * 10, max * 10) -

Aqui número é atribuído um valor compreendido entre 10 e 100.

Delimitação do âmbito parâmetros

O âmbito de um parâmetro é o método para o qual o parâmetro é declarada. Como resultado, um parâmetro pode ter o mesmo nome de variáveis ​​locais utilizadas em outros métodos, sem causar qualquer conflito. Considere este programa:

ParameterScope classe pública {static void main (String [] args) {int públicas min = 1-int max = 10 int number = getRandomNumber (min, max) -System.out.println (número) -} public static int getRandomNumber ( int min, int max) {return (int) (Math.random () * (max - min + 1)) + min-}}

aqui o a Principal método declara variáveis ​​nomeadas min e max, e a getRandomNumber usa o método min e max por seus nomes de parâmetro. Isto não provoca qualquer conflito, porque em cada caso o âmbito de aplicação é limitada a um único método.

Compreender passe por valor

Quando Java passa uma variável para um método através de um parâmetro, o método em si recebe uma cópia do valor da variável, não a própria variável. Essa cópia é chamado de passar por valor, e tem uma consequência importante: Se um método altera o valor que ele recebe como um parâmetro, que a mudança é não refletida na variável original que foi passado para o método. Este programa pode ajudar a esclarecer isso:

ChangeParameters classe pública {public static void main (String [] args) {int number = 1-tryToChangeNumber (número) -System.out.println (número) -} public static void tryToChangeNumber (int i) {i = 2}}

Aqui uma variável chamada número está configurado para 1 e, em seguida, passada para o método denominado tryToChangeNumber. Este método recebe a variável como um parâmetro denominado Eu e, em seguida, ajusta o valor de Eu para 2. Enquanto isso, de volta ao a Principal método, println é utilizado para imprimir o valor de número depois de tryToChangeNumber método retorna.

Porque tryToChangeNumber recebe apenas uma cópia do número, não o número -se variável, este programa exibe o seguinte no console: 1.

O ponto-chave é esta: Mesmo que o tryToChangeNumber método altera o valor do seu parâmetro, que a mudança não tem efeito sobre a variável original que foi passado para o método.

menu