C#学习笔记 04.01
(学习视频来自bilibili的传智播客赵老师基础教学视频)
开局就是个小例子(还是选择结构的)
输入一个年份,再输入一个月份,得到这个月有多少天。
思路不复杂,就没写注释,可以运行……
using System;
namespace _02_YueYouJiTian
{
class Program
{
/// <summary>
/// 一个返回某年某月有几天的小东西
/// </summary>
/// <param name="args"></param>
static void Main(string[] args)
{
int nian, yue, tian;
string nian_JS, yue_JS;
Console.WriteLine("请输入年号:");
lable_nian:
nian_JS = Console.ReadLine();
try
{
nian = Convert.ToInt32(nian_JS);
}
catch (Exception)
{
Console.WriteLine("年号应为纯数字(整数),请重新输入:");
goto lable_nian;
}
Console.WriteLine("请输入月份:");
lable_yue:
yue_JS = Console.ReadLine();
try
{
yue = Convert.ToInt32(yue_JS);
if (yue>12)
{
Console.WriteLine("请输入1~12的数字");
goto lable_yue;
}
}
catch (Exception)
{
Console.WriteLine("请输入1~12的数字(整数)");
goto lable_yue;
}
switch (yue)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
tian = 31;
break;
case 4:
case 6:
case 9:
case 11:
tian = 30;
break;
default:
if (nian%4==0)
{
tian = 29;
}
else
{
tian = 28;
}
break;
}
Console.WriteLine("{0}年的{1}月有{2}天。", nian, yue, tian);
Console.ReadKey();
}
}
}
今日主题:循环
while循环
while(循环条件)
{
循环体
}
划重点:先判断循环条件,成立就执行循环体。(这就造成了while循环是有一次都不执行的可能的)如果循环体中没有一条能改变循环条件的语句,那么就会变成死循环。当然了,有的时候我们需要写死循环,这个时候不妨 while(true)
多说无益,上代码……其实除了这种死循环的地方,我还是比较喜欢用for
这个例子是除了yes和no,输入别的都会不断被要求输入
string str = null;
while (!(str == "yes" || str == "no"))
{
Console.WriteLine("请输入yes或no");
str = Console.ReadLine();
}
Console.ReadKey();
再来个更麻烦一点的
一个题,如果回答no,那就继续讲,回答yes就不讲了,讲了10遍也不讲了
老师好难啊……
using System;
namespace _03_whileXunHuan
{
class Program
{
static void Main(string[] args)
{
int i = 0; //循环的条件
while (i < 10)
{
i = i + 1; //i++也可以,只是我比较喜欢写这个原始的。。。
Console.WriteLine("你听懂了么?讲完第{0}次", i);
string str = null;
while (!(str == "yes" || str == "no"))//限定输入为yes或者no
{
Console.WriteLine("请输入yes或no");
str = Console.ReadLine();
}
if (str == "yes")
{
Console.WriteLine("恭喜你学会了!");
break;
}
if (i == 10)
{
Console.WriteLine("我选择狗带。。。。。。");
}
}
Console.ReadKey();
}
}
}
do while循环
do while 这个和 while 的不同点就在于循环体会先执行一次,这一次执行时无条件的。
不过 do while 循环做的事情 while 循环都能做到,打不了多写一次某些代码而已,如果不想研究的话,其实这个也不用太过在意。
程序调试
这个是最重要的,
F11 单步调试,逐语句调试(箭头所指的代码还没有执行)
F10 逐过程调试(这种用来调试方法)
断点调试(这种是在断点处停下,让前面确定是对的部分快速的之行过去,停下之后就可以进行逐语句,或者逐过程继续)
窗口,快速监视加入变量,可以调出监视窗口。