Introdução à Troca em Java

Como todos sabemos, o Java é uma das linguagens mais populares quando se trata de desenvolvimento de software. Compreender alguns dos conceitos usados ​​com frequência é muito importante e pode ajudar o programador a usá-los mesmo na solução de grandes problemas. A troca é um dos conceitos usados ​​com frequência nos programas. Trocar significa a troca de valores de variáveis. Isso é feito com os dados na memória. A troca pode ser feita com a ajuda de uma variável temporária ou sem o uso da variável temporária. A maioria dos algoritmos de classificação e pesquisa usa a troca dos valores das variáveis. Neste tópico, vamos aprender sobre a troca em Java.

Troca de dois números em Java

Vamos dar uma olhada com a ajuda de algum exemplo

Caso 1: Troca de números usando a variável temporária

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);
)
)

Resultado:

Os valores originais antes da troca são:
O valor do número 1 é 10
O valor do número 2 é 20 Os valores após a troca são:
O valor do número 1 é 20
O valor do número 2 é 10

Explicação

No programa acima, tínhamos duas variáveis ​​nomeadas num1 e num2 com os valores de 10 e 20, respectivamente. Uma variável temporária com o nome temp é usada com o mesmo tipo de dados das variáveis ​​num1 e num2. A troca é processada em 3 etapas:

  1. O valor de 'num1' (ou seja, 10) é atribuído à variável temporária 'temp', então agora o valor de 'temp' é 10.
  2. O valor de 'num2' (ou seja, 20) é atribuído à variável 'num1', ou seja, agora o valor da variável 'num1' é 20.
  3. O valor da variável 'temp' (ou seja, 10) atribuído na etapa 1 agora está atribuído à variável 'num 2', ou seja, o valor da variável 'num2' passa a 10 agora.

Finalmente, os valores das variáveis ​​são trocados ou trocados e os valores trocados são impressos no console.

Caso 2: Troca de dois números sem usar a variável temporária

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);
)
)

Resultado:

Os valores originais antes da troca são:
O valor do número 1 é 10
O valor do número 2 é 20 Os valores após a troca são:
O valor do número 1 é 20
O valor do número 2 é 10

Explicação

No exemplo acima, matemática simples é seguida para trocar os números, que são feitos em 3 etapas:

  1. O valor de num1- num2 (ou seja, 10-20 = -10) é armazenado na variável 'num1'. Agora num1 = -10.
  2. Valor de num1 + num2 (ou seja, -10 + 20 = 10) armazenado na variável 'num2'. Agora num2 = 10.
  3. O valor de num2-num1 (ou seja, 10 - (-10)) = 20) é armazenado na variável 'num1'. Agora, num1 = 20.

Troca de três números em Java

Vamos estudar a troca de três números com a ajuda de algum exemplo

Caso 1: Troca de números sem usar uma variável temporária

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);
)
)

Resultado:

Os valores originais antes da troca são:
O valor do número 1 é 10
O valor do número 2 é 20
O valor do número 3 é 30. Os valores após a troca são:
O valor do número 1 é 30
O valor do número 2 é 10
O valor do número 3 é 20

Explicação

No exemplo acima, matemática simples é seguida para trocar o valor de 3 variáveis. Envolve 4 etapas mencionadas abaixo:

  1. O valor de num1 + num2 + num3 (ou seja, 10 + 20 + 30 = 60) é atribuído à variável 'num1'. Então, num1 = 60.
  2. O valor de num1- (num2 + num3) (ou seja, 60 - (20 + 30) = 10) é atribuído à variável 'num2'. Então num2 = 10.
  3. O valor de num1- (num2 + num3) (ou seja, 60 - (10 + 30) = 20) é atribuído à variável 'num3'. Então, num3 = 20.
  4. O valor de num1- (num2 + num3) (ou seja, 60 - (10 + 20) = 30) é atribuído à variável 'num1'. Então, num1 = 30.

Os valores trocados de 3 variáveis ​​são impressos no console.

Caso 2: Troca de 3 números usando uma variável temporária

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);
)
)

Resultado:

Os valores originais antes da troca são:
O valor do número 1 é 10
O valor do número 2 é 20
O valor do número 3 é 30. Os valores após a troca são:
O valor do número 1 é 20
O valor do número 2 é 30
O valor do número 3 é 10

Explicação

No programa acima, a troca de 3 números é realizada em 4 etapas simples e uma variável temporária 'temp' é usada:

  1. O valor de num1 (ou seja, 10) é atribuído à variável temp. Então, agora a temperatura tem o valor 10.
  2. O valor da variável num2 (ou seja, 20) é atribuído a num1, então o valor num1 é 20 agora.
  3. Valor se a variável num3 (ou seja, 30) for atribuída à variável num2, de modo que num2 tenha o valor 30.
  4. O valor da variável temp (ou seja, 10) é atribuído à variável num3, portanto, num3 tem valor 10 agora.
    Os valores dos três números são trocados e impressos no console.

Conclusão

Como explicado acima, a troca é realizada das duas maneiras mencionadas acima. Embora a troca em Java também possa ser feita usando chamada por referência, que usa o endereço de números para avaliar os valores.

Artigos recomendados

Este é um guia para Trocar em Java. Aqui discutimos a troca de dois números e três números em Java com e sem o uso de variáveis ​​temporárias. Você também pode consultar os seguintes artigos para saber mais -

  1. CardLayout em Java
  2. Trocando em Python
  3. Ciclo de vida do encadeamento em Java
  4. Seleção Classificar em Java
  5. Como a troca funciona em C ++?
  6. Trocando em PHP