C#入门经典—第四章
来源:互联网 发布:ubuntu opengl 编辑:程序博客网 时间:2024/05/16 06:41
第四章 流程控制
本章内容:
- 布尔逻辑的含义及其用法
- 如何控制代码的分支
- 如何编写循环代码
分支是有条件的执行代码,条件根据计算结果来定。
循环重复执行相同的语句。
4.1 布尔逻辑
关系运算符
运算符==!=<><=>=类别二元二元二元二元二元二元运算符!&|^&&||类别一元二元二元二元二元二元4.1.1 布尔赋值运算符
布尔赋值运算符把布尔比较与赋值组合起来。
运算符&=|=^=类别二元二元二元using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication3{ class Program { static void Main(string[] args) { Console.WriteLine("Enter an integer:"); int myInt = Convert.ToInt32(Console.ReadLine()); bool isLessThan10 = myInt < 10; bool isBetween0And5 = (0 <= myInt) && (myInt <= 5); Console.WriteLine("Integer less than 10?{0}",isLessThan10); Console.WriteLine("Integer between 0 and 5?{0}",isBetween0And5); Console.WriteLine("Exactly one of the above is true?{0}",isLessThan10^isBetween0And5); Console.ReadKey(); } }}
4.1.2 按位运算符
取反运算符:~(一元)
左移运算符:<<(二元);右移运算符:>>(二元)
<<=,>>=(一元)
4.1.3 运算符优先级的更新
运算符优先级(由高到低)++,--(用作前缀),(),+,-(一元),!,~*,/,%+,-<<,>><,>,<=,>===,!=&^|&&||=,*=,/=,%=,+=,-=,<<=,>>=,&=,^=,|=++,--(用做后缀)4.2 goto语句
4.3 分支
C#的3种分支技术:
- 三元运算符
- if语句
- switch语句
4.3.1 三元运算符
这种运算符适合简单的赋值语句。
4.3.2 if语句
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication3{ class Program { static void Main(string[] args) { string comparison; Console.WriteLine("Enter a number:"); double var1 = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("Enter another number:"); double var2 = Convert.ToDouble(Console.ReadLine()); if (var1 < var2) comparison = "less than"; else { if (var1 == var2) comparison = "equal to"; else comparison = "greater than"; } Console.WriteLine("The first number is {0} the second nuber.", comparison); Console.ReadKey(); } }}
4.3.3 switch语句
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication3{ class Program { static void Main(string[] args) { const string myName = "karli"; const string sexyName = "angelina"; const string sillyName = "ploppy"; string name; Console.WriteLine("What is your name?"); name = Console.ReadLine(); switch (name.ToLower()) { case myName: Console.WriteLine("You have the same name as me!"); break; case sexyName: Console.WriteLine("My,what a sexy name you have!"); break; case sillyName: Console.WriteLine("That's a very silly name!"); break; } Console.WriteLine("Hello {0}!",name); Console.ReadKey(); } }}
ToLower():转换为小写。
4.4 循环
4.4.1 do循环
执行方式:执行标记为循环的代码,然后进行一个布尔测试,如果结果为true就执行这段代码,结果为false,就退出循环。
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication3{ class Program { static void Main(string[] args) { double balance, interestRate, targetBalance; Console.WriteLine("What is your current balance?"); balance = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("What is your current annual rate (in %)?"); interestRate = 1 + Convert.ToDouble(Console.ReadLine()) / 100.0; Console.WriteLine("What balance would you like to have?"); targetBalance = Convert.ToDouble(Console.ReadLine()); int tatalYears = 0; do { balance *= interestRate; ++tatalYears; } while (balance < targetBalance); Console.WriteLine("In {0} year {1} you will have a balance of {2}.", tatalYears, tatalYears == 1 ? " " : "s",balance); Console.ReadKey(); } }}
4.4.2 while循环
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication3{ class Program { static void Main(string[] args) { double balance, interestRate, targetBalance; Console.WriteLine("What is your current balance?"); balance = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("What is your current annual rate (in %)?"); interestRate = 1 + Convert.ToDouble(Console.ReadLine()) / 100.0; Console.WriteLine("What balance would you like to have?"); targetBalance = Convert.ToDouble(Console.ReadLine()); int tatalYears = 0; while (balance < targetBalance) { balance *= interestRate; ++tatalYears; } Console.WriteLine("In {0} year {1} you will have a balance of {2}.", tatalYears, tatalYears == 1 ? " " : "s",balance); if (tatalYears == 0) Console.WriteLine("To be honest,you really didn't need to use this calculator."); Console.ReadKey(); } }}
4.4.3 for循环
using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication3{ class Program { static void Main(string[] args) { double realCoord, imagCoord; double realTemp, imagTemp, realTemp2, arg; int interations; for (imagCoord = 1.2; imagCoord >= -1.2; imagCoord -= 0.05) { for (realCoord = -0.6; realCoord <= 1.77; realCoord += 0.03) { interations = 0; realTemp = realCoord; imagTemp = imagCoord; arg = (realCoord * realCoord) + (imagCoord * imagCoord); while ((arg < 4) && (interations < 40)) { realTemp2 = (realTemp * realTemp) - (imagTemp * imagTemp) - realCoord; imagTemp = (2 * imagTemp * realTemp) - imagCoord; realTemp = realTemp2; arg = (realTemp * realTemp) + (imagTemp * imagTemp); interations+=1; } switch (interations % 4) { case 0: Console.Write("."); break; case 1: Console.Write("o"); break; case 2: Console.Write("O"); break; case 3: Console.Write("@"); break; } } Console.Write("\n"); } Console.ReadKey(); } }}
4.4.4 循环的中断
- break——立即终止循环
- continue——立即终止当前的循环(继续执行下一次循环)
- goto——可以跳出循环,到已标志好的位置
- return——跳出循环及其包含的函数
4.4.5 无限循环
- C#入门经典—第四章
- C#入门经典第四章
- 读《C#入门经典》第四章
- C#入门经典(第4版)第四章习题
- 《C#入门经典(第6版)》读书笔记4_第四章:流程控制
- 《算法竞赛入门经典》第四章小结
- 算法竞赛入门经典第四章笔记
- 算法竞赛入门经典-第四章源代码
- 算法竞赛入门经典 第四章答案
- acm算法竞赛入门经典第四章
- 算法竞赛入门经典第四章习题
- 《算法竞赛入门经典》第四章总结
- 算法竞赛入门经典第四章
- 算法入门经典第四章例题总结
- C#入门经典—第二章
- C#入门经典—第三章
- C#入门经典—第五章
- C#入门经典—第六章
- jquery一款拖拉选择块筛选数据插件
- C3P0连接池详细配置
- Erlang学习资料
- 解决「问题」,不要解决问题
- 网站字体渲染过程
- C#入门经典—第四章
- xubuntu系统环境搭建
- java学习5
- Oracle alert log 按天 存放 脚本
- Qt数据库总结
- NSUserDefaults读取和写入自定义对象
- Total Commander 快捷键
- uboot命令
- php Smarty模板引擎配置与测试