sinat_31621401
yaodexi93
2016-04-22 08:47
采纳率: 68.8%
浏览 1.2k
已采纳

这段代码没看明大神们来帮看一下

这段代码没看明大神们来帮忙看下,尤其是if(flag)这块,还有while(true)为什么是死循环呢?小弟自学求大神说的详细一点。![图片说明](https://img-ask.csdn.net/upload/201604/22/1461314855_511438.png)图片说明

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

7条回答 默认 最新

  • jiang1245764446
    Crow-亚 2016-04-22 09:49
    已采纳

    首先flag是实例变量,程序在生成你的测试类的实例时,会为实例变量赋初始值,boolean类型的默认值为false,在上面的程序中flag的值为false,程序走else分支,然后遇到while语句,while语句的格式为while(boolean){statements},意思是先判断boolean的值,如果为true,执行statements,然后再判断boolean,直至boolean为false,否则一直执行statements,上面的代码就满足该判断,将一直执行,直至报错。

    点赞 评论
  • javaiswhat
    javaiswhat 2016-04-22 08:56

    while(true)如果里面没有条件跳出来,那就是死循环,

    点赞 评论
  • qq_21413973
    就是九号您 2016-04-22 08:58

    因为while里面的条件一直都是真,没有改变所以是死循环

    点赞 评论
  • chenhchen1994
    On_the_orad 2016-04-22 09:14

    private boolean flag // 第一个布尔类型 值: true 或者为 false 没有设定 初始值为false
    if(flag) / /当flag 为false 进入while
    while(true) // 则 不满足while条件 不进入 while

    至于你说的死循环 我看不懂 都不满足 while 循环的条件 怎么会死循环呢? 你运行过这段代码吗?

    点赞 评论
  • Goskalrie
    Goskalrie 2016-04-22 09:44

    首先flag是实例变量,程序在生成你的测试类的实例时,会为实例变量赋初始值,boolean类型的默认值为false,在上面的程序中flag的值为false,程序走else分支,然后遇到while语句,while语句的格式为while(boolean){statements},意思是先判断boolean的值,如果为true,执行statements,然后再判断boolean,直至boolean为false,否则一直执行statements,上面的代码就满足该判断,将一直执行,直至报错。

    点赞 评论
  • jiang1245764446
    Crow-亚 2016-04-22 09:49

    首先flag是实例变量,程序在生成你的测试类的实例时,会为实例变量赋初始值,boolean类型的默认值为false,在上面的程序中flag的值为false,程序走else分支,然后遇到while语句,while语句的格式为while(boolean){statements},意思是先判断boolean的值,如果为true,执行statements,然后再判断boolean,直至boolean为false,否则一直执行statements,上面的代码就满足该判断,将一直执行,直至报错。

    点赞 评论
  • github_34226737
    胡来的右手 2016-04-22 12:31

    这个是验证的操作系统书上的线程同步问题吧? 不是wait和signal原语?

    点赞 评论

相关推荐