Cómo verificar si un carácter es mayúscula en Java

JavaJavaBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderás cómo verificar si un carácter es una letra mayúscula en Java. Exploraremos el método Character.isUpperCase(), una herramienta conveniente proporcionada por la clase Character para este propósito.

A través de ejemplos prácticos, verás cómo usar Character.isUpperCase() con diversos caracteres, incluyendo letras mayúsculas, minúsculas y caracteres que no son letras, para comprender su funcionamiento y determinar de manera efectiva si un carácter dado es mayúscula en tus programas Java.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL java(("Java")) -.-> java/BasicSyntaxGroup(["Basic Syntax"]) java(("Java")) -.-> java/StringManipulationGroup(["String Manipulation"]) java(("Java")) -.-> java/SystemandDataProcessingGroup(["System and Data Processing"]) java/BasicSyntaxGroup -.-> java/data_types("Data Types") java/BasicSyntaxGroup -.-> java/booleans("Booleans") java/BasicSyntaxGroup -.-> java/if_else("If...Else") java/BasicSyntaxGroup -.-> java/for_loop("For Loop") java/StringManipulationGroup -.-> java/strings("Strings") java/SystemandDataProcessingGroup -.-> java/string_methods("String Methods") subgraph Lab Skills java/data_types -.-> lab-559938{{"Cómo verificar si un carácter es mayúscula en Java"}} java/booleans -.-> lab-559938{{"Cómo verificar si un carácter es mayúscula en Java"}} java/if_else -.-> lab-559938{{"Cómo verificar si un carácter es mayúscula en Java"}} java/for_loop -.-> lab-559938{{"Cómo verificar si un carácter es mayúscula en Java"}} java/strings -.-> lab-559938{{"Cómo verificar si un carácter es mayúscula en Java"}} java/string_methods -.-> lab-559938{{"Cómo verificar si un carácter es mayúscula en Java"}} end

Utilizar el método Character.isUpperCase()

En este paso, exploraremos cómo determinar si un carácter es una letra mayúscula en Java utilizando el método Character.isUpperCase(). Este método es parte de la clase Character, que proporciona métodos útiles para trabajar con caracteres individuales.

El método Character.isUpperCase() es un método estático, lo que significa que puedes llamarlo directamente en la clase Character en sí, sin necesidad de crear un objeto de la clase. Toma un solo carácter como argumento y devuelve true si el carácter es una letra mayúscula, y false en caso contrario.

Vamos a crear un simple programa Java para demostrar cómo usar este método.

  1. Abre el archivo HelloJava.java en el editor WebIDE si no está abierto.

  2. Reemplaza el código existente con lo siguiente:

    public class HelloJava {
        public static void main(String[] args) {
            char char1 = 'A';
            char char2 = 'b';
            char char3 = '7';
    
            boolean isUpper1 = Character.isUpperCase(char1);
            boolean isUpper2 = Character.isUpperCase(char2);
            boolean isUpper3 = Character.isUpperCase(char3);
    
            System.out.println("Is '" + char1 + "' uppercase? " + isUpper1);
            System.out.println("Is '" + char2 + "' uppercase? " + isUpper2);
            System.out.println("Is '" + char3 + "' uppercase? " + isUpper3);
        }
    }

    En este código:

    • Declaramos tres variables de tipo char: char1, char2 y char3, y les asignamos diferentes caracteres.
    • Usamos Character.isUpperCase() para verificar si cada carácter es mayúscula y almacenamos el resultado en variables booleanas (isUpper1, isUpper2, isUpper3).
    • Finalmente, imprimimos los resultados en la consola.
  3. Guarda el archivo (Ctrl+S o Cmd+S).

  4. Compila el programa en la Terminal:

    javac HelloJava.java
  5. Ejecuta el programa compilado:

    java HelloJava

    Deberías ver una salida similar a esta:

    Is 'A' uppercase? true
    Is 'b' uppercase? false
    Is '7' uppercase? false

Esta salida confirma que Character.isUpperCase() identificó correctamente a 'A' como mayúscula y a 'b' y '7' como no mayúsculas.

Probar con caracteres de mayúsculas y minúsculas mezcladas

En el paso anterior, usamos Character.isUpperCase() con caracteres individuales. Ahora, veamos cómo podemos aplicar este método a una cadena (string) que contiene una mezcla de letras mayúsculas y minúsculas. Esto nos ayudará a entender cómo iterar a través de una cadena y verificar la capitalización de cada carácter.

Una cadena en Java es una secuencia de caracteres. Podemos acceder a caracteres individuales en una cadena utilizando el método charAt(), que toma un índice (posición) como argumento. El índice comienza en 0 para el primer carácter.

