Javascript required
Skip to content Skip to sidebar Skip to footer

How to Change a Char to Lowercase in Java

Convert characters of a string to opposite case

Given a string, convert the characters of the string into opposite case,i.e. if a character is lower case then convert it into upper case and vice-versa.

Examples:

Attention reader! All those who say programming isn't for kids, just haven't met the right mentors yet. Join the Demo Class for First Step to Coding Course,specificallydesigned for students of class 8 to 12.

The students will get to learn more about the world of programming in thesefree classes which will definitely help them in making a wise career choice in the future.

            Input :            geeksForgEeks            Output :            GEEKSfORGeEKS            Input :            hello every one            Output :            HELLO EVERY ONE

ASCII values  of alphabets: A – Z = 65 to 90, a – z = 97 to 122
Steps:



  1. Take one string of any length and calculate its length.
  2. Scan string character by character and keep checking the index.
    • If a character in an index is in lower case, then subtract 32 to convert it in upper case, else add 32 to convert it in lower case
  3. Print the final string.

C++

#include <iostream>

using namespace std;

void convertOpposite(string& str)

{

int ln = str.length();

for ( int i = 0; i < ln; i++) {

if (str[i] >= 'a' && str[i] <= 'z' )

str[i] = str[i] - 32;

else if (str[i] >= 'A' && str[i] <= 'Z' )

str[i] = str[i] + 32;

}

}

int main()

{

string str = "GeEkSfOrGeEkS" ;

convertOpposite(str);

cout << str;

return 0;

}

Java

class Test {

static void convertOpposite(StringBuffer str)

{

int ln = str.length();

for ( int i = 0 ; i < ln; i++) {

Character c = str.charAt(i);

if (Character.isLowerCase(c))

str.replace(i, i + 1 ,

Character.toUpperCase(c) + "" );

else

str.replace(i, i + 1 ,

Character.toLowerCase(c) + "" );

}

}

public static void main(String[] args)

{

StringBuffer str

= new StringBuffer( "GeEkSfOrGeEkS" );

convertOpposite(str);

System.out.println(str);

}

}

Python3

def convertOpposite( str ):

ln = len ( str )

for i in range (ln):

if str [i] > = 'a' and str [i] < = 'z' :

str [i] = chr ( ord ( str [i]) - 32 )

elif str [i] > = 'A' and str [i] < = 'Z' :

str [i] = chr ( ord ( str [i]) + 32 )

if __name__ = = "__main__" :

str = "GeEkSfOrGeEkS"

str = list ( str )

convertOpposite( str )

str = ''.join( str )

print ( str )

C#

using System;

using System.Text;

class GFG{

static void convertOpposite(StringBuilder str)

{

int ln = str.Length;

for ( int i=0; i<ln; i++)

{

if (str[i]>= 'a' && str[i]<= 'z' )

str[i] = ( char )(str[i] - 32);

else if (str[i]>= 'A' && str[i]<= 'Z' )

str[i] = ( char )(str[i] + 32);

}

}

public static void Main()

{

StringBuilder str = new StringBuilder( "GeEkSfOrGeEkS" );

convertOpposite(str);

Console.WriteLine(str);

}

}

Javascript

<script>

function convertOpposite(str)

{

var ln = str.length;

for ( var i = 0; i < ln; i++)

{

if (str[i] >= 'a' && str[i] <= 'z' )

document.write(

String.fromCharCode(str.charCodeAt(i) - 32)

);

else if (str[i] >= 'A' && str[i] <= 'Z' )

document.write(

String.fromCharCode(str.charCodeAt(i) + 32)

);

}

}

var str = "GeEkSfOrGeEkS" ;

convertOpposite(str);

</script>

Time Complexity: O(n)
Note: This program can alternatively be done using C++ inbuilt functions – Character.toLowerCase(char) and Character.toUpperCase(char).

Approach 2: The problem can be solved using letter case toggling. Follow the below steps to solve the problem:

  • Traverse the given string S.
  • For each character Si , do Si =  S i ^ (1 << 5).
  • S i ^ (1 << 5) toggles the 5th bit which means 97 will become 65 and 65 will become 97:
    • 65 ^ 32 = 97
    • 97 ^ 32 = 65
  • Print the string after all operations

Below is the implementation of the above approach:

C++

#include<bits/stdc++.h>

using namespace std;

void toggleChars(string &S)

{

for ( auto &it : S){

if ( isalpha (it)){

it ^= (1 << 5);

}

}

}

int main()

{

string S = "GeKf@rGeek$" ;

toggleChars(S);

cout << "String after toggle " << endl;

cout << S << endl;

return 0;

}

Java

import java.util.*;

class GFG{

static char []S = "GeKf@rGeek$" .toCharArray();

static void toggleChars()

{

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

{

if (Character.isAlphabetic(S[i]))

{

S[i] ^= ( 1 << 5 );

}

}

}

public static void main(String[] args)

{

toggleChars();

System.out.print( "String after toggle " + "\n" );

System.out.print(String.valueOf(S));

}

}

C#

using System;

class GFG{

static char []S = "GeKf@rGeek$" .ToCharArray();

static void toggleChars()

{

for ( int i = 0; i < S.Length; i++)

{

if ( char .IsLetter(S[i]))

{

S[i] = ( char )(( int )(S[i]) ^ (1 << 5));

}

}

}

public static void Main(String[] args)

{

toggleChars();

Console.Write( "String after toggle " + "\n" );

Console.Write(String.Join( "" , S));

}

}

This article is contributed by Rishabh Jain. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.


How to Change a Char to Lowercase in Java

Source: https://www.geeksforgeeks.org/convert-alternate-characters-string-upper-case/