Изначально я столкнулся с проблемой, что IDEA в этом коде выдавало ошибку, из-за того, что переменная f в 8 строке не инициализирована.
import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        double glass = 0.5;
        Scanner con= new Scanner(System.in);
        boolean a=con.nextBoolean();
        int f;
        if (a) {
            f= (int) Math.ceil(glass);
            }
        else if (!a) {
            f= (int) Math.floor(glass);
            }
        System.out.print(f);
    }
}
Когда я присвоил f значение 0 (int f=0), то все стало работать нормально. С эти я разобрался. Но, в дальнейшем, я в 13 строке заменил else if на просто else, при этом так и оставит f неинициализированной. И код тоже работал.
import java.util.Scanner;

public class Solution {
    public static void main(String[] args) {
        double glass = 0.5;
        Scanner con= new Scanner(System.in);
        boolean a=con.nextBoolean();
        int f;
        if (a) {
            f= (int) Math.ceil(glass);
            }
        else  {
            f= (int) Math.floor(glass);
            }
        System.out.print(f);
    }
}
Объясните, пожалуйста, почему в первом случае int f не инициализировался, а во втором все прошло нормально.