关于Java数组的简单问题,在线等答案

来源:百度知道 编辑:UC知道 时间:2024/04/29 02:40:52
int[]lx={2,3,4,5,}
lx[3]=lx[3]==--lx[0]?==lx[1]:lx[2]--;
数组值各位多少?

答案应该是{1 3 3 4 }
谁来解释下~

第二行代码可以分解成如下代码:
lx[0]=lx[0]-1;//相当于原来的--lx[0]
if(lx[0]==lx[1]){
lx[3] = lx[1];
}else{
lx[2] = lx[2]-1;//相当于原来的lx[2]--;
lx[3] = lx[2];
}

所以结果是1334,?和:是一个组合,称为条件运算符,他是一个三元运算符,如有:
int a = 条件?值1:值2;
则当条件成立时(boolean类型,只能是true和false),a等于值1,否则a等于值2

int[]lx={2,3,4,5,} ;
lx[3]=lx[3]==--lx[0]?++lx[1]:lx[2]--;
/*先判断lx[3]==--lx[0]是否为真,由于为假,但此时已经执行了 --lx[0],lx[0]=1
* 由于为假 ,所以lx[3]=lx[2]--,所以lx[3]=4,lx[2]=3
*/