boolean []r = new boolean[numberOfStates];
for(int i=0; i<numberOfStates;i++)
r[i]=i==q;
成为q,i和numberOfStates int变量, 什么是r [i] = i == q;办?
答案 0 :(得分:3)
i==q
解析为布尔值,并被指定为r[i]
的值。
答案 1 :(得分:2)
如果r[i]
,则为i==q
,如果不是,则为真。
这意味着r[q]
是数组中唯一被赋值为true的元素。
由于布尔数组的所有值都初始化为false,因此您可以将此代码段替换为:
boolean [] r = new boolean[numberOfStates];
r[q] = true;
答案 2 :(得分:0)
如果你初始化数组as和q如下所示,你将得到结果
真 假
public static void main(String[] args) {
int numberOfStates = 2;
int q = 0;
boolean []r = new boolean[numberOfStates];
r[0] = false;
r[1] = false;
for(int i=0; i<numberOfStates;i++)
r[i]=i==q;
for(int i=0; i<numberOfStates;i++)
System.out.println(r[i]);
}
根据我的理解==具有比=更高的优先级 所以r [i] = i == q;将评估为i == q(q为0),结果为真 ans赋予r [[0]]为真;