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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 黑龙江—刘鹏 初级黑马   /  2012-7-3 18:11  /  2853 人查看  /  15 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 黑龙江—刘鹏 于 2012-7-3 18:28 编辑

class WhileDemo //循环语句。
{
public static void main(String[] args)
{
  
  int y = 10;
  do
  {
   System.out.println("do:y="+y);
   
   y++;
   
  }
  while(y<11);
  {
   System.out.println("y="+y);
   
  }
  
}
}
其输出结果是 do:y=10
y=11; 为什么在do中 y的值加到11 应该不满足 whlie(y<11)为什么还会执行 System.out.println("y="+y);
从而打印出 y=11呢?

评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 循环语句是很基本的内容,这位同学要多加练.

查看全部评分

15 个回复

倒序浏览
do whlie语句中不管条件怎么样,都会执行一次循环
回复 使用道具 举报
王健 发表于 2012-7-3 18:14
do whlie语句中不管条件怎么样,都会执行一次循环

诶 ?  那么 执行的 应该是do下的执行条件吧 为什么是 while下的呢
回复 使用道具 举报
王健 发表于 2012-7-3 18:14
do whlie语句中不管条件怎么样,都会执行一次循环

难道是do while下的所有 执行代码~~
回复 使用道具 举报
do while语句本来就有个特点:
先执行循环体,再判断条件,条件满足,再继续执行循环体
即do while无论条件是否满足,循环体至少执行一次。
而程序中你在do语句中已经定义了打印语句了。如
do
  {
   System.out.println("do:y="+y); //这里不论while条件是否满足,都至少会执行一次。
   
   y++;
   
  }
  while(y<11);
  {
   System.out.println("y="+y);
   
  }


评分

参与人数 1技术分 +1 收起 理由
韦念欣 + 1 赞一个!

查看全部评分

回复 使用道具 举报
这段代码是一定会执行System.out.println("y="+y);的
因为没有进入do while循环前,y已经等于10了,里面输出10,然后y自增,这时y就等于11了,循环条件判断不满足,于是跳出循环,执行System.out.println("y="+y);语句。
回复 使用道具 举报
哦 那么就是说 所有的输出语句都会执行一次咯 嗯 确实是这样 我把y的值换成了1000 嗨是有俩结果的
回复 使用道具 举报
{:soso_e113:}

解决咯
回复 使用道具 举报
黑龙江—刘鹏 发表于 2012-7-3 18:15
诶 ?  那么 执行的 应该是do下的执行条件吧 为什么是 while下的呢

哈哈哈  哥们 你跟我有一拼  注意看下 do.....while 语句执行时 ,do的语句必定先执行一次,这个你了解,那么while;后面的分号你没看见,就算不怎么明白语句也应该知道此循环已经结束,他下面的  {
    System.out.println("y="+y);
   
   }只是单纯的起着再一次输出y值得作用,你上边y++已经使y变成11了,下面只是输出而已!! 下回注意点别粗心了!!
回复 使用道具 举报
我去 原来是 这个语句到了while();就结束了呀  诶呀 基础一定要抓牢
回复 使用道具 举报
梁健生 发表于 2012-7-3 18:23
哈哈哈  哥们 你跟我有一拼  注意看下 do.....while 语句执行时 ,do的语句必定先执行一次,这个你了解, ...

嘿嘿 马虎啦  我啊 while();就结束啦~~
回复 使用道具 举报
黑龙江—刘鹏 发表于 2012-7-3 18:26
我去 原来是 这个语句到了while();就结束了呀  诶呀 基础一定要抓牢

基础很重要的哦,这位同学要多加练习!
回复 使用道具 举报
dev 中级黑马 2012-7-3 18:28:36
13#
梁健生 发表于 2012-7-3 18:23
哈哈哈  哥们 你跟我有一拼  注意看下 do.....while 语句执行时 ,do的语句必定先执行一次,这个你了解, ...

同意你说法!
回复 使用道具 举报
嗯 谢谢 黑马tv的兄弟们{:soso_e103:}
回复 使用道具 举报
黑龙江—刘鹏 发表于 2012-7-3 18:27
嘿嘿 马虎啦  我啊 while();就结束啦~~

哥们加油 !我也是零基础 现在才学到第5天 我们一起加油!!!~
回复 使用道具 举报
梁健生 发表于 2012-7-3 18:33
哥们加油 !我也是零基础 现在才学到第5天 我们一起加油!!!~

冲吧 哈哈  加油!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马