Introduction à l'échange en Java

Comme nous le savons tous, Java est l'un des langages les plus tendance en matière de développement de logiciels. Comprendre ses quelques concepts fréquemment utilisés est très important et peut aider le programmeur à les utiliser même pour résoudre de gros problèmes. L'échange est l'un des concepts fréquemment utilisés dans les programmes. L'échange signifie l'échange de valeurs de variables. Cela se fait avec les données en mémoire. L'échange peut être effectué à l'aide d'une variable temporaire ou sans utiliser la variable temporaire. La plupart des algorithmes de tri et de recherche utilisent l'échange des valeurs des variables. Dans cette rubrique, nous allons en savoir plus sur l'échange en Java.

Échange de deux nombres en Java

Jetons un coup d'œil à l'aide d'un exemple

Cas 1: échange de nombres à l'aide de la variable temporaire

public class Swap2Numbers
(
public static void main(String() args)
(
int num1=10;
int num2 =20;
// Printing values of numbers before swapping in order to see the change
System.out.println("Original values before swapping are:");
System.out.println("Value of number 1 is " +num1); System.out.println("Value of number 2 is " +num2);
// Value of num1, ie 10 is assigned to temp variable int temp = num1;
// Value of num2, ie 20 is assigned to num1 variable num1 = num2;
// Value of temp variable, ie 10 (assigned by num1) is assigned to num2
num2 = temp;
// Printing values of numbers after swapping in order to see the change
System.out.println("Values after swapping are:");
System.out.println("Value of number 1 is " +num1);
System.out.println("Value of number 2 is " +num2);
)
)

Production:

Les valeurs d'origine avant l'échange sont les suivantes:
La valeur du numéro 1 est 10
La valeur du numéro 2 est 20 Les valeurs après l'échange sont:
La valeur du numéro 1 est 20
La valeur du numéro 2 est 10

Explication

