Это полностью зависит от состояния, которое вы тестируете. В вашем примере это не будет иметь никакого значения в конце концов, но, как наилучшая практика, если вы хотите, чтобы ОДИН из условий был в конечном счете выполнен, тогда вам лучше использовать if else
if (x > 1) {
System.out.println("Hello!");
}else if (x < 1) {
System.out.println("Bye!");
}
Также обратите внимание, что если первое условие имеет значение TRUE второй НЕ будет проверяться вообще, но если вы используете
if (x > 1) {
System.out.println("Hello!");
}
if (x < 1) {
System.out.println("Bye!");
}
Второе условие будет проверяться, даже если первое условие имеет значение ИСТИНА. В конечном итоге это может решить оптимизатор, но насколько я знаю, он ведет себя так. Также первый из них - тот, который должен быть написан и ведет себя так, поэтому он всегда лучший выбор для меня, если логика не требует иного.