Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Passagem por Valor em Java | Seção
Practice
Projects
Quizzes & Challenges
Questionários
Challenges
/
Conceitos Essenciais de Java

bookPassagem por Valor em Java

Deslize para mostrar o menu

Compreendendo Passagem por Valor em Java

Em Java, todos os argumentos de métodos são passados por valor. Isso significa que, ao passar uma variável para um método, o Java copia o valor dessa variável e envia a cópia para o método. O método então trabalha com essa cópia, não com a variável original do seu código.

  • Ao passar um tipo primitivo (como int, double ou boolean), o método recebe uma cópia do valor real. Quaisquer alterações feitas no parâmetro dentro do método não afetam a variável original fora do método;
  • Ao passar uma referência de objeto (como um array ou uma classe personalizada), o Java ainda passa o valor da referência (o endereço de memória). O método recebe uma cópia dessa referência, então tanto a original quanto o parâmetro do método apontam para o mesmo objeto. É possível alterar o estado interno do objeto dentro do método, mas se você atribuir um novo objeto ao parâmetro, a referência original fora do método não será afetada.

Esse comportamento é importante para prever como suas variáveis mudam — ou permanecem as mesmas — após chamadas de métodos em Java.

Main.java

Main.java

copy
123456789101112131415
package com.example; public class Main { public static void main(String[] args) { int number = 10; System.out.println("Before method call: number = " + number); changeValue(number); System.out.println("After method call: number = " + number); } public static void changeValue(int num) { num = 20; System.out.println("Inside method: num = " + num); } }

Neste código, o método changeValue recebe uma cópia da variável number porque o Java utiliza passagem por valor.
Alterar num dentro do método não afeta number em main, então seu valor permanece 10 após a chamada do método.

question mark

O que é impresso ao executar este código?

Select the correct answer

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 1. Capítulo 10

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Seção 1. Capítulo 10
some-alt