我不明白一行简单的代码
I dont understand one simple line of code
下面是行:
if (!seatNum[i])
我不明白这个line.Code的目的:
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;
}
}
}
假设 seatNum[]
是一个布尔数组,这意味着:
如果 seatNum
的索引 i
处的元素为假,则继续。
你也可以读作:if(seatNum[i] == false)
seatNum[]
必须是布尔数组,!seatNum[i]
扩展为 (seatNum[i]==false)
,计算结果为 true
或 false
。因此它正在检查 seatNumber 是否未被占用,如果未被占用则分配它。
看起来seatNum
是一个布尔数组,表示是否有人坐下
if(!seatNum[i])
是如果没有座位,类似但更短的检查方式 seatNum[i] == false
您将其标记为已使用 seatNum[i]=true;
并将经济舱编号增加 economyClass++;
在 Java 中,!也称为布尔否定运算符,它的作用是反转布尔值:
!true => false
!false => true
为了编译发布的代码,seatNum 数组应包含布尔值。
我可以假定 seatNum 数组为布尔类型,因为您没有提到数组 seatNum 的数据类型。
如果我的假设是正确的,第 i 个索引中数组的内容可以是 true 或 false,如果 !true 等于 false,则代码的直接行在第 i 个索引中设置 true。
在一行中,!是逻辑非运算符,非真表示假。
希望这可以帮助您更多地探索 java
中的运算符
下面是行:
if (!seatNum[i])
我不明白这个line.Code的目的:
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;
}
}
}
假设 seatNum[]
是一个布尔数组,这意味着:
如果 seatNum
的索引 i
处的元素为假,则继续。
你也可以读作:if(seatNum[i] == false)
seatNum[]
必须是布尔数组,!seatNum[i]
扩展为 (seatNum[i]==false)
,计算结果为 true
或 false
。因此它正在检查 seatNumber 是否未被占用,如果未被占用则分配它。
看起来seatNum
是一个布尔数组,表示是否有人坐下
if(!seatNum[i])
是如果没有座位,类似但更短的检查方式 seatNum[i] == false
您将其标记为已使用 seatNum[i]=true;
并将经济舱编号增加 economyClass++;
在 Java 中,!也称为布尔否定运算符,它的作用是反转布尔值:
!true => false
!false => true
为了编译发布的代码,seatNum 数组应包含布尔值。
我可以假定 seatNum 数组为布尔类型,因为您没有提到数组 seatNum 的数据类型。 如果我的假设是正确的,第 i 个索引中数组的内容可以是 true 或 false,如果 !true 等于 false,则代码的直接行在第 i 个索引中设置 true。 在一行中,!是逻辑非运算符,非真表示假。
希望这可以帮助您更多地探索 java
中的运算符