Assertion in Java

Assertion in Java

Assertion in Java

Assertion in java

To check or test your assumption in your code or program, assertion is used . For example , if you write a method for calculating the speed of a car , you can assert that calculated speed must be less than 100km/hr.

Given below the two forms of the assertion. The simple first form is :

assert BooleanExpression ;

In the above statement, system executes assertion statement and evaluate boolean expression and if it false, it throws exception AssertionError.

The second form of the assertion is :

assert BooleanExpression : Expression2 ;

Here Expression2 is an expression who has value or returns value, it can't be a void method.

Compiling Code containing assertions

Compiler accept your code having assertions, if you compile it as follows :

  javac ?source 1.4 DemoAssert.java     

The javac compiler accept your program, if you compile your .java file with -source 1.4 command-line option.

Enable/disable assertion at runtime

By default assertions are disabled at runtime. You can enable assertion at runtime as follows :

   java -ea DemoAssert             

OR

   java ?enableassertion DemoAssert     

 

You can disable assertion at runtime as follows :

   java -da DemoAssert             

OR

   java -disableassertions DemoAssert     

EXAMPLE

Given below a sample example to check the value must lie in between 0 & 20 :

import java.util.*;
import java.util.Scanner;

public class AssertionExample
{
public static void main( String args[] )
{
Scanner scanner = new Scanner( System.in );

System.out.print( "Enter a number between 0 and 20: " );
int value = scanner.nextInt();
assert( value >= 0 && value <= 20 ) :
"Invalid number: " + value;
System.out.printf( "You have entered %d\n", value );
} 
}

Output

If you enter value in between 0 & 20, output should be :

C:\>java -ea AssertionExample
Enter a number between 0 and 20 : 4
You have entered 4

If you enter value greater than 20, For example 21, the following message will be displayed :

C:\>java -ea AssertionExample
Enter a number between 0 and 20 : 21
Exception in thread "main" java.lang.AssertionError: Invalid number: 21
at AssertionExample.main(AssertionExample.java:15)

Tutorials

  1. Assertion in java
  2. Anonymous Inner Classes - Anonymous Inner Classes tutorial
  3. Appending Strings - Java Tutorials
  4. Assertion in Java
  5. Autoboxing unboxing in Java - Java Tutorials
  6. Thread Deadlocks - Java Tutorials
  7. BASIC Java - Java Tutorials
  8. Interthread Communication in Java
  9. boolean comparisons - tutorial
  10. Catching Exceptions in GUI Code - Java Tutorials
  11. Exception in Java - Java Tutorials
  12. Causing Deadlocks in Swing Code
  13. Class names don't identify a class - Java Tutorials
  14. Commenting out your code - Java Tutorials
  15. Java Deadlocks - Java Deadlocks Tutorials, Deadlocks in Java
  16. Disassembling Java Classes - Java Tutorials
  17. Double-checked locking,java tutorials,java tutorial
  18. Exceptional Constructors - Java Tutorials
  19. Final Methods - Java Tutorials
  20. garbage collection in java
  21. Java - JDK Tutorials
  22. J2EE Singleton Pattern - Design Pattern Tutorials
  23. Java Comments - Java Tutorials
  24. Java Field Initialisation - Java Tutorials
  25. Java HashSet  - Java Tutorials
  26. Java Multi Dimensions Array - Java Tutorials
  27. java awt package tutorial
  28. Java GC
  29. Java HashMap - Java Tutorials
  30. JDK 1.4 the NullPointerException - Java Tutorials
  31. HashMap and HashCode
  32. LinkedHashMap - Java Tutorials
  33. Which is Faster - LinkedList or ArrayList?
  34. Making Enumerations Iterable - JDK 5 Example
  35. Making Exceptions Unchecked - java tutorial,java tutorials
  36. Creation Time Comparison of Multi Dimensional Array- Java Tutorials
  37. Multicasting in Java - java tutorials,tutorial
  38. Non-virtual Methods in Java - java tutorials
  39. Orientating Components Right to Left,java newsletter,java,tutorial
  40. The link to the outer class,java tutorial,java tutorials