Dans le programme ci-dessus, nous avions deux variables nommées num1 et num2 avec les valeurs de 10 et 20 respectivement. Une variable temporaire nommée temp est utilisée du même type de données que les variables num1 et num2. L'échange est traité en 3 étapes:

  1. La valeur de 'num1' (ie 10) est affectée à la variable temporaire 'temp', donc maintenant la valeur de 'temp' est 10.
  2. La valeur de 'num2' (c'est-à-dire 20) est affectée à la variable 'num1', c'est-à-dire que maintenant la valeur de la variable 'num1' est 20.
  3. La valeur de la variable 'temp' (ie 10) assignée à l'étape 1 est maintenant assignée à la variable 'num 2', c'est-à-dire que la valeur de la variable 'num2' devient 10 maintenant.

Enfin, les valeurs des variables sont échangées ou échangées et les valeurs échangées sont imprimées sur la console.

Cas 2: échange de deux nombres sans utiliser la variable temporaire

public class SwapNumbers
(
public static void main(String() args)
(
int num1= 10; int num2= 20;
// Printing values of numbers before swapping in order to see the change
System.out.println("Original values before swapping are:");
System.out.println("Value of number 1 is " +num1); System.out.println("Value of number 2 is " +num2);
num1 = num1- num2; num2 = num1 +num2;
num1 = num2- num1;
// Printing values of numbers after swapping in order to see the change
System.out.println("Values after swapping are:");
System.out.println("Value of number 1 is " +num1); System.out.println("Value of number 2 is " +num2);
)
)

Production:

Les valeurs d'origine avant l'échange sont les suivantes:
La valeur du numéro 1 est 10
La valeur du numéro 2 est 20 Les valeurs après l'échange sont:
La valeur du numéro 1 est 20
La valeur du nombre 2 est 10

Explication

Dans l'exemple ci-dessus, des mathématiques simples sont suivies pour échanger les nombres, ce qui se fait en 3 étapes:

  1. La valeur de num1- num2 (c'est-à-dire 10-20 = -10) est stockée dans la variable 'num1'. Maintenant num1 = -10.
  2. Valeur de num1 + num2 (ie -10 + 20 = 10) stockée dans la variable 'num2'. Maintenant num2 = 10.
  3. La valeur de num2- num1 (c'est-à-dire 10 - (-10)) = 20) est stockée dans la variable 'num1'. Maintenant, num1 = 20.

Échange de trois nombres en Java

Étudions l'échange de trois nombres à l'aide d'un exemple

Cas 1: échange de numéros sans utiliser de variable temporaire

public class Swap3Numbers
(
public static void main(String() args)
(
int num1= 10; int num2= 20; int num3= 30;
// Printing values of numbers before swapping in order to see the change
System.out.println("Original values before swapping are:");
System.out.println("Value of number 1 is " +num1);
System.out.println("Value of number 2 is " +num2); System.out.println("Value of number 3 is " +num3);
num1 = num1+ num2+ num3; num2 = num1- (num2+ num3); num3 = num1- (num2+ num3); num1 = num1- (num2+ num3);
// Printing values of numbers after swapping in order to see the change
System.out.println("Values after swapping are:");
System.out.println("Value of number 1 is " +num1);
System.out.println("Value of number 2 is " +num2);
System.out.println("Value of number 3 is " +num3);
)
)

Production:

Les valeurs d'origine avant l'échange sont les suivantes:
La valeur du numéro 1 est 10
La valeur du numéro 2 est 20
La valeur du numéro 3 est de 30 Les valeurs après l'échange sont:
La valeur du numéro 1 est 30
La valeur du nombre 2 est 10
La valeur du numéro 3 est 20

Explication

Dans l'exemple ci-dessus, des mathématiques simples sont suivies pour échanger la valeur de 3 variables. Cela implique 4 étapes qui sont mentionnées ci-dessous:

  1. La valeur de num1 + num2 + num3 (c'est-à-dire 10 + 20 + 30 = 60) est affectée à la variable 'num1'. Donc num1 = 60.
  2. La valeur de num1- (num2 + num3) (c'est-à-dire 60 - (20 + 30) = 10) est affectée à la variable 'num2'. Donc num2 = 10.
  3. La valeur de num1- (num2 + num3) (c'est-à-dire 60 - (10 + 30) = 20) est affectée à la variable 'num3'. Donc num3 = 20.
  4. La valeur de num1- (num2 + num3) (c'est-à-dire 60 - (10 + 20) = 30) est affectée à la variable 'num1'. Donc num1 = 30.

Les valeurs échangées de 3 variables sont imprimées sur la console.

Cas 2: échange de 3 nombres à l'aide d'une variable temporaire

public class Swap3Numbers
(
public static void main( String() args)
(
int num1=10; int num2 =20; int num3 =30;
// Printing values of numbers before swapping in order to see the change
System.out.println("Original values before swapping are:");
System.out.println("Value of number 1 is " +num1);
System.out.println("Value of number 2 is " +num2); System.out.println("Value of number 3 is " +num3);
int temp = num1; num1 = num2; num2= num3;
num3= temp;
// Printing values of numbers after swapping in order to see the change
System.out.println("Values after swapping are:");
System.out.println("Value of number 1 is " +num1);
System.out.println("Value of number 2 is " +num2); System.out.println("Value of number 3 is " +num3);
)
)

Production:

Les valeurs d'origine avant l'échange sont les suivantes:
La valeur du numéro 1 est 10
La valeur du numéro 2 est 20
La valeur du numéro 3 est de 30 Les valeurs après l'échange sont:
La valeur du numéro 1 est 20
La valeur du numéro 2 est 30
La valeur du numéro 3 est 10

Explication

Dans le programme ci-dessus, l'échange de 3 nombres est effectué en 4 étapes simples et une variable temporaire 'temp' est utilisée:

  1. La valeur de num1 (c'est-à-dire 10) est affectée à la variable temp. Donc, maintenant, le temp a la valeur 10.
  2. La valeur de la variable num2 (c'est-à-dire 20) est affectée à num1, la valeur num1 est donc 20 maintenant.
  3. Valeur si la variable num3 (c'est-à-dire 30) est affectée à la variable num2, donc num2 a la valeur 30.
  4. La valeur de la variable temp (c'est-à-dire 10) est affectée à la variable num3, donc num3 a maintenant la valeur 10.
    Les valeurs des 3 nombres sont échangées et imprimées sur la console.

Conclusion

Comme expliqué ci-dessus, l'échange est effectué des deux manières mentionnées ci-dessus. Bien que l'échange en Java puisse également être effectué en utilisant l'appel par référence qui utilise l'adresse des nombres pour évaluer les valeurs.

Articles recommandés

Ceci est un guide pour Swapping en Java. Nous discutons ici de l'échange de deux nombres et de trois nombres en Java avec et sans utilisation de variables temporaires. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. CardLayout en Java
  2. Échange en Python
  3. Cycle de vie des threads en Java
  4. Tri de sélection en Java
  5. Comment fonctionne Swapping en C ++?
  6. Échange en PHP