以前写程序的时候总是把if当while使用,印象里总把他们弄混,直到有一天写了一个算法题,才发觉他们有很大的区别。下面是他们的异同点。
相同点:均可进行一次判断;
不同点:while本质上是循环,当判断条件为true时,进入循环体,然后再接着进行判断,直到判断条件为false,跳出循环,如下图;if虽然也可以进行判断,但如下面的流程图所示,当判断条件为true时,执行语句sum++,当判断语句为false时,执行语句targe++,不会接着再次返回到if,也就是说,不会再继续进行判断,如下图所示。
综上所述:while本质上是循环,if本质上是一个条件判断。