Vamos a modificar nuestro programa para verificar la capitalización de los caracteres en una cadena.

  1. Abre el archivo HelloJava.java en el editor WebIDE.

  2. Reemplaza el código existente con lo siguiente:

    public class HelloJava {
        public static void main(String[] args) {
            String testString = "Hello Java 123";
    
            System.out.println("Checking characters in the string: \"" + testString + "\"");
    
            for (int i = 0; i < testString.length(); i++) {
                char currentChar = testString.charAt(i);
                boolean isUpper = Character.isUpperCase(currentChar);
                System.out.println("Character '" + currentChar + "' at index " + i + " is uppercase? " + isUpper);
            }
        }
    }

    En este código actualizado:

    • Definimos una variable String llamada testString con una mezcla de letras mayúsculas, minúsculas, espacios y números.
    • Usamos un bucle for para iterar a través de cada carácter de la cadena. El bucle se ejecuta desde el índice 0 hasta (pero sin incluir) la longitud de la cadena.
    • Dentro del bucle, testString.charAt(i) obtiene el carácter en el índice actual i.
    • Luego usamos Character.isUpperCase() para verificar si currentChar es mayúscula.
    • Finalmente, imprimimos el carácter, su índice y el resultado de la comprobación de mayúsculas.
  3. Guarda el archivo (Ctrl+S o Cmd+S).

  4. Compila el programa en la Terminal:

    javac HelloJava.java
  5. Ejecuta el programa compilado:

    java HelloJava

    Deberías ver una salida similar a esta, que muestra el resultado para cada carácter en la cadena:

    Checking characters in the string: "Hello Java 123"
    Character 'H' at index 0 is uppercase? true
    Character 'e' at index 1 is uppercase? false
    Character 'l' at index 2 is uppercase? false
    Character 'l' at index 3 is uppercase? false
    Character 'o' at index 4 is uppercase? false
    Character ' ' at index 5 is uppercase? false
    Character 'J' at index 6 is uppercase? true
    Character 'a' at index 7 is uppercase? false
    Character 'v' at index 8 is uppercase? false
    Character 'a' at index 9 is uppercase? false
    Character ' ' at index 10 is uppercase? false
    Character '1' at index 11 is uppercase? false
    Character '2' at index 12 is uppercase? false
    Character '3' at index 13 is uppercase? false

Esto demuestra cómo funciona Character.isUpperCase() cuando se aplica a caracteres extraídos de una cadena, identificando correctamente a 'H' y 'J' como mayúsculas.

Ignorar caracteres que no son letras

En el paso anterior, vimos que Character.isUpperCase() devuelve false para caracteres que no son letras, como espacios y números. A menudo, cuando se analiza texto, solo nos interesan las letras y queremos ignorar otros caracteres.

La clase Character proporciona otro método útil, Character.isLetter(), que devuelve true si un carácter es una letra (ya sea mayúscula o minúscula), y false en caso contrario. Podemos combinar Character.isLetter() y Character.isUpperCase() para verificar si un carácter es una letra mayúscula y, al mismo tiempo, ignorar los caracteres que no son letras.

Vamos a modificar nuestro programa para contar el número de letras mayúsculas en la cadena, ignorando espacios, números y otros caracteres que no son letras.

  1. Abre el archivo HelloJava.java en el editor WebIDE.

  2. Reemplaza el código existente con lo siguiente:

    public class HelloJava {
        public static void main(String[] args) {
            String testString = "Hello Java 123";
            int uppercaseCount = 0;
    
            System.out.println("Counting uppercase letters in the string: \"" + testString + "\"");
    
            for (int i = 0; i < testString.length(); i++) {
                char currentChar = testString.charAt(i);
    
                // Check if the character is a letter AND if it is uppercase
                if (Character.isLetter(currentChar) && Character.isUpperCase(currentChar)) {
                    uppercaseCount++;
                    System.out.println("Found uppercase letter: '" + currentChar + "' at index " + i);
                }
            }
    
            System.out.println("Total uppercase letters found: " + uppercaseCount);
        }
    }

    En este código:

    • Inicializamos una variable entera uppercaseCount en 0.
    • Dentro del bucle, agregamos una condición if: if (Character.isLetter(currentChar) && Character.isUpperCase(currentChar)). El operador && significa "y". Esta condición es verdadera solo si Character.isLetter(currentChar) es verdadero y Character.isUpperCase(currentChar) también es verdadero.
    • Si la condición es verdadera, incrementamos uppercaseCount e imprimimos un mensaje que indica que se ha encontrado una letra mayúscula.
    • Después de que el bucle termine, imprimimos el recuento total de letras mayúsculas.
  3. Guarda el archivo (Ctrl+S o Cmd+S).

  4. Compila el programa en la Terminal:

    javac HelloJava.java
  5. Ejecuta el programa compilado:

    java HelloJava

    Deberías ver una salida similar a esta:

    Counting uppercase letters in the string: "Hello Java 123"
    Found uppercase letter: 'H' at index 0
    Found uppercase letter: 'J' at index 6
    Total uppercase letters found: 2

Esta salida muestra que nuestro programa identificó y contó correctamente solo las letras mayúsculas ('H' y 'J'), ignorando las letras minúsculas, los espacios y los números.

Resumen

En este laboratorio (lab), aprendimos cómo verificar si un carácter es mayúscula en Java utilizando el método estático Character.isUpperCase(). Este método toma un solo carácter como entrada y devuelve un valor booleano que indica si el carácter es una letra mayúscula. Demostramos su uso con un sencillo programa en Java, probándolo con caracteres mayúsculas, minúsculas y que no son letras para observar los resultados booleanos devueltos.