A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 邵阳 中级黑马   /  2012-7-13 11:50  /  1445 人查看  /  9 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 邵阳 于 2012-7-13 14:14 编辑

if为甚么只判断一次。
而while要判断多次。
求他们俩区别

9 个回复

倒序浏览
while()
{
.....
}
如果while后边括号内的表达式为真,那么执行{}内的语句,然后再判断while后边()的表达式是否为真,如果是真,再次执行{}内的语句,直到()内的条件为假。
if()
{
.......
}
语句A
.........
如果if后边()内为真,执行{}内语句,执行完之后执行下边语句A。如果为假直接执行语句A
回复 使用道具 举报
if是个判断语句,只是为了判断
而while是循环语句,里面的判断条件是为了控制循环的
也就是说,if是为了判断而判断
while是为了循环而判断
回复 使用道具 举报
if是单次判断
while是多次判断

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

注意,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);
                }
        }
}  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马