java中关于布尔型变量遇到的问题

问题:对布尔型变量定义之后,明明后面对变量赋了值,但在使用时依然提醒没有初始化
public class ArrayFind {
    public static void main(String[] args) {

        //线性查找
        String[] arr = new String[]{"AA", "BB", "CC", "DD", "EE", "FF"};
        String dest = "BB";
        boolean isFind;
        for (int i = 0; i < arr.length;i++){
            isFind = true;
            if (dest.equals(arr[i])){
                isFind = false;
                System.out.println(i);
                break;
            }
        }
        if (isFind)
        {
            System.out.println("很遗憾没找到");
        }


    }
}


F:\Java_workspace\Day3\src\ArrayFind.java:16:13
java: 可能尚未初始化变量isFind

将boolean isFind那一句改成Boolean isFind = true;后面可以使用
我想知道里面的内在原因是什么,后面对isFind变量赋了值,为什么提示没有初始化。

img


这样看,还觉得初始化了吗,看代码当然知道for里面一定会走;但是编译器并不会这样觉得,for里面只有第一个定义会走,其他的不一定会走

这只是IDE的一个友好提醒,现在IDE还做不到判断后边的逻辑是不是一定给前边定义的变量赋了值