是什么意思=某事= =数字? Java中的表达式

时间:2017-11-16 21:35:55

标签: java android

private int nColumns = 1;

public void onClick(查看视图){

            nColumns = nColumns == 1 ? 2 : 1; //Cannot understand this line. 

有人可以解释一下吗?

2 个答案:

答案 0 :(得分:1)

这是一个三元运营商。 部分(nColumns == 1) ? 2 : 1;基本上意味着nColumns等于1,然后选择第一个2,而选择后者1。 然后将该值存储在同一变量nColumns中。

因此,如果它等于1则会得到2,否则它会得到1。

它与以下内容相同:

if(nColumns == 1)
  nColumns = 2;
else
  nColumns = 1;

答案 1 :(得分:-1)

如果nColumns的数量为1则返回2,否则返回1并将其分配给它为nfolumns的slef。

if(nColumns==1)
   nColumns=2;
else
   nColumns=1;