Toggle Case of Each Character in a String in Java — Definition, Examples and Program

Learn how to toggle the case of each character in a string using Java. This program converts uppercase letters to lowercase and lowercase letters to uppercase without using built-in case conversion methods.

Toggle Case of Each Character in a String in Java

Toggling the case of characters means converting uppercase letters to lowercase and lowercase letters to uppercase while keeping other characters unchanged.

This problem is useful in text processing, formatting user input, and understanding ASCII character manipulation in Java.

How the Logic Works

  1. Convert the string into a character array.
  2. Traverse each character one by one.
  3. If the character is uppercase, convert it to lowercase.
  4. If the character is lowercase, convert it to uppercase.
  5. Leave digits and special characters unchanged.

Example 1

Input: "Java123"

Output: jAVA123

Example 2

Input: "HeLLo WoRLd"

Output: hEllO wOrlD

Java Program to Toggle Case of Each Character


import java.util.Scanner;

public class ToggleCase {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);

        System.out.print("Enter a string: ");
        String str = sc.nextLine();

        char[] chars = str.toCharArray();

        for (int i = 0; i < chars.length; i++) {

            if (chars[i] >= 'A' && chars[i] <= 'Z') {
                chars[i] = (char)(chars[i] + 32);
            }
            else if (chars[i] >= 'a' && chars[i] <= 'z') {
                chars[i] = (char)(chars[i] - 32);
            }
        }

        System.out.println("Toggled String: " + new String(chars));
    }
}

Sample Output


Enter a string: Java ProGRAM
Toggled String: jAVA pROgram

Important Notes

Practice Challenges

  1. Toggle case only for alphabetic characters at even positions.
  2. Count how many characters were toggled.
  3. Create a version using bitwise XOR.

This program strengthens understanding of character encoding and low-level string manipulation in Java.