How do I check if a string contains a specific word?

In this code example we are going to learn how to find a specific word or text inside a string. For this example we will utilize the java.lang.String class. The String class provides a method called String.indexOf(). It takes an argument of a String, which is the sub string that we want to find in the other string. You can imagine the sub string as a needle that we are going to find in the haystack.

If the word found more than once in the string, the indexOf() method returns the first index of a sub string found in the specified string. If the sub string can’t be found this method returns -1. The index of string returns by this method begin at zero. It means that the first letter in the string have the index number 0.

Another way that we can use is the String.contains() method. This method introduced in JDK 1.5. The method simply return a boolean value which is true or false indicating whether the string in search is found in the haystack. Let’s see the snippet below:

package org.kodejava.lang;

public class StringContainsExample {
    public static void main(String[] args) {
        String haystack = "Kodejava - Learn Java by Examples";

        // Checks to see if the word "Java" is found in the haystack
        // variable.
        String needle = "Java";
        if (haystack.indexOf(needle) != -1) {
            System.out.println("Found the word " + needle +
                    " at index number " + haystack.indexOf(needle));
        } else {
            System.out.println("Can't find " + needle);
        }

        // Or use the String.contains() method if you are not interested
        // with the index of the word.
        if (haystack.contains(needle)) {
            System.out.println("Eureka we've found Java!");
        }
    }
}

Running the example gave you the following result:

Found the word Java at index number 17
Eureka we've found Java!

How do I know if a character is uppercase?

In the previous example How do I know if a character is lowercase?, we’ve learned how to use the Character.isLowerCase() method. Now we will learn how to use the other method, which is the Character.isUpperCase() to determine if a letter is in an uppercase form. This method also return a boolean value that indicates whether the character is in uppercase form or not.

But first things first. Before you dive into the learning, make sure all other matters are taken care of, as learning to code will require your absolute dedication. If you are a student, you can use essay writing services to outsource some of your assignments. If you work full-time, consider taking a few days off. This way, you will get a clearer mind and more energy for studying.

Another way to check if a letter is in uppercase form is by comparing the type of the characters, that can be obtained using the Character.getType() method with a defined constant value Character.UPPERCASE_LETTER.

Below is the code snippet that demonstrate these methods.

package org.kodejava.example.lang;

public class CharacterIsUpperCaseExample {
    public static void main(String[] args) {
        char a = 'A';

        // Checks to see if a letter is a uppercase letter.
        if (Character.isUpperCase(a)) {
            System.out.println(a + " is an uppercase character.");
        }

        // Checks to see if a letter is an uppercase letter
        // by comparing the character type against
        // Character.UPPERCASE_LETTER constant value.
        int charType = Character.getType(a);
        if (charType == Character.UPPERCASE_LETTER) {
            System.out.println(a + " is an uppercase character.");
        }
    }
}

The above example give you the following result when it executed:

A is an uppercase character.
A is an uppercase character.

How do I know if a character is lowercase?

In this example you are going to learn another example on using the java.lang.Character class. The Character.isLowerCase() method can be used to determine if a letter is a lowercase letter. This method takes a char as argument and return a boolean value. If it returns true it means the character is in lowercase form. And if it returns false it means the character is not in lowercase form.

Beside using the isLowerCase() method you can also compare the character type with the constant value of Character.LOWERCASE_LETTER. To get the character type you can use the Character.getType() method. You can see the example on the following code snippet.

package org.kodejava.lang;

public class CharacterIsLowerCaseExample {
    public static void main(String[] args) {
        char a = 'a';

        // Checks to see if a letter is a lowercase letter.
        if (Character.isLowerCase(a)) {
            System.out.println(a + " is a lowercase letter.");
        }

        // Checks to see if a letter is a lowercase letter
        // by comparing the character type against
        // Character.LOWERCASE_LETTER constant value.
        int charType = Character.getType(a);
        if (charType == Character.LOWERCASE_LETTER) {
            System.out.println(a + " is a lowercase letter.");
        }
    }
}

This example give you the following output:

a is a lowercase letter.
a is a lowercase letter.

How do I check if a character representing an alphabet?

In the previous example you’ve learned how to use the Character.isDigit() method to check if a character representing a digit.

In this example you will learn how to check if a character representing a letter. You can use the Character.isLetter(char c) method to check if a character is a valid letter. This method will return a true value for a valid letter characters and false if the character is not a valid letter.

In the code snippet below you will also learn how to use the toCharArray() method to covert a string into an array of char. Here we use the method so that we can check every character in the for-each loop to see is the character is a letter or not.

package org.kodejava.lang;

public class CharacterIsLetterExample {
    public static void main(String[] args) {
        String name = "Kode Java 123";

        // Determines if the specified character is a letter
        if (Character.isLetter(name.charAt(5))) {
            System.out.println("The fifth character (" +
                    name.charAt(5) + ") is an alphabet!");
        }

        // Iterates all characters in the string to see if it is
        // a letter or not.
        for (char c : name.toCharArray()) {
            if (Character.isLetter(c)) {
                System.out.println(c + " is a letter.");
            } else {
                System.out.println(c + " not a letter.");
            }
        }
    }
}

The code will print the following output:

The fifth character (J) is an alphabet!
K is a letter.
o is a letter.
d is a letter.
e is a letter.
  not a letter.
J is a letter.
a is a letter.
v is a letter.
a is a letter.
  not a letter.
1 not a letter.
2 not a letter.
3 not a letter.

How do I check if a character representing a number?

For validation purposes we might need to check if data entered by our users is a valid data for our application to process. A simple mechanism for checking if a character inputted is a digit or not can be done by using the java.lang.Character class isDigit(char c) method.

In this example you will learn how to check if a character representing a number. You will start by creating a string that contains some random alphanumeric characters in it. And then you are going to iterate these characters, get the value at the specific location using the charAt() method. In the last section you are going to check to if the character represent a digit or not.

package org.kodejava.lang;

public class CharacterIsDigitExample {
    public static void main(String[] args) {
        // Manually creates a string with randoms characters.
        String str = "12?XYZ4!6cba78+HI@0";

        for (int i = 0; i < str.length(); i++) {
            // Determines if the specified character is a digit
            if (Character.isDigit(str.charAt(i))) {
                System.out.println(str.charAt(i) + " is a digit.");
            } else {
                System.out.println(str.charAt(i) + " not a digit.");
            }
        }
    }
}

These are the outputs of our program:

1 is a digit.
2 is a digit.
? not a digit.
X not a digit.
Y not a digit.
Z not a digit.
4 is a digit.
! not a digit.
6 is a digit.
c not a digit.
b not a digit.
a not a digit.
7 is a digit.
8 is a digit.
+ not a digit.
H not a digit.
I not a digit.
@ not a digit.
0 is a digit.

If there is a specific topic that picked your interest, you can turn to essay helper service (a professional writing service). It is a great alternative to classic googling. The experienced professionals will conduct extensive research on the topic for you and even write an essay if you need one.