Cómo comparar caracteres en la programación en Java (En 5 Pasos)

Por sue smith
Cómo comparar caracteres en la programación en Java (En 5 Pasos)
BananaStock/BananaStock/Getty Images

Como desarrollador en Java, puedes comparar caracteres dentro de tus programas. Java almacena caracteres de una manera que te permite compararlos fácilmente. Los caracteres y los números enteros se almacenan de forma similar en Java, por lo que estos se comparan con sus valores numéricos. En la mayoría de los casos, la comparación consiste en averiguar cuál se produce primero por orden alfabético, en cuyo caso se considera inferior. La comparación de caracteres puede ser una función útil en la organización de cadenas de texto si planeas almacenarlas en orden alfabético.

Paso 1

Prepara dos caracteres en tu programa en Java. Puedes crear variables primitivas de caracteres directamente o utilizar los caracteres que ocurren en las cadenas de texto que tengas. El siguiente ejemplo de código ilustra los dos métodos:

char firstChar = 'g'; String fullString = "apple"; char secondChar = fullString.charAt(1);//'p'

El código crea dos variables de caracter. Ambos son letras minúsculas del alfabeto, "g" y "p", respectivamente.

Paso 2

Compara tus caracteres. El siguiente ejemplo de código muestra la comparación de los dos caracteres para determinar cuál es el primero en orden alfabético:

if(firstChar<secondChar) System.out.println("First character comes first"); else if(secondChar<firstChar) System.out.println("Second character comes first"); else System.out.println("Both characters are equal");

La comparación funciona de la misma manera que con la comparación de dos números, ya sea que el caracter sea mayor o igual. Guarda tu código, compílalo y ejecútalo para ver el resultado. Experimenta mediante la alteración de las variables de caracteres para comprobar que la comparación funcione con precisión.

Paso 3

Compara caracteres con diferentes casos. Los caracteres en mayúsculas y minúsculas se representan en Java utilizando diferentes valores. Por esta razón, las comparaciones a veces pueden tener resultados inesperados. Modifica la primera línea del código de la siguiente manera para demostrar la diferencia:

char firstChar = 'S';

Ejecuta tu programa que deberá emitir lo siguiente: First character comes first

Esto puede ser inesperado, ya que la letra "S" es posterior alfabéticamente a la letra "p". Java representa los caracteres de tipo primitivo utilizando sus valores ASCII y las letras mayúsculas se representan usando números más bajos. Toma esto en cuenta cuando compares caracteres.

Paso 4

Usa objetos de caracteres para representar tus caracteres. El lenguaje Java proporciona la clase de caracteres para modelarlos como objetos en vez de tipos primitivos. Utiliza estos objetos en tu código de la siguiente manera:

Character firstCharacter = new Character('v'); Character secondCharacter = new Character('t');

La clase de caracteres es contenedora para el tipo primitivo "char". En los objetos de caracteres se crea una instancia pasando el caracter representado en su forma primitiva como un parámetro al constructor de la clase, como se vio en este ejemplo.

Paso 5

Compara los objetos de tus caracteres. La clase de caracter proporciona un método de comparación de la siguiente manera:

int result = firstCharacter.compareTo(secondCharacter); if(result<0) System.out.println("First Character comes first"); else if(result>0) System.out.println("Second Character comes first"); else System.out.println("Both characters are equal");

Introduce este código y vuelve a probar tu programa; debe arrojar el siguiente resultado: Second Character comes first

Toma en cuenta que los caracteres en mayúsculas aún están representados con un valor más bajo cuando usas la clase de caracter.