Java’s String class provides a rich set of built-in methods for manipulating text. In this post, we demonstrate the most commonly used string functions — including case conversion, length, concatenation, trimming, character access, equality checks, and index searching — through a simple interactive Java program.
String Methods Covered
| Method | Description |
|---|---|
toLowerCase() | Converts all characters to lowercase |
toUpperCase() | Converts all characters to uppercase |
length() | Returns the number of characters in the string |
concat() | Appends one string to another |
trim() | Removes leading and trailing whitespace |
charAt(index) | Returns the character at the specified index (0-based) |
equals() | Compares two strings (case-sensitive) |
equalsIgnoreCase() | Compares two strings ignoring case |
indexOf(char) | Returns the first index of a character, or -1 if not found |
Java Program: String Manipulation Demo
import java.io.*;
public class StringManipulation {
public static void main(String[] args) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
// Read two input strings from the user
System.out.print("Enter first string: ");
String firstString = reader.readLine();
System.out.print("Enter second string: ");
String secondString = reader.readLine();
// Display the original strings
System.out.println("\n--- String Information ---");
System.out.println("First string : " + firstString);
System.out.println("Second string : " + secondString);
// Case conversion
System.out.println("\n--- Case Conversion ---");
System.out.println("First string in lowercase : " + firstString.toLowerCase());
System.out.println("Second string in uppercase : " + secondString.toUpperCase());
// Length
System.out.println("\n--- Length ---");
System.out.println("Length of first string : " + firstString.length());
System.out.println("Length of second string : " + secondString.length());
// Concatenation
System.out.println("\n--- Concatenation ---");
System.out.println("Concatenated string : " + firstString.concat(secondString));
// Trim (removes leading/trailing whitespace)
System.out.println("\n--- Trim ---");
System.out.println("First string after trim : " + firstString.trim());
// Character access (index 2 = third character, 0-based)
System.out.println("\n--- Character Access (index 2) ---");
System.out.println("3rd character of first string : " + firstString.charAt(2));
System.out.println("3rd character of second string : " + secondString.charAt(2));
// Equality checks
System.out.println("\n--- Equality ---");
System.out.println("Strings are equal (case-sensitive) : " + firstString.equals(secondString));
System.out.println("Strings are equal (ignore case) : " + firstString.equalsIgnoreCase(secondString));
// Index of character
System.out.println("\n--- Index Search ---");
System.out.println("Index of 'a' in second string : " + secondString.indexOf('a'));
}
}
How the Code Works
- Input — Two strings are read from the console using
BufferedReader. - toLowerCase() / toUpperCase() — Return new string objects with all letters converted; the original string is unchanged (strings are immutable in Java).
- length() — Returns the number of characters, including spaces and special characters.
- concat() — Returns a new string with the argument appended to the end. Equivalent to the
+operator for strings. - trim() — Strips whitespace from both ends. Useful when processing user input that may have accidental spaces.
- charAt(2) — Returns the character at index 2 (the third character, since indexing starts at 0).
- equals() — Performs a case-sensitive character-by-character comparison. Returns
falseif any character differs in case. - equalsIgnoreCase() — Same comparison but treats uppercase and lowercase as equal.
- indexOf(‘a’) — Scans the string left-to-right for the first occurrence of the character
'a'. Returns its index or-1if not found.
Sample Output
Enter first string: Ankur
Enter second string: Mhatre
--- String Information ---
First string : Ankur
Second string : Mhatre
--- Case Conversion ---
First string in lowercase : ankur
Second string in uppercase : MHATRE
--- Length ---
Length of first string : 5
Length of second string : 6
--- Concatenation ---
Concatenated string : AnkurMhatre
--- Trim ---
First string after trim : Ankur
--- Character Access (index 2) ---
3rd character of first string : k
3rd character of second string : a
--- Equality ---
Strings are equal (case-sensitive) : false
Strings are equal (ignore case) : false
--- Index Search ---
Index of 'a' in second string : 2
Output Explanation
- Lowercase / Uppercase — “Ankur” → “ankur”; “Mhatre” → “MHATRE”.
- charAt(2) — In “Ankur” the characters are A(0) n(1) k(2) u(3) r(4), so index 2 is ‘k’. In “Mhatre”, index 2 is ‘a’.
- equals / equalsIgnoreCase — Both return
falsebecause “Ankur” and “Mhatre” are completely different strings. - indexOf(‘a’) — In “Mhatre”, ‘a’ first appears at index 2 (M=0, h=1, a=2).
See Also
- Implementing Singly Linked List in Java — Another Java data structure implementation
- Implementing Tower of Hanoi Problem in Java — Classic Java recursion example
Conclusion
Java’s String class is one of the most feature-rich classes in the standard library. The methods demonstrated here cover the most common text-processing tasks you’ll encounter in everyday programming. Remember that all string methods in Java return new strings rather than modifying the original, because Java strings are immutable by design.
No Comments yet!