From Wikipedia, the free encyclopedia
Jump to: navigation, search
Stable release
0.4.3 / 2014-10-10
Written in Java
Type Math
License Apache License 2.0
Website www.objecthunter.net/exp4j/

exp4j is a small Java library for evaluation of mathematical expressions. It implements Dijkstra's Shunting-yard algorithm to translate expressions from infix notation to Reverse Polish notation and calculates the result using a simple Stack algorithm.


  • Variables can be used in expressions
  • exp4j comes with a set of common built-in functions
  • Users can create and use their own custom operators
  • Users can create and use their own custom functions

License terms[edit]

exp4j is released under the terms of the Apache License 2.0

Examples of usage[edit]

Calculating the result of can be done in the following way:

Expression e = new ExpressionBuilder("3 * (sin(pi) - 2 )/ e")
        .variables("pi", "e")
        .setVariable("pi", Math.PI)
        .setVariable("e", Math.E);
double result = e.evaluate();

See also[edit]