Home » Core Java » Java Capitalize First Letter Example

About Firouzeh hejazi

Firouzeh hejazi
A self-motivated and hard-working developer with more than 4 years of extensive experience in developing software in java platforms. A multi-skilled and problem-solving engineer who has participated in implementing a range of applications in different roles. Possess a MSc in Knowledge Engineering and Decision Science.

Java Capitalize First Letter Example

In this post, we feature a comprehensive Java Capitalize First Letter Example. We want to write a Java program to convert first character uppercase in a sentence and if any character apart from the first one is in Uppercase then convert in into Lowercase.

1. Introduction

Firstly, lets see how to capitalize the first letter of a single word, Example01:

String output = input.substring(0, 1).toUpperCase() + input.substring(1).toLowerCase();
CaptWord.java
public class CaptWord {

    public static void main(String args[]) {

        String input = "wOrD";

        String output = input.substring(0, 1).toUpperCase() + input.substring(1).toLowerCase();
        System.out.println(output);
    }
}
Output:
Word

Now we want to capitalize eache word in a sentence:

Examples:
Input : jAVA
Output :Java

Input :CODE
Output :Code

2. Java Capitalize First Letter – Different Methods

2.1 Method 1

We conver the given string to a char array and conver the first character of each word into upper-case and the rest of its charachters convert into lower-case. See Example02:

Capitalize.java
public class Capitalize {

    static String convert(String str)
    {

        // Create a char array of given String
        char ch[] = str.toCharArray();
        for (int i = 0; i = 'a' && ch[i] = 'A' && ch[i] <= 'Z')

                // Convert into Lower-Case
                ch[i] = (char)(ch[i] + 'a' - 'A');
        }

        // Convert the char array to equivalent String
        String st = new String(ch);
        return st;
    }

    public static void main(String[] args)
    {
        String str = "jAVA cOdE GeeKs";
        System.out.println(convert(str));
    }

}
Output:
Java Code Geeks

2.2 Alternative implementations

2.2.1 Example03

Another way of implementing the previous example is shown in Example03:

Capitalize2.java
public class Capitalize2 {

    public static String upperCaseAllFirst(String value) {

        char[] array = value.toCharArray();

        // Uppercase first letter.
        array[0] = Character.toUpperCase(array[0]);

        // Uppercase all letters that follow a whitespace character.
        for (int i = 1; i < array.length; i++) {
            if (Character.isWhitespace(array[i - 1])) {
                array[i] = Character.toUpperCase(array[i]);
            }
        }

        return new String(array);
    }

    public static void main(String[] args) {

        String value = "phone 00 123456789";
        String value2 = "name is john";

        // Test our code.
        String result = upperCaseAllFirst(value);
        System.out.println("value 1: " + value);
        System.out.println("result 1: " + result);

        result = upperCaseAllFirst(value2);
        System.out.println("value 2: " + value2);
        System.out.println("result 2: " + result);
    }

}
Output:
value 1: phone 00 123456789
result 1: Phone 00 123456789
value 2: name is john
result 2: Name Is John

2.2.2 Example04

We can also use split() method to separate the given sentence into separate words, see Example04:

StringCapital.java
public class StringCapital {

    public static void main(String[] args)
    {
        String str = "welcome to string capital java program";
        StringBuilder result = new StringBuilder(str.length());
        String words[] = str.split("\\ ");
        for (int i = 0; i < words.length; i++)
        {
            result.append(Character.toUpperCase(words[i].charAt(0))).append(words[i].substring(1)).append(" ");

        }

        System.out.println(result);


    }

}
Output:
Welcome To String Capital Java Program 

2.2.3 Example05

Lets see another way of implementation in Example05:

CaptAnySent.java
import java.util.Scanner;

public class CaptAnySent {

    public static void main(String[] args){
        Scanner in = new Scanner(System.in);
        System.out.print("Input your Sentence: ");
        String line = in.nextLine();
        String upperCaseLine = "";
        Scanner lineScan = new Scanner(line);
        while(lineScan.hasNext()) {
            String word = lineScan.next();
            upperCaseLine += Character.toUpperCase(word.charAt(0)) + word.substring(1) + " ";
        }
        System.out.println(upperCaseLine.trim());
    }
}
Output:
Input your Sentence: java code geeks students
Java Code Geeks Students

2.3 Method 2: Using Java Inbuilt methods toUpperCase()

We can use the toLowerCase() method to convert the string into lowercase format. Iterate the string, if any space found in previous iteration and the current element is not space then it shows that current letter is the starting of the word so call the toUpperCase() method to put the first letter of word in uppercase format and append the string in buffer. Below is the implementation of Example06:

InbuiltCapt.java
public class InbuiltCapt {

    static String capitailize(String str) {
        StringBuffer buffer = new StringBuffer();

        // Declare a character of space
        // To identify that the next character is the starting of a new word
        char ch = ' ';
        for (int i = 0; i < str.length(); i++) {

            if (ch == ' ' && str.charAt(i) != ' ')
                buffer.append(Character.toUpperCase(str.charAt(i)));
            else
                buffer.append(str.charAt(i));
            ch = str.charAt(i);
        }

        return buffer.toString().trim();
    }

    public static void main(String args[]) {

        String s1 = "i aM A tEaChEr";

        // Convert that string into lowercase
        s1 = s1.toLowerCase();

        // Call the method to capitalize each word
        System.out.println(capitailize(s1));
    }
}
Output:
I Am A Teacher

2.4 Method 3: Using Java Inbuilt methods WordUtils.capitalizeFully(String str)

Inorder to use WordUtils.capitalizeFully(String) we create a Maven project and add this dependency to its pom.xml. See Example07:

<dependencies>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-lang3</artifactId>
            <version>3.0</version>
        </dependency>
</dependencies>

Now we can use the method as below:

CaptFull.java
import org.apache.commons.lang3.text.WordUtils;

public class CaptFull {

    public static void main(String args[]) {

        String input = "aNOthEr seNTenCe";

        System.out.println(WordUtils.capitalizeFully(input));
    }
}
Output:
Another Sentence

3. Download the Source Code

Download
You can download the full source code of this example here: Java Capitalize First Letter Example
(No Ratings Yet)
Start the discussion Views Tweet it!

Do you want to know how to develop your skillset to become a Java Rockstar?

Subscribe to our newsletter to start Rocking right now!

To get you started we give you our best selling eBooks for FREE!

 

1. JPA Mini Book

2. JVM Troubleshooting Guide

3. JUnit Tutorial for Unit Testing

4. Java Annotations Tutorial

5. Java Interview Questions

6. Spring Interview Questions

7. Android UI Design

 

and many more ....

 

Receive Java & Developer job alerts in your Area

 

Leave a Reply

avatar
  Subscribe  
Notify of