isDigit Java Example
1. Introduction
In this article, we will talk about isDigit in Java. Java provides a java.lang.Character class to wrap a value of the primitive type char in an object. It has provided several methods for example character.isdigit for determining a character’s category, such as lowercase letter, digit, etc since version 5. Here are the isDigit method’s signatures:
//Determines if the specified character is a digit. static boolean isDigit(char ch) //Determines if the specified character (Unicode code point) is a digit. static boolean isDigit(int codePoint)
The isDigit method takes a single argument of primitive type int or char and returns true if it is a digit. Please note that the int value is the Unicode code point. Click here for the code point values.
In this example, I will demonstrate how to use the isDigit method to check a given character is a digit or not.
2. Technologies Used
The example code in this article was built and run using:
- Java 11
- Maven 3.3.9
- Eclipse Oxygen
- Junit 4.12
3. Maven Project
3.1 Dependencies
I will include Junit in the pom.xml.
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>jcg.zheng.demo</groupId> <artifactId>java-isdigit-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <build> <sourceDirectory>src</sourceDirectory> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.8.0</version> <configuration> <release>11</release> </configuration> </plugin> </plugins> </build> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> </dependencies> </project>
3.2 JUnit Test
In this step, I will use character.isdigit and I will create an IsDigitTest class to show how to check a given character or code point is a digit or not.
isDigit_codePointTest()– tests the code point of 54 which is for ‘6’ and 65 which is for ‘A’.isDigit_charTest()– tests thecharof ‘1’ and ‘B’.
IsDigitTest.java
package jcg.zheng.demo;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import org.junit.Test;
public class IsDigitTest {
@Test
public void isDigit_codePointTest() {
int sixCodePoint = 54;
assertTrue(Character.isDigit(sixCodePoint));
assertEquals(6, Character.getNumericValue(sixCodePoint));
int letterACodePoint = 65;
assertFalse(Character.isDigit(letterACodePoint));
assertEquals('A', (char)letterACodePoint);
}
@Test
public void isDigit_charTest() {
assertTrue(Character.isDigit('1'));
assertFalse(Character.isDigit('B'));
}
}
Execute C:\MaryZheng\Workspaces\jdk12\java-isdigit-demo>mvn test -Dtest=IsDigitTest and capture output here.
Output
------------------------------------------------------- T E S T S ------------------------------------------------------- Running jcg.zheng.demo.IsDigitTest Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.116 sec Results : Tests run: 2, Failures: 0, Errors: 0, Skipped: 0
3.3 Demo Application
In this step, I will create a java application which checks a given string’s every character is a digit or not.
I will use the IntStream class to get the characters and its code point, and then check with isDigit method.
DemoApp.java
package jcg.zheng.demo;
public class DemoApp {
private static String TEST_STRING = "ASomeStringWithDigit0123456789.*&?";
public static void main(String[] args) {
TEST_STRING.codePoints().forEach(codePoint -> {
printCodePoint(codePoint);
});
TEST_STRING.chars().forEach(codePoint -> {
printCodePoint(codePoint);
});
for (char character : TEST_STRING.toCharArray()) {
System.out.printf("\nisDigit(%s) = %s", character, Character.isDigit(character));
}
}
private static void printCodePoint(int codePoint) {
System.out.printf("\nCodePoint Name: %s, type: %s, isDigit(%d)= %s", Character.getName(codePoint), Character.getType(codePoint), codePoint, Character.isDigit(codePoint));
}
}
Execute DemoApp as a Java application and capture the output here.
Output
CodePoint Name: LATIN CAPITAL LETTER A, type: 1, isDigit(65)= false CodePoint Name: LATIN CAPITAL LETTER S, type: 1, isDigit(83)= false CodePoint Name: LATIN SMALL LETTER O, type: 2, isDigit(111)= false CodePoint Name: LATIN SMALL LETTER M, type: 2, isDigit(109)= false CodePoint Name: LATIN SMALL LETTER E, type: 2, isDigit(101)= false CodePoint Name: LATIN CAPITAL LETTER S, type: 1, isDigit(83)= false CodePoint Name: LATIN SMALL LETTER T, type: 2, isDigit(116)= false CodePoint Name: LATIN SMALL LETTER R, type: 2, isDigit(114)= false CodePoint Name: LATIN SMALL LETTER I, type: 2, isDigit(105)= false CodePoint Name: LATIN SMALL LETTER N, type: 2, isDigit(110)= false CodePoint Name: LATIN SMALL LETTER G, type: 2, isDigit(103)= false CodePoint Name: LATIN CAPITAL LETTER W, type: 1, isDigit(87)= false CodePoint Name: LATIN SMALL LETTER I, type: 2, isDigit(105)= false CodePoint Name: LATIN SMALL LETTER T, type: 2, isDigit(116)= false CodePoint Name: LATIN SMALL LETTER H, type: 2, isDigit(104)= false CodePoint Name: LATIN CAPITAL LETTER D, type: 1, isDigit(68)= false CodePoint Name: LATIN SMALL LETTER I, type: 2, isDigit(105)= false CodePoint Name: LATIN SMALL LETTER G, type: 2, isDigit(103)= false CodePoint Name: LATIN SMALL LETTER I, type: 2, isDigit(105)= false CodePoint Name: LATIN SMALL LETTER T, type: 2, isDigit(116)= false CodePoint Name: DIGIT ZERO, type: 9, isDigit(48)= true CodePoint Name: DIGIT ONE, type: 9, isDigit(49)= true CodePoint Name: DIGIT TWO, type: 9, isDigit(50)= true CodePoint Name: DIGIT THREE, type: 9, isDigit(51)= true CodePoint Name: DIGIT FOUR, type: 9, isDigit(52)= true CodePoint Name: DIGIT FIVE, type: 9, isDigit(53)= true CodePoint Name: DIGIT SIX, type: 9, isDigit(54)= true CodePoint Name: DIGIT SEVEN, type: 9, isDigit(55)= true CodePoint Name: DIGIT EIGHT, type: 9, isDigit(56)= true CodePoint Name: DIGIT NINE, type: 9, isDigit(57)= true CodePoint Name: FULL STOP, type: 24, isDigit(46)= false CodePoint Name: ASTERISK, type: 24, isDigit(42)= false CodePoint Name: AMPERSAND, type: 24, isDigit(38)= false CodePoint Name: QUESTION MARK, type: 24, isDigit(63)= false CodePoint Name: LATIN CAPITAL LETTER A, type: 1, isDigit(65)= false CodePoint Name: LATIN CAPITAL LETTER S, type: 1, isDigit(83)= false CodePoint Name: LATIN SMALL LETTER O, type: 2, isDigit(111)= false CodePoint Name: LATIN SMALL LETTER M, type: 2, isDigit(109)= false CodePoint Name: LATIN SMALL LETTER E, type: 2, isDigit(101)= false CodePoint Name: LATIN CAPITAL LETTER S, type: 1, isDigit(83)= false CodePoint Name: LATIN SMALL LETTER T, type: 2, isDigit(116)= false CodePoint Name: LATIN SMALL LETTER R, type: 2, isDigit(114)= false CodePoint Name: LATIN SMALL LETTER I, type: 2, isDigit(105)= false CodePoint Name: LATIN SMALL LETTER N, type: 2, isDigit(110)= false CodePoint Name: LATIN SMALL LETTER G, type: 2, isDigit(103)= false CodePoint Name: LATIN CAPITAL LETTER W, type: 1, isDigit(87)= false CodePoint Name: LATIN SMALL LETTER I, type: 2, isDigit(105)= false CodePoint Name: LATIN SMALL LETTER T, type: 2, isDigit(116)= false CodePoint Name: LATIN SMALL LETTER H, type: 2, isDigit(104)= false CodePoint Name: LATIN CAPITAL LETTER D, type: 1, isDigit(68)= false CodePoint Name: LATIN SMALL LETTER I, type: 2, isDigit(105)= false CodePoint Name: LATIN SMALL LETTER G, type: 2, isDigit(103)= false CodePoint Name: LATIN SMALL LETTER I, type: 2, isDigit(105)= false CodePoint Name: LATIN SMALL LETTER T, type: 2, isDigit(116)= false CodePoint Name: DIGIT ZERO, type: 9, isDigit(48)= true CodePoint Name: DIGIT ONE, type: 9, isDigit(49)= true CodePoint Name: DIGIT TWO, type: 9, isDigit(50)= true CodePoint Name: DIGIT THREE, type: 9, isDigit(51)= true CodePoint Name: DIGIT FOUR, type: 9, isDigit(52)= true CodePoint Name: DIGIT FIVE, type: 9, isDigit(53)= true CodePoint Name: DIGIT SIX, type: 9, isDigit(54)= true CodePoint Name: DIGIT SEVEN, type: 9, isDigit(55)= true CodePoint Name: DIGIT EIGHT, type: 9, isDigit(56)= true CodePoint Name: DIGIT NINE, type: 9, isDigit(57)= true CodePoint Name: FULL STOP, type: 24, isDigit(46)= false CodePoint Name: ASTERISK, type: 24, isDigit(42)= false CodePoint Name: AMPERSAND, type: 24, isDigit(38)= false CodePoint Name: QUESTION MARK, type: 24, isDigit(63)= false isDigit(A) = false isDigit(S) = false isDigit(o) = false isDigit(m) = false isDigit(e) = false isDigit(S) = false isDigit(t) = false isDigit(r) = false isDigit(i) = false isDigit(n) = false isDigit(g) = false isDigit(W) = false isDigit(i) = false isDigit(t) = false isDigit(h) = false isDigit(D) = false isDigit(i) = false isDigit(g) = false isDigit(i) = false isDigit(t) = false isDigit(0) = true isDigit(1) = true isDigit(2) = true isDigit(3) = true isDigit(4) = true isDigit(5) = true isDigit(6) = true isDigit(7) = true isDigit(8) = true isDigit(9) = true isDigit(.) = false isDigit(*) = false isDigit(&) = false isDigit(?) = false
4. isDigit Java Example – Summary
In this example, I demonstrate how to use isDigit method to check a given character is a digit or not.
5. Download the Source Code
This example consists of a Java application to demonstrate the isDigit method.
You can download the full source code of this example here: isDigit Java Example

