Java Program to Convert Uppercase to Lowercase

This article is created to cover a program in Java that converts uppercase character or string to its equivalent lowercase version with and without using string function. Here are the list of programs covered in this article:

The string function, I'm talking about, is toLowerCase().

Note - ASCII values of A-Z are 65-90. And ASCII values of a-z are 97-122.

Note - ASCII value of 'a' is 97, whereas the ASCII value of 'A' is 65. Means the ASCII value of lowercase character to its equivalent uppercase, is 32 more. Therefore, adding 32 to the ASCII value of an uppercase character, becomes the ASCII value of its equivalent lowercase character.

Uppercase Character to Lowercase in Java using ASCII

The question is, write a Java program to convert an uppercase character to its equivalent lowercase character using ASCII value of the character. The character must be received by user at run-time of the program. The program given below is its answer:

import java.util.Scanner;

public class fresherearth
{
   public static void main(String[] args)
   {
      char chUpper, chLower;
      int ascii;
      Scanner scan = new Scanner(System.in);
      
      System.out.print("Enter a Character in Uppercase: ");
      chUpper = scan.next().charAt(0);
      
      ascii = chUpper;
      ascii = ascii + 32;
      chLower = (char)ascii;
      
      System.out.println("\nEquivalent Character in Lowercase = " +chLower);
   }
}

The snapshot given below shows the sample output produced by above Java program. This is the initial/first output:

Java Program convert uppercase character lowercase

Now enter a character in uppercase say Y and press ENTER key to convert and print the same character back on the output screen, but in lowercase as shown in the snapshot given below:

java convert uppercase character to lowercase

The main block of code in above program, is the following three statements:

ascii = chUpper;
ascii = ascii + 32;
chLower = (char)ascii;

Using the first statement, the ASCII value of character stored in the variable chUpper gets initialized to ascii. This is because, chUpper is of char type, whereas ascii is of int. We need not to cast while conversion from lower to higher data type, because of Java Type Promotion Rules, But in the third statement, we need to cast, to covert from int to char, or ASCII to its equivalent character.

Uppercase Character to Lowercase in Java - Complete Version

Since previous program produces wrong output, when user enters a character already in lowercase or any character other than alphabet. Therefore, I've modified that program. Here is the modified version of previous program:

import java.util.Scanner;

public class fresherearth
{
   public static void main(String[] args)
   {
      Scanner scan = new Scanner(System.in);
      
      System.out.print("Enter an Alphabet in Uppercase: ");
      char chUpper = scan.next().charAt(0);
      
      int ascii = chUpper;
      if(ascii>=65 && ascii<=90)
      {
         ascii = ascii + 32;
         char chLower = (char)ascii;
         System.out.println("\nEquivalent Character in Lowercase = " +chLower);
      }
      else if(ascii>=97 && ascii<=122)
         System.out.println("\nAlphabet is already in lowercase.");
      else
         System.out.println("\nInvalid Input!");
   }
}

The snapshot given below shows the sample run of above Java program, with user input 2

uppercase to lowercase character in java using ascii

Here is another sample run with user input r

java uppercase to lowercase program

Uppercase String to Lowercase in Java without using String Function

This program converts string from uppercase to lowercase, without using the string function. I've used ASCII values to do the job, in similar way, while done in the conversion of uppercase character to lowercase, as in previous program.

import java.util.Scanner;

public class fresherearth
{
   public static void main(String[] args)
   {
      String strUpper;
      int i, ascii;
      char ch;
      Scanner scan = new Scanner(System.in);
      
      System.out.print("Enter the String: ");
      strUpper = scan.nextLine();
      
      int len = strUpper.length();
      char[] strUpperChars = new char[len];
      char[] strLowerChars = new char[len];
      for(i=0; i<len; i++)
         strUpperChars[i] = strUpper.charAt(i);
 
      for(i=0; i<len; i++)
      {
         ch = strUpperChars[i];
         ascii = ch;
         if(ascii>=65 && ascii<=90)
         {
            ascii = ascii + 32;
            ch = (char)ascii;
            strLowerChars[i] = ch;
         }
         else
            strLowerChars[i] = ch;
      }
      
      System.out.print("\nString in Lowercase: ");
      for(i=0; i<len; i++)
         System.out.print(strLowerChars[i]);
   }
}

Convert String from Uppercase to Lowercase in Java using String Function

This is the last program of this article, created using a string function named toLowerCase(), that converts the whole string into lowercase.

import java.util.Scanner;

public class fresherearth
{
   public static void main(String[] args)
   {
      Scanner scan = new Scanner(System.in);
      
      System.out.print("Enter the String: ");
      String strUpper = scan.nextLine();
      
      String strLower = strUpper.toLowerCase();
      System.out.println("\nEquivalent String in Lowercase: " +strLower);
   }
}

The snapshot given below shows the sample run of above Java program with user input fresherearth @fO45 as string to convert and print its equivalent string in lowercase:

uppercase to lowercase string java

See how the short program becomes after using a library function named toLowerCase(). To make it more shorter, the same program can also be written as:

import java.util.Scanner;

public class fresherearth
{
   public static void main(String[] args)
   {
      Scanner scan = new Scanner(System.in);
      System.out.print("Enter the String: ");
      String str = scan.nextLine();
      System.out.println("\nEquivalent in Lowercase: " +str.toLowerCase());
   }
}

You'll get the same output as of previous program.

Same Program in Other Languages

Java Online Test


« Previous Program Next Program »