问个弱弱的问题,请问while(--j<0 && temp<array[j])与while(temp<array[j] && --j<0)有区别么?
假设有以下代码行
int [] array = new int[]{23,67,45,54};
int temp=4;
int j=3;
请问这时while(--j>0 && temp<array[j])与while(temp<array[j] && --j<0)有区别么?
while(--j<0 && temp<array[j])中的temp<array[j]中的j值是经过--j运算后的j值(4)吗?执行这整个while后的j值是?
那么while(temp<array[j] && --j<0)又是如何运算的呢?执行这整个while后的j值是?
假设有以下代码行
int [] array = new int[]{23,67,45,54};
int temp=4;
int j=3;
请问这时while(--j>0 && temp<array[j])与while(temp<array[j] && --j<0)有区别么?
while(--j<0 && temp<array[j])中的temp<array[j]中的j值是经过--j运算后的j值(4)吗?执行这整个while后的j值是?
那么while(temp<array[j] && --j<0)又是如何运算的呢?执行这整个while后的j值是?
从逻辑的角度上来讲就有区别了
当j<0的时候array[j] 会出异常...
while(--j>0 && temp<array[j]) 当--j>0不成立时 就不会继续去比较temp<array[j]
--j 是先自减再使用 所以 temp<array[j] 中的j=2
while(temp<array[j] && --j<0)
temp<array[j]的j=3 ,(--j<0) j=3 先自减1 再与0比较
condition1满足情况下 才会检测condition2..
if( str != null && str.ToUpper() == "RED" )
{
//
}