There are different reasons. The first is performance. As soon as a condition matches the following else if conditions don't get evaluated anymore. When you just use if conditions all need to get evaluated.
Second it can make the conditions easier
BufferedReader console =newBufferedReader(newInputStreamReader(System.in));int num =Integer.parseInt(console.readLine());System.out.println("if - else if - else");if(num >10)System.out.println("> 10");elseif(num >5)System.out.println("> 5");elseSystem.out.println("<= 5");System.out.println("\njust if");if(num >10)System.out.println("> 10");if(num >5&& num <=10)System.out.println("> 5");if(num <=5)System.out.println("<= 5");