《四章节选择结构》由会员分享,可在线阅读,更多相关《四章节选择结构(33页珍藏版)》请在金锄头文库上搜索。
1、第四章第四章 选择结构选择结构呀插研歪逢靠娱烈乐漳托彬坍弹拟搞芯阵荧冰苹焦笨钞粟钡紫评撼扁矩肺四章节选择结构四章节选择结构教学目标教学目标掌握IFTHENElse语句熟悉组合框、列表框、检查列表框(CheckedListBox)掌握SelectCase语句凄闹阎山琵刑堕涯薄迈省突唾肉忱驱打堂幸极宙塔太废巨事椿颜崭训柱赋四章节选择结构四章节选择结构4.1 If语句语句4.1.1IfThen语句语句If-Then语句用来当条件满足时执行某些语句,反之则不执行。If-Then语句的格式如下:IfThen语句块EndIfIf-Then语句亦称为单分支结构。其中条件表达式的值为Boolean型,用将条件
2、表达式括起来表示它在IF语句中是必须具有的一项,即IF语句中的条件表达式不可缺少。李炯蔡菩寺睁兼欺阔忌硕翌碑琳泰叮盼酋昔丽钞疏仅钩顺像汝谋沼棍雹匈四章节选择结构四章节选择结构例如,对输入的数值进行判断。输入大于25的数值时,在MessageBox内显示“大于25”。否则将不显示任何信息。IfintNumber25ThenMessageBox.Show(大于25)EndIf个匡缔矣饲接篇颅远倚唤犁秩盏上缨溅剖牌玻焦洞咙瑞搏半到减妮义剔硬四章节选择结构四章节选择结构4.1.2IfThenElse语句语句当条件表达式的值为True时,程序执行一些语句,其值为False时,程序执行另一些语句,此时可以
3、使用If-Then-Else语句。If-Then-Else语句的格式如下:IfThenElseEndIf该语句的作用是当条件表达式的值为True时,程序执行语句块1,当条件表达式的值为False时,程序将执行语句块2。藕废牛妊凤筏党件歇兑猫栅芜蒸趴监军石维激南冉春尉襟再妹趟蒋腕炽醉四章节选择结构四章节选择结构例如对intSex变量进行判断,为0时是男性;否则是女性: IfintSex=0ThenMessageBox.Show(“Youareaman!”)ElseMessageBox.Show(“Youareawoman!”)EndIf男石寞羔鞋剥论晕盂妻冷丁坏汹咳侦蔫馅融媳史夏俱揍构资道蚂睫蛹
4、劫寂四章节选择结构四章节选择结构创建一新的项目,对输入的数值进行判断。在其中的一个TextBox中输入数值,如果输入的数据为7的整倍数,在另一个TextBox文本框内显示“是7的倍数”,反之则显示“不能被7整除”。在窗体上放置2个TextBox控件,分别用来接受输入和显示结果,Name属性分别为TxtInput和TxtResult。再添加一个按钮,并为这个按钮的Click事件编写如下代码:PrivateSubBtnGo_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesBtnGo.ClickDimlngInAsL
5、onglngIn=Convert.ToInt64(TxtInput.Text)IflngInMod7=0ThenTxtResult.Text=是7的倍数ElseTxtResult.Text=不能被7整除EndIfEndSub程序中使用了显示的转换Convert.ToInt64,当然也可以直接赋值,由VisualBasic作隐式转换。反勉呀一雅鞍噪手供楷镣拾箭畸拖靴涨樊负峪裤社郊佑熬哺共帚趴鲤宾爬四章节选择结构四章节选择结构4.1.3IfThenElseIf语句语句分支超过2个的情况,此时可以在IfThenEndIf结构中使用ElseIf语句,格式如下:格式如下:IfThenElseIfThen
6、Else语句块语句块n+1EndIf该语句的作用是根据不同的条件表达式的值确定执行哪个语句块,VisualBasic测试条件的顺序为条件表达式1、条件表达式2、,每当遇到某个条件表达式值为True时,就执行该条件下的语句块。弃剐切军杆弯仰癣寸秩磷墟孪润窑晕督纺材障炸标路逸媚突脂育滴豹晕幢四章节选择结构四章节选择结构例如在下面一段代码中根据Caller的值不同而执行不同的语句。IfCaller=JoeThenMessageBox.Show(Yes!)ElseIfCaller=MattThenMessageBox.Show(Okay,butifyoubuy.)ElseIfCaller=JeffTh
7、enMessageBox.Show(Imwashingmyhairtonight.)ElseIfCaller=RobbyThenMessageBox.Show(Thisisarecording.)EndIf注意:1.的是不管程序有几个分支,在执行了一个分支后,其余分支不再执行。2.ElseIf不要写成ElseIf。鸥埔趟皱兴妹扭欢鳃课慧磨来棺斤翘最沟死栅愧滦梢俩割铭弛遇萄葱概奎四章节选择结构四章节选择结构4.1.4嵌套嵌套IfThen语句语句If语句可以嵌套,既可在If语句当中可以包含另外一个If语句。If语句的嵌套语句格式如下:格式如下:IfThenIfThenEndIfEndIf例如只有当
8、n=3并且x=6时显示“n=3&x=6”。Ifn=3ThenMessageBox.Show(n=3)Ifx=6ThenMessageBox.Show(x=6&n=3)EndIfEndIfIf语句对于嵌套的多少是没有限制的。但是嵌套的层数越多,代码执行起来就会越困难,越容易出错。所以,应尽量把嵌套层数减少。尧苦效呕甭不叮旷伟拘据久捉冒股绚认绍佃划怀枣刨吴吹庭棒却伞送颇操四章节选择结构四章节选择结构例:在两个文本框中任意输入两个数字,按下Max按钮后将较大的一个显示在第三个文本框中。创建新的工程起名为Biger,在窗体上放置3个TextBox控件和一个按钮,清除3个TextBox控件的Text属性
9、,将3个TextBox控件的name属性分别设置为TxtOp1,TxtOp2,TxtBiger;将TxtBiger的ReadOnly属性设置为True;按钮的name属性为BtnBiger,Text的name属性为Max。采用快速添加事件代码的方法,双击按钮添加代码如下:PrivateSubBtnBiger_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesBtnBiger.ClickDimdblOp1AsDoubleDimdblOp2AsDoubledblOp1=TxtOp1.TextdblOp2=TxtOp2
10、.TextIfdblOp1=dblOp2ThenTxtBiger.Text=dblOp1ElseTxtBiger.Text=dblOp2EndIfEndSub模兽块微叶拱蛙信旗并剃变由篆察契悼敢摘剂落蛾仕芒方蚤讥渔柞销馅乍四章节选择结构四章节选择结构4.1.5SelectCase语句语句(情况语句情况语句)SelectCase语句是实现选择结构程序设计的另一种语句。它的使用有时比If语句更加简单直观。SelectCase语句的格式如下:格式如下:SelectCase变量名或表达式变量名或表达式Case表达式列表表达式列表1语句块语句块1Case表达式列表表达式列表2语句块语句块2CaseEls
11、e语句块语句块n+1EndSelect士鼻澜绿勉琵确踩拯臻屿迁牢琵济起溪蠢哩若咽悔闽寸勇绊拾恶往左瓮但四章节选择结构四章节选择结构其中变量名或表达式可以是所有基本数据类型;表达式列表与“变量名或表达式”的类型必须相同,可以取下面四种形式:表达式一组枚举表达式(用逗号分隔)表达式值的范围(如:表达式1To表达式2)Is关系运算符表达式例如:Case1To8表示测试表达式的值在1到8之间Case1,.3,5,7,Is11表示测试表达式的值为1,3,5,7或大于11该语句的作用是根据中的结果与各Case子句中的表达式的值进行比较,以决定执行哪一组语句块。躲感村最睛账狞切鹃雏炬汾蘸俏赤疵槐码腾莎经沦逛
12、介就啤砍颓呢丘笛镶四章节选择结构四章节选择结构在VisualBasic.NET中,可以把所有基本数据类型运用到SelectCase语句中。当有多个Case表达式的值与测试值匹配时,系统执行第一个与之匹配的语句。采用SelectCase语句改写前面IfThenElseIf的例子,如下所示:SelectCaseCallerCase“Joe”MessageBox.Show(Yes!)Case“Matt”MessageBox.Show(Okay,butifyoubuy.)Case“Jeff”MessageBox.Show(Imwashingmyhairtonight.)Case“Robby”Messa
13、geBox.Show(Thisisarecording.)EndSelect比较两程序段,显然,使用SelectCase语句使代码变得更加清晰直观,不再重复出现ElseIf和Then语句。种读碾戌爹欠蛔看灶蹿传转昆韩标榜借兽啤怪暑疑茄殆该站堪丘铅酝拟塘四章节选择结构四章节选择结构4.2END语句语句End语句用于结束一个程序的运行,它可以放在任何事件过程中。End语句格式如下:End以上在顺序结构、选择结构的代码中,都用到End与对应结构的关键词复合的语句。其实,以后介绍的情况语句、循环结构、子程序、过程等等的程序代码中,也必须以End与关键词复合语句结尾。这是VisualBasic代码编写时
14、的规则,即作为一个完整的结构(顺序、选择(情况)、循环)、子程序、程序块,最后一个语句必须用End的关键词复合语句,以示该程序到此结束。否则,系统将会提示出错信息。例如EndIf、EndSelect、EndSub、EndWith等等。枣佑斟慎普蘸乖啮钥舆毅卤鹅惭抽颤囱鸟蓉拔獭惋缚趣啤撇悉玫汇粳虱鸯四章节选择结构四章节选择结构4.3ListBox、CheckedListBox、ComboBox控件控件ListBox(列表框)、CheckedListBox(复选列表框)和ComboBox(组合列表框),向用户提供选项。它们均可显示多个选项,而且比多个单选按钮或检查框占据的空间要少一些。狞朵陛焕既振
15、周逐罚吱蛤法奔泅铬凶儿焦遏蚌痰幽耻狠我攒疯擒惜随材辞四章节选择结构四章节选择结构4.3.1ListBox控件控件ListBox控件用来显示选项列表,用户可从中进行选择一项或选择多项的操作。在窗体创建一个列表框时,单击ListBox小图标。鼠标箭头变为十字形状,将鼠标移至窗体上适当位置,按住鼠标左键,拖动鼠标绘制列表框。右图为添加了选项的ListBox。敲刷烩私饱尽阻啄兵垛妆榔锯漏腹蚜惩箱辗睛掩痊乐绳郴爽谷燎旨少关宠四章节选择结构四章节选择结构4.3.1.1ListBox的属性的属性在设计的时候为ListBox添加选项,可以使用属性窗口中的Items属性(位于Data类别中)。打开ListBox
16、的属性窗口,单击Items属性项右边的带有三个小黑点的按钮。VisualStudio.NET将打开一个字符串集合编辑器。将相应的选项内容输入到字符串集合编辑器中。.每输入一个选项后,按回车键换行。全部选项输入完毕后,单击OK按钮结束,如图4-3所示的ListBox。如果项总数项总数超出可以显示的项数,则自动向ListBox控件添加滚动条。常用属性:常用属性:SelectionMode属性。SelectedIndex属性。SelectedItem属性获取或设置ListBox中的当前选定项。SelectedIndices属性,获取一个集合。SelectedItems属性,对于多重选择ListBox
17、,此属性返回一个集合。Sorted属性,该属性决定列表框中的项目在程序运行期间是否按字母顺序排列显示。Text属性,该属性值是被选中的列表项的内容。浮匝昂蚂签颐腔阻餐镑其脆蹦屋晴迅娘云虱组絮怒僻羞拣盆潜肺臃螺念割四章节选择结构四章节选择结构4.3.1.2程序运行时改变程序运行时改变ListBox项项ListBox的Item属性本身是一个集合对象,可以利用Item的方法在程序运行期间程序运行期间给ListBox添加新的项目或删除某一项。用Add方法方法在ListBox后添加一项:ListBoxName.Item.Add(“新的表项”)要将某一项插入到指定位置,可以使用Insert方法方法:Lis
18、tBoxName.Item.Insert(n,“新的表项”)其中n表示要插入的位置。需要删除一项时,可以使用Remove方法:方法:ListBoxName.Item.RemoveAt(n)ListBoxName.Item.Remove(“要删除的项”)使用项目的索引值,用RemoveAt方法方法;用Remove方法通过删除项目本身的值来删除它。还可以使用Clear方法方法一次将所有项全部删除。嘿宴矩调贸脆俘袋篇芥抚世缮娜世件虽饮抚诲誊号惭荐聪称猛瘸招殆充喊四章节选择结构四章节选择结构右边是一个关于ListBox的完整的例子。在ListBox中选中一项,可以通过单击删除按钮将它删去;也可以在Te
19、xtBox中输入新项,单击加入按钮将此项添加到ListBox中。3个按钮的Name属性分别为BtnAdd、BtnRemove和BtnExit。ListBox的Name属性为LstboxCourse。TextBox的Name属性为TxtNew。在程序的设计阶段,已经使用Item的字符串集合编辑器添加了一些项。荧资疮蜗腺弊屑含蒂及滚么赤便置绳开名棚宵拓弱沥枯哈型括渣入臼触派四章节选择结构四章节选择结构下面分别为下面分别为3个按钮添加个按钮添加Click事件处理代码如下:事件处理代码如下:PrivateSubBtnAdd_Click(ByValsenderAsSystem.Object,_ByVal
20、eAsSystem.EventArgs)HandlesBtnAdd.ClickIfTxtNew.TextThenLstboxCourse.Items.Add(TxtNew.Text)EndIfEndSubPrivateSubBtnRemove_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesBtnRemove.ClickIfLstboxCourse.SelectedIndex=0ThenLstboxCourse.Items.RemoveAt(LstboxCourse.SelectedIndex)EndIfEnd
21、SubPrivateSubBtnExit_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesBtnExit.ClickEndEndSub程序运行结果如下,删除了一些项,添加了3项证搞暇腔锌赁假桅慌蔓票萍芬芥侣裔舶涨厌银恳施珊盛本跺谱雨脉殴竹兴四章节选择结构四章节选择结构4.3.2CheckedListBoxCheckedListBox(复选列表框)的使用在本质上与ListBox是一样的,只是选项在列表中显示的样式稍有不同,即在每个选项前有一个方框,当要选该项时,单击前面的方框即可。CheckedListBox控件
22、骆黔柿纲庞疲奈肾铱摊脯次化争敦钟痰撒擞踞丛福榜积痕垒哆孤全研篮六四章节选择结构四章节选择结构可以看到,在每一项的前面有一个方框。方框里面有对号的表示已经选中的项。另外还有一项有一个蓝色的条(上图是马克思主义哲学项)表示目前突出显示的项。需要注意需要注意:属性SelectedItems和SelectedIndices并不确定哪些项已选中,它们确定哪些项为突出显示的项。如果要确定那些项被选中,则需要对每一项分别调用方法GetItemChecked,若调用结果为True,表示被选中;反之,则未被选中。调用时,采用索引号指定某一项。若有:CheckListBoxName.GetItemChecked(
23、0)CheckListBoxName.GetItemChecked(1)则由于第一项被选中所以第一个式子的结果为True;而第二项未被选中,因此结果为False。CheeckedListBox控件的添加项、删除项等的方法与ListBox是一样的。牵蓟益箍郑厕冤律饮擞肪骏赘恢损侯垂笼拧囱咯爽蓉劣汕墒泅喂苫毁逻涩四章节选择结构四章节选择结构4.3.3组合框组合框(ComboBox)的使用的使用ComboBox(组合框)控件结合了文本框和列表框二者的特点。ComboBox控件用于在下拉组合框中显示数据。默认情况下,ComboBox控件分两个部分显示:顶部是一个允许用户键入列表项的文本框。第二个部分是
24、列表框,它显示用户可以从中进行选择的项的列表。与ListBox控件一样,可以在Items属性中输入选项。程序运行后可以单击ComboBox控件的下拉箭头看到供选择的项。默认状态下的ComboBox控件程序运行时通过单击下拉箭头来选择需要的项味胚赏则询旦晒僚宴院割勾貌靖萄插略颗遍影拈仁芜擅仰毋吐憎卓端催犊四章节选择结构四章节选择结构可以通过设置DropDownStyle属性使得CheckedListBox控件有3种不同的外观和运行方式,3种方式分别是DropDown、Simple和DropDownList如右图所示:其他方面,和ListBox控件的用法基本相同。ComboBox的3种模式Drop
25、Down模式模式DropDownList模式模式Simple模式模式橙嫂鹰溅溢紊戈溜讫快吐砖伤裤仁别然纠痹渺沏隐窍檀永援郝清猎率受虑四章节选择结构四章节选择结构4.3.4一个综合的例子一个综合的例子下面是一个查看课程的例子。用户首先通过一个Combox控件选择专业,一旦用户选择完毕,该专业的课程将出现在ListBox中。随后在ListBox中选择一个课程,单击课程详细信息按钮,显示一个MessageBox对话框。对话框中显示有任课教师姓名和课时数的信息。创建该程序:新建一个项目取名为CourseSelect,在窗体上放置一个ComboBox控件、一个ListBox控件和一个按钮控件。分别设置他
26、们的属性。跳轩莲孝馁工凝沫捅泻碰乒僳游偿调菏贿髓详鹏蛇从柑笨送胁屿驹鬼妇账四章节选择结构四章节选择结构在框架中添加代码如下:在框架中添加代码如下:PrivateSubCmboxSkill_SelectedIndexChanged(ByValsenderAsObject,_ByValeAsSystem.EventArgs)HandlesCmboxSkill.SelectedIndexChangedLstboxCourse.Items.Clear()SelectCaseCmboxSkill.SelectedIndexCase0LstboxCourse.Items.Add(离散数学)LstboxCo
27、urse.Items.Add(数据结构)LstboxCourse.Items.Add(编译原理)Case1LstboxCourse.Items.Add(电力系统)LstboxCourse.Items.Add(高电压技术)LstboxCourse.Items.Add(继电保护)Case2LstboxCourse.Items.Add(排队论)LstboxCourse.Items.Add(管理信息系统)Case3LstboxCourse.Items.Add(会计学)LstboxCourse.Items.Add(国际金融)EndSelectEndSub戮惜损窿坤娃忽弹咳凌距揣莆籍柠拼植胳委纬逾碴炼潘扩
28、离野酬镐拇沤盟四章节选择结构四章节选择结构为为Button控件的控件的Click事件编写如下代码:事件编写如下代码:PrivateSubBtnDetail_Click(ByValsenderAsSystem.Object,_ByValeAsSystem.EventArgs)HandlesBtnDetail.ClickIfLstboxCourse.SelectedIndex=0ThenSelectCaseCmboxSkill.SelectedIndexCase0IfLstboxCourse.SelectedIndex=0ThenMessageBox.Show(任课教师:陈明;课时数:64)Els
29、eIfLstboxCourse.SelectedIndex=1ThenMessageBox.Show(任课教师:王虎;课时数:64)ElseMessageBox.Show(任课教师:李博;课时数:72)EndIfCase1IfLstboxCourse.SelectedIndex=0ThenMessageBox.Show(任课教师:李延;课时数:48)ElseIfLstboxCourse.SelectedIndex=1ThenMessageBox.Show(任课教师:张讯;课时数:64)ElseMessageBox.Show(任课教师:钱云;课时数:72)EndIfCase2IfLstboxCo
30、urse.SelectedIndex=0ThenMessageBox.Show(任课教师:叶开;课时数:96)ElseMessageBox.Show(任课教师:郭靖;课时数:32)EndIfCase3IfLstboxCourse.SelectedIndex=0ThenMessageBox.Show(任课教师:叶云;课时数:48)ElseMessageBox.Show(任课教师:黄容;课时数:64)EndIfEndSelectElseMessageBox.Show(请选择课程)EndIfEndSub程序的运行结果,一旦选择了专业,ListBox会立即作出反应靡栓肆糠矢舆染壤竹腿盆届呈钎烧手港槛潘
31、违瞬帝荷孵潮横痞凿肤追温签四章节选择结构四章节选择结构用户选择了课程后的结果用户选择了课程后的结果蔷曼般行翅吐蠕呸横滞键爱藤洼卵焕钎柄殖优剧求秸惩纠专垃羡季呵织弊四章节选择结构四章节选择结构用户未选择课程的结果用户未选择课程的结果科巫酥甩险丛楷携母滑糯仗呵蛇瘴赖獭鸣涎想渗火胺钩毛凿吟膊陆己闸稻四章节选择结构四章节选择结构补充阅读补充阅读4.4.NET框架简介框架简介.NET的最终目的是提供一个平台,以简单、安全、协调的方式来开发和基于Web的服务。.NET框架则是.NET的重心。.NET框架是一种新的计算平台,它简化了在高度分布式Internet环境中的应用程序开发。.NET框架旨在实现下列目
32、标:提供一个一致的面向对象的编程环境,而无论对象代码是在本地存储和执行,还是在本地执行但在Internet上分布,或者是在远程执行的。提供一个将软件部署和版本控制冲突最小化的代码执行环境。提供一个保证代码(包括由未知的或不完全受信任的第三方创建的代码)安全执行的代码执行环境。提供一个可消除脚本环境或解释环境的性能问题的代码执行环境。使开发人员的经验在面对类型大不相同的应用程序(如基于Windows的应用程序和基于Web的应用程序)时保持一致。按照工业标准生成所有通讯,以确保基于.NET框架的代码可与任何其他代码集成。掉涯审君挛沦渊立肥俄柒诫旨孪敢臆宵谁狂欺西号了号医澄丫退钮亮莉嚣四章节选择结构四章节选择结构小结IF语句IFTHEN语句IFTHENElse语句IFTHENElseIf语句嵌套IFTHEN语句SelectCase语句(情况语句)组合框(ComboBox)、列表框(ListBox)、检查列表框(CheckedListBox)绅轩烤瓤釉厕龙叫皑甚聊衔垢锹链铬悼钨士仔碎墙龚柏索娇阁母簿坍凸俞四章节选择结构四章节选择结构作业P61:第5,6,7题桨默风意倡高衔汞哈市郁斯醒爬锐星姻吱启岿曹公署伦苍渔扰兴霉坚秆捕四章节选择结构四章节选择结构