黑马程序员技术交流社区

标题: if和while [打印本页]

作者: 邵阳    时间: 2012-7-13 11:50
标题: if和while
本帖最后由 邵阳 于 2012-7-13 14:14 编辑

if为甚么只判断一次。
而while要判断多次。
求他们俩区别
作者: 党巾水    时间: 2012-7-13 11:56
while()
{
.....
}
如果while后边括号内的表达式为真,那么执行{}内的语句,然后再判断while后边()的表达式是否为真,如果是真,再次执行{}内的语句,直到()内的条件为假。
if()
{
.......
}
语句A
.........
如果if后边()内为真,执行{}内语句,执行完之后执行下边语句A。如果为假直接执行语句A

作者: 徐然    时间: 2012-7-13 11:58
if是个判断语句,只是为了判断
而while是循环语句,里面的判断条件是为了控制循环的
也就是说,if是为了判断而判断
while是为了循环而判断
作者: 封明川    时间: 2012-7-13 12:13
if是单次判断
while是多次判断


作者: 李思静    时间: 2012-7-13 12:15
因为sun公司就是这么规定的,王八的屁股--龟腚。你也可以发明一种语言要求if是多次循环,while是一次。而且if是判断,而while是带了判断的循环。可以把for和while进行比较
作者: 李思静    时间: 2012-7-13 12:16
忽然发现这哥们有27个技术分了,怎么问这个问题。。。
作者: 韩伟    时间: 2012-7-13 12:21
if()语句是判断语句,仅仅判断表达式是否满足条件。
while() {} 是循环语句,while的判断是作为是否继续循环的标志,所以每次循环之前都要做一次判断,只有表达式满足条件了才进行循环。
作者: 黑马刘涛    时间: 2012-7-13 14:04
。。。是啊
作者: 范泰洋    时间: 2012-7-13 14:15
if语句后边的括号判断得到结果是一个布尔型的结果,要么真,要么假,只执行一次。
while语句后边的括号表达式要是为真就会执行{}里面的语句,直到表达式不满足条件为假的时候,才结束,所以while语句是执行多次的。
作者: 耿立刚    时间: 2012-7-13 14:23
/*
用递归的方法做一个整数的二进制转换。

注意,if和while的区别就是:
if只判断条件一次,不管代码执行与否,不会"再回首判断"。
while则是多次"回首",直到条件不满足。

*/
class DiGuiDemo
{
        public static void main(String[] args)
        {
                toBin(6);
        }
        
        public static void toBin(int num){
                if(num>0)//这里的if如果换做while,程序会无限循环打印:1。
                {toBin(num/2);
                        System.out.println(num%2);
                }
        }
}  




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2