while语句用法
while(表达式)
{}/*循环体*/
要学会WHILE 很简单 首先记住不要拼写错误
表达式的值是1就继续进行{}这个循环体,否则就退出循环
WHILE(1)不能说是无限循环,因为还不知道函数体的组成
退出循环,有种中方法
1. 表达试的值是假的(值为0)
2. 循环体里执行了BREAK语句
3. 在循环题内返回了某值
至于while(k)是什么意思,这一类的问题,就要读者自己思考了
因为要放到程序里才能明白它的实际意思
LZ的程序里while(k)的意思是,如果K小于1那么就退出循环
使用while语句
使用有比喻的四字词语 while语句,可以在一个布尔表达式为true的前提下重复运行一个语句。
while语句的语法如下:
while ( booleanExpression )
statement
首先会对布尔表达式进行求值,如果为true,就运行语句,然后再次求值布尔表达式。如果表达
式仍为true,就再次运行语句,并再次求值表达式。这个过程会反复进行下去,直到布尔表达式
求值为fal;届时,while语句将退出,并从while之后的第一个语句继续。while语句在语法上
与if语句有许多相似的地方(事实上,两者除了关键字不同,语法是完全一样的):
l 表达式必须是一个布尔表达式。
l 布尔表达式必须放在圆括号内。
l 假如首次求值时,布尔表达式为fal,语句不会运行。
l 假如想要在一个while的控制下执行两个或者更多的语句,必须使用大括号将语句分组到一个块
中。
以下while语句向控制台写入0~9的值:
int i = 0;
while (i != 10)
{
ine(i);
i++;
}
所有while语句都应该在某个时候终止。新手常犯的错误是忘记添加一个特别的语句,它最终能
造成布尔表达式求值为fal并终止循环。在上例中,i++;就属于这种情况。
注意 while循环中的变量i控制着最终的循环次数。这是非常流行的一个表示法,具有这个作用
的变量有时也称为哨兵变量(Sentinel variable)。
在下面的练习中,准备写一个while循环,它每次从一个源文件中读取一行内容,并将每一行都
写入一个文本框中。
1. 在Visual Studio 2005中打开WhileStatement项目,它位于My Documents文件夹下的Microsoft
PressVisual CSharp Step by StepChapter 5WhileStatement子文件夹中。
2. 选择“调试”|“开始执行(不调试)”。
Visual Studio 2005将生成并运行这个Windows应用程序。应用程序本身是一个简单的文本文件查
看器,允许你选择一个文件来显示它的内容。
3. 单击“Open File”(打开文件)按钮。
随后会出现“打开”对话框
4. 切换到My Documents文件夹下的Microsoft PressVisual CSharp Step by Step Chapter
5WhileStatementWhileStatement子文件夹。
5. 选中文件,再单击“打开”。
文件名会在小的文本框中显示,但文件的内容没有在大文本框中显示。这是由于我们还
没有实现相应的代码来读取源文件的内容,并在大文本框中显示那些内容。下面的步骤将添加这
个功能。
6. 关闭窗体,返回Visual Studio 2005。
7. 在“代码和文本编辑器”窗口中显示文件的代码,找到小试牛刀 openFileDialog_FileOk方法。
用户在“打开”对话框中选择了一个文件,并在单击“打开”按钮之后,调用该方法。方法的主体目
前是:
string fullPathname = me;
FileInfo src = new FileInfo(fullPathname);
= ;
/* add while loop here */
第一个语句声明了一个字符串变量,名为fullPathname,并把它初始化为openFileDialog对象的
FileName属性。该语句将fullPathname初始化为“打开”对话框中选择的源文件的完整名称(包括路
径)。
注意 openFileDialog对象是可以从“工具箱”中选取的OpenFil耿庆国 eDialog组件的一个实例。利用这个
组件提供的方法,你可以向用户显示一个标准的Windows“打开”对话框,让用户从中选择一个文
件,并获取所选文件的名称和路径。
第二个语句声明了一个名为src的FileInfo变滑子菇 量放假安排 ,并把它初始化成代表“打开”对话框中所选文件的
一个对象(FileInfo是Microsoft Framework提供的一个类,可利用它对文件进行各种处理)。
第三个语句将src变量的Name属性赋给filename控件的Text属性。src变量的Name属性包含了
在“打开”对话框中选定的文件名(但无路径信息)。通过此次赋值,文件名会在Windows窗体的
filename组件中显示。
8. 将/* add while loop here */注释替换成以下语句:
= "";
source字段是窗体上最大的文本框。把它的Text属性设置成空字符串(""),就可以清除当前显示的
任何文本。
9. 在刚才在openFileDialog_FileOk方法中添加的那一行语句之accepting 后,输入以下语句:
TextReader reader = xt();
该语句声明了一个名为reader的TextReader变量 (TextReader是 Framework提供的另一个类,处事原则
它用于从文件这样的来源中读取字符流。该类位于命名空间中)。OpenFileDialog类提
供了OpenText方法,它用于打开用户在“打开”对话框中选择的文件。OpenText方法返回的是一个
TextReader对象。上述语句的作用就是将reader初始化为从xt方法调用中返回的
TextReader对象。现在,可以使用reader变量来读取用户选择的文件中的内容。
10. 在添加到openFileDialog_FileOk方法的上一行语句之后,接着输入以下语句:
string line = ne();
while (line != null)
{
+= line + 'n';
line = ne();
}
();
上述代码声明了一个名为line的string变量,它用于容纳reader从文件中读取的每一行文本。语
句调用ne方法从文件中读取第一行文本。该方法要么返回下一行文本,要么返回一
个名为null的特殊值(如果没有更多的行可供读取)。这个调用的结果将赋给line变量。
while循环开头的布尔表达式检查line变量的值。如果不为null,循环主体就显示读取的文本行,
具体的做法是将该行附加到名为source的TextBox控件的Text属性尾部,并在最后添加一个换行
符('n')。TextReader对象的ReadLine方法在读取每一行的时候,会自动剥除换行符,所以需要重
新添加这个换行符。随后,while循环将读取下一行文本(这是循环的“更新”语句),然后执行下一
次重复。
循环结束后,调用extReader对象的Clo方法来关闭文件。
提示 熟悉C#语法之后,你会发现while循环中的代码能缩写成下面这样:
string line;
while ((line = ne()) != null) { += line + 'n'; }
();
在这种情况下,循环开头的布尔表达式同时还要执行初始化和更新操作。其中将调用ReadLine方
法,并将返回值赋给line变量。然而,赋值语句实际会生成一个值——要赋值的表达式的值。所
以,可以使用一个关系操作符来比较一个赋值表达式的结果,并最终生成一个布尔结果。在这诗经雅 个
例子中,如果所赋的值为null,赋值表达式的值就是null,与null值比较的结果将为true。
11. 选择“调试”|“开始执行(不调试)”。
12. 单击“Open File”按钮,随后会出现“打开”对话框。
13. 切换到My Documents文件夹中的Microsoft PressVisual CSharp Step by Step Chapter
5WhileStatementWhileStatement子文件夹,选择文件,并单击 “打开”。
这一次,所选文件的内容将在文本框中完整地显示出来,如图5.1所示。
图5.1 文本框中完整显示形容老年人的词语 所选文件的内容
14. 在文本框中找算命五行 到openFileDialog_FileOk方法。验证该方法已经包含刚才所添加的代码。
15. 关闭窗体。
返回Visual Studio 2005编程环境。
本文发布于:2023-04-22 17:22:00,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/fan/82/509605.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |