Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Apprendre Passage par valeur en Java | Section
Concepts Essentiels de Java

bookPassage par valeur en Java

Glissez pour afficher le menu

Comprendre le passage par valeur en Java

En Java, tous les arguments de méthode sont passés par valeur. Cela signifie que lorsque vous transmettez une variable à une méthode, Java copie la valeur de cette variable et envoie cette copie à la méthode. La méthode travaille alors avec cette copie, et non avec la variable originale de votre code.

  • Lorsque vous transmettez un type primitif (comme int, double ou boolean), la méthode reçoit une copie de la valeur réelle. Toute modification apportée au paramètre à l'intérieur de la méthode n'affecte pas la variable originale en dehors de la méthode ;
  • Lorsque vous transmettez une référence d'objet (comme un tableau ou une classe personnalisée), Java transmet toujours la valeur de la référence (l'adresse mémoire). La méthode reçoit une copie de cette référence, de sorte que l'original et le paramètre de la méthode pointent vers le même objet. Vous pouvez modifier l'état interne de l'objet à l'intérieur de la méthode, mais si vous assignez un nouvel objet au paramètre, la référence originale en dehors de la méthode n'est pas affectée.

Ce comportement est important pour anticiper comment vos variables changent — ou restent inchangées — après l'appel de méthodes en 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); } }

Dans ce code, la méthode changeValue reçoit une copie de la variable number car Java utilise le passage par valeur.
La modification de num à l'intérieur de la méthode n'affecte pas number dans main, donc sa valeur reste 10 après l'appel de la méthode.

question mark

Que s'affiche-t-il lors de l'exécution de ce code ?

Select the correct answer

Tout était clair ?

Comment pouvons-nous l'améliorer ?

Merci pour vos commentaires !

Section 1. Chapitre 10

Demandez à l'IA

expand

Demandez à l'IA

ChatGPT

Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion

Section 1. Chapitre 10
some-alt