黑马程序员技术交流社区

标题: 求问这个标志位flag。bool=flase; [打印本页]

作者: admins    时间: 2013-4-25 15:04
标题: 求问这个标志位flag。bool=flase;
这个bool=flase;到底是什么意思啦。。怎么用。谁能透彻的讲讲。
作者: admins    时间: 2013-4-25 15:05
bool flag=false;...
作者: 尹丽峰    时间: 2013-4-25 15:23
布尔的一个标记,比如有地方可能会用到布尔类型的判断if(flag){}//就是当true的时候执行某一段
作者: 高文咪    时间: 2013-4-25 16:00
bool是布尔型,有true和false两个值;
没有像你上面那种写法的!
作者: 陈晖    时间: 2013-4-25 16:13
主要还是用在循环判断中:
比如if一系列语句中、while循环和do-while循环中、for循环中。
某些地方需要终止或者继续循环,但代码段有没有返回布尔值,就需要用一个标志位来表明是否需要终止循环。
作者: 李君言    时间: 2013-4-25 16:14
admins 发表于 2013-4-25 15:05
bool flag=false;...

bool是一种类型,而这个类型只有两个值,true和false,意思就是真和假。
当用到if,while,switch等这些需要用true和false来判断是否要循环的时候,
就可以做一个标记
例如:
Console.WriteLine("请输入评级");
            string pj = Console.ReadLine();
            decimal gz = 1000;
bool a = false;//定义个a
switch (pj)
            {
                case "1":
                    gz += 200;
                    break;
                case "2":
                    gz+=100;
                    break ;
                case "3":
                    gz-=100;
                    break ;
                default :
                    Console.WriteLine("输入的等级不正确");
                    a = true; //做个标记
                    break;
            }
            if ( a==false )
            Console.WriteLine(  "明年的工资为:"+gz );
作者: ↖落葉下♀媃媚    时间: 2013-4-25 17:25
定义一个bool类型  如bool  flag=false;
应用如下
bool flag=false;
             do
             {
                 flag = false;//当 flag = false时进行如下循环
             Console.WriteLine("请输入用户名");
             string name = Console.ReadLine();
             Console.WriteLine("请输入密码");
             string score = Console.ReadLine();
            
             if (name != "admin" || score != "888888")
            
            
             {
                 Console.WriteLine("密码或用户名输入错误,请重新输入");
                 flag = true;//如果等于true则跳出循环
             }
            
             }
             while(flag);
             Console.WriteLine("登录成功");
             Console.ReadKey();
作者: admins    时间: 2013-4-26 21:17
↖落葉下♀媃媚 发表于 2013-4-25 17:25
定义一个bool类型  如bool  flag=false;
应用如下
bool flag=false;

      if (name != "admin" || score != "888888")
            
            
             {
                 Console.WriteLine("密码或用户名输入错误,请重新输入");
                 flag = true;//如果等于true则跳出循环
             }  
等于true 就执行循环才对吧。
作者: admins    时间: 2013-4-26 21:23
尹丽峰 发表于 2013-4-25 15:23
布尔的一个标记,比如有地方可能会用到布尔类型的判断if(flag){}//就是当true的时候执行某一段 ...

那比如说这个布尔类型的判断     if (name != "admin" || score != "888888")     如果为真。。flag=true;是不是实际意义上的真(假).
作者: admins    时间: 2013-4-26 21:23
高文咪 发表于 2013-4-25 16:00
bool是布尔型,有true和false两个值;
没有像你上面那种写法的!

我的标题写错了。bool flag=false;
作者: admins    时间: 2013-4-26 21:26
陈晖 发表于 2013-4-25 16:13
主要还是用在循环判断中:
比如if一系列语句中、while循环和do-while循环中、for循环中。
某些地方需要终止 ...

主要我迷在  当标记的时候我能理解。就是他待地循环判断的时候的时候,我不理解,为什么就可以用他代替循环条件了。
作者: 陈晖    时间: 2013-4-26 22:04
admins 发表于 2013-4-26 21:26
主要我迷在  当标记的时候我能理解。就是他待地循环判断的时候的时候,我不理解,为什么就可以用他代替循 ...

当满足条件时,将标记改变,然后就可以达到代替循环条件了。:)
作者: ↖落葉下♀媃媚    时间: 2013-4-26 22:41
本帖最后由 ↖落葉下♀媃媚 于 2013-4-26 22:42 编辑
admins 发表于 2013-4-26 21:17
if (name != "admin" || score != "888888")
            
            

晕,你没看到while(flag)吗?上面已经定义了bool   flag=false,当然是false时循环了,不懂再好好看看视频
如果while(true)时,这样就和你说的差不多啦
作者: 高文咪    时间: 2013-4-27 11:32
admins 发表于 2013-4-26 21:23
我的标题写错了。bool flag=false;

那就是你定义了一个bool类型的变量,=号是给这个变量赋值,bool类型有true和false两种值;
作者: 张伟86    时间: 2013-4-30 18:15
本帖最后由 张伟86 于 2013-4-30 18:31 编辑

我明白楼主要问什么了。楼主是想说你在一个类似于
bool flag =false;
while(!flag)
{
    ...
    if (name != "admin" || score != "888888")
    {
        Console.WriteLine("密码或用户名输入错误,请重新输入");
        flag = true;//如果等于true则跳出循环
    }
    ...
}
的程序中为什么flag可以结束作为循环依据吧?
1、flag被标记为bool类型,可以作为while循环的依据。
2、flag被作为while循环判断条件,随着flag值的改变,while会继续执行或结束。研究下你的程序中while的判断条件就可明白。主要是逻辑性问题。
3、flag这个单词,旗帜,程序中常被用来标识一些bool值变量。
   




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