下面是一行:
if (!seatNum[i])
我不明白这行的目的。代码:
if(economyClass<5) {
for(int i=5;i<seatNum.length;i++) {
if(!seatNum[i]) {
seatNum[i]=true;
System.out.println("Economy Class. Seat number: "+(i+1));
economyClass++;
break;
}
}
}
答案 0 :(得分:3)
看起来seatNum
是布尔数组,用于标记是否就座。
if(!seatNum[i])
是不坐席的情况,类似但更短的检查方法seatNum[i] == false
您将其标记为seatNum[i]=true;
,并将经济舱号增加economyClass++;
答案 1 :(得分:2)
假设seatNum[]
是一个布尔数组,表示:
如果i
的索引seatNum
处的元素为假,则继续。
您也可以将其读为:if(seatNum[i] == false)
答案 2 :(得分:1)
seatNum[]
必须是布尔数组,并且!seatNum[i]
扩展为(seatNum[i]==false)
,其结果为true
或false
。因此,它正在检查seatNumber是否未被占用,以及是否未被分配。
答案 3 :(得分:1)
在Java中,!也称为布尔取反运算符,它的作用是反转布尔值:
!true => false
!false => true
为了使发布的代码编译seatNum数组,应包含布尔值。
答案 4 :(得分:0)
我可以假设seatNum数组为布尔型,因为您还没有提到数组seatNum的数据类型。 如果我的假设是正确的,则ith索引中数组的内容可以为true或false,如果!true等于false,则代码的直接行将在ith索引中设置true。 一行!是逻辑上的非运算符,如果不是true则表示false。
希望这可以帮助您探索有关Java运算符的更多信息