There are two types of if statements in java - classic: if {} else {} and shorthand: exp ? value1 : value2. Is one faster than the oth
Ternary operator is faster than if-else condition.
public class TerinaryTest {
public static void main(String[] args)
{
int j = 2,i = 0;
Date d1 = new Date();
for(long l=1;l<100000000;l++)
if(i==1) j=1;
else j=0;
Date d2 = new Date();
for(long l=1;l<100000000;l++)
j=i==1?1:0;
Date d3 = new Date();
System.out.println("Time for if-else: " + (d2.getTime()-d1.getTime()));
System.out.println("Time for ternary: " + (d3.getTime()-d2.getTime()));
}
}
Test Results:
Trail-1:
Time for if-else: 63
Time for ternary: 31
Trail-2:
Time for if-else: 78
Time for ternary: 47
Trail-3:
Time for if-else: 94
Time for ternary: 31
Trail-4:
Time for if-else: 78
Time for ternary: 47