Assertion are simple check assumption made at the beginning of the program to ensure the program is true throughout provided by the Java language. For example, the range of age should be in between 18 and above; or cannot be more than 50.
Java Assertion
Assertion are simple check assumption made at the beginning of the program to ensure the program is true throughout provided by the Java language. For example, the range of age should be in between 18 and above; or cannot be more than 50.
These are the set of expression used in java that enables you to check the assumption made in a program during throughout the execution of program. An Assertion contain a Boolean expression which is set to be true in the beginning of the program. For Example ,a program has a method that allow the value being passed to it should not be zero and negative, you test this assert by sending a only positive number that is greater than zero by using assert statement in java.
Syntax used to declare Assertion
assert statement1;
The Syntax,statement1 is a Boolean expression. When the program is executed ,the statement1 in the assert is checked. If the statement1 returns true, assertion in program is true and the program run without interuption.Incase.,if the statement 1 returns false, the assertion made in the program fail, the program throw assertion error object and program will terminated and an assertion error object is thrown.
assert statement1:statement2;
An Statement is a error message and statement2 is a Boolean expression. the statement 1 gives you an error message that work only if there is an error in statement1.The statement 1 gives you an error, then it is passed to the Assertion Error constructor of the respective error class, if the statement 2 return false. The constructor changes the value in statement1 into string format and display the message on fail of assertion.
public AssertionError(char message)
The above syntax constructor Assertion Error create its object. The argument passed in the assertion error object contain the error message that will display when an assertion fails.
How to Compile Assertion Files
The Assertion file is compiled with an option ,-source 1.4.The Syntax used in compilation of program is
Javac-source 1.4 AssertDemonstration.java
Where Assert Demonstration is the name of java program using assertion.
-source 1.4 is a command line option to make the compile to accept the code containing assertions.
How to Enable and Disable Assertion
Assertion are disabled at run-time during execution of java program .
The command line prompt -ea or enable assertions is used to enable assertion during run-time execution of the program.
java -ea:AssertDemonstration
The command prompt -da or disable is used to disable assertion during run-time execution of the program
java -da :AssertDemonstration
Let Us Understand with Example
In this Example We, defined a public class 'Mark Assert Demo' Inside the class we define the static variable i.e. maximum marks to be 100, changes is another static variable, The main static ( ) method has assumption of maximum marks i.e. 40,if the marks come below to 40,the code will show you java.lang.AssertionError and display the Marks is below than 40 on the command prompt.
public class MarkAssertDemo { static float maximummarks=100; static float changes(float mark) { maximummarks=maximummarks-mark; System.out.println("The maximummark is:" + maximummarks); return maximummarks; } public static void main(String args[]) { float g; for(int i=0;i<5;i++) { g=changes(15); assert maximummarks>=40.00:"marks is below 40."; } } } |
Output on Command Prompt
C:\saurabh>javac -source 1.4 MarkAssertDemo.java C:\saurabh>java -ea MarkAssertDemo The maximummark is:85.0 The maximummark is:70.0 The maximummark is:55.0 The maximummark is:40.0 The maximummark is:25.0 Exception in thread "main" java.lang.AssertionError: marks is below 40. at MarkAssertDemo.main(MarkAssertDemo.java:16) |