java这个代码的执行顺序 求大神解答一下感谢

public static char[] generate() {
char[] chs = new char[5];
Random rand = new Random();
char[] letters = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
boolean[] flags = new boolean[letters.length];
for(int i=0;i<chs.length;i++) {
int index;
do{
index = rand.nextInt(letters.length);
}while(flags[index]);
chs[i] = letters[index];
flags[index] = true;
}
return chs;
}
还有就是while后面的判断为什么不用加==号也一样是true

while(这个括号里面是要求填入一个boolean类型的值)
flags 这是个元素是boolean类型的数组 所以flags[index]的返回值就是个boolean类型的
希望能帮到你

你使用的是do while 循环 ,它首先执行的是do中的语句,然后判断while中的条件是否成立,如果成立继续执行。

关与while后为什么不加==,因为flags[index]本身就是布尔值,如果是true条件成立