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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

可以,用for构建死循环,循环里嵌套条件语句,希望结束是就break退出

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
死循环也算啊。。。
回复 使用道具 举报
for循环也可以用于未知循环次数的循环吗?可否举个例子呢?

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

12 个回复

倒序浏览
未知次数就用while吧
没必要非得用for

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

回复 使用道具 举报
可以,不过一般为无限循环,例如:
int i=1;
for( ; ; )
{
    i+=1;
}

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
可以,吧另外一个条件表达式作为参数传递进来就可以了

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
邓坤 中级黑马 2012-2-21 13:16:45
7#
本帖最后由 邓坤 于 2012-2-21 13:18 编辑

这个应该说是可以的。你看一下下面的例子:
首先定义一个方法Add()用来计算数组numbers中的所有数的和,数组中包含多少个数并不知道
static public int Add(int[] numbers)
        {
            int sum = 0;
            for(int i=0;i<numbers.Length;i++)
            {
                sum += numbers;
            }
            return sum;
        }
调用Add方法
int[] a = { 3, 4, 5 };
            int myr = MyClass.Add2(a);
            Console.WriteLine(myr);//输出结果为12,若int[] a={3,4,5,8,5}则输出结果为25
            Console.ReadKey();
不知道这是不是你想要的,这个定义数组中的数可以任意个数。其实对于未知循环次数的最好用while或do...while

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报

用while循环,用什么for,do..while也可以

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 李树明 于 2012-2-21 15:56 编辑

可以,不过一般没人用for循环做未知循环次数的循环
如:
            for (int i = 0; ; i++)
            {
                Console.WriteLine(i);
                if (i > 10)
                {
                    break;
                }
            }
一般会根据实际情况来选择其他的遍历方式:
如:foreach, while ,do...while....

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
可以,关键在于循环条件,循环条件可以设为为i<str.length(str为用户输入的字符串)

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
不过一般用while比较好
回复 使用道具 举报
陆亚 黑马帝 2012-2-25 23:49:06
12#
可以,while,do...while和for三者可以相互改写:
假设一个读文本的操作
StreamReader sr = new StreamReader(filePath)
string strLine = sr.ReadLine();
while(strLine != "")
{
     //do

}
回复 使用道具 举报
陆亚 黑马帝 2012-2-25 23:53:22
13#
while(strLine != “”)

     // do others
    strLine  = sr.ReadLine();


do...while实现

do
{
     string s = sr.ReadLine();
     //do others
}
while(sr.ReadLine() != "")

for实现
for(string strLine = sr.ReadLine();strLine != "";strLine = sr.ReadLine())
{
      //do others
}

可以看出for在该种情况下非常繁琐,用while或do...while非常简洁,因此for多数用于已知循环次数的情况下

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

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