----------------------以下为我在黑马程序员学习期间整理的笔记和心得,期待与您交流! ----------------------

11-2、习题04周天小时分秒的转化习题(原视频没有声音)

2013-08-30 23:43:48
c#中异常捕获如何来完成:
try
{
     有可能出现的错误的代码卸载这里
}
catch
{
     出错后的处理
}
上面的程序如何执行“
如果try中的代码没有出错,则程序正常运行try中的内容后,不会执行catch中的内容
如果try中的代码一旦出错,程序立即跳入catch中去执行代码,那么ray中的出错代码后面的内容
            //第一题
            //让学生输入其姓名和语文数学\英语,编程求总分和平均分
            //并在屏幕上显示:XX你的总分为xx分,平均分为XX分
            try
            {
                Console.WriteLine("请输入您的姓名:");
                string name = Console.ReadLine();
                Console.WriteLine("请输入您的语文成绩:");
                int chinese = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("请输入您的数学成绩:");
                int math = Convert.ToInt32(Console.ReadLine());
                Console.WriteLine("请输入您的英语成绩");
                int english = Convert.ToInt32(Console.ReadLine());
                int point = chinese + math + english;
                int average = Convert.ToInt32((chinese + math + english) / 3);
                Console.WriteLine("您的姓名是{0},您的总分是{1},您的平均分是{2}", name, point, average);
            }
            catch
            {
                Console.WriteLine("您刚才输入的数据有误导致程序出错,请重新运行程序!");
            }
            Console.ReadKey();

            //第二题
            //编程实现计算几天(如46天)是几周零几天.   46/7...4
            Console.WriteLine("请输入你要计算的天数?");
            int days = Convert.ToInt32(Console.ReadLine());
            int week = days / 7;
            int mod = days % 7;
            Console.WriteLine("{0}中共有{1}周{2}天",days,week,mod);
            Console.ReadKey();

            //第三题
            //编程实现计算几天(如46天)是几月几周零几天. 
            Console.WriteLine("请输入你要计算的天数?");
            int days = Convert.ToInt32(Console.ReadLine());
            int mouth = days / 30;
            int week = (days-mouth*30) / 7;
            int mod = (days-mouth/7) % 7;
            Console.WriteLine("{0}中共有{1}月{2}周{3}天", days,mouth, week, mod);
            Console.ReadKey();

            //第四题
            //编程实现107653秒是几天几小时几分钟几秒钟?
            int seconds = Convert.ToInt32(Console.ReadLine());
            int day = seconds / (3600 * 24);
            int mod = seconds % (3600 * 24);      //除去上面的天数还剩多少秒
            int hour = mod / 3600;                //看看剩余的秒数中海油多受啊3600秒
            int min = mod / 60;                   //看看剩余的秒数中除去上面算的小时,还剩余多少时间
            int second = mod % 60;
            Console.WriteLine("{0}秒中共包含{1}天{2}小时{3}分钟{4}秒",seconds,day,hour,min,second);
            Console.ReadKey();
12、自加自减复合赋值-关系表达式
2013-09-02 18:10:43

++ 自加一 有前加和后加

-- 自减一 有前减和后减
            int age = 18;
            age = age + 1;
            age++;
            age--;
            Console.WriteLine("age={0}",age);
            Console.ReadKey();
            int age = 18;
            int sum = age++ - 10;
            Console.WriteLine("age={0}", age);
            Console.WriteLine("sum={0}", sum);
            Console.ReadKey();
            //输出:age19   sum8
上面代码中age是后加,所以在进行语句运算时,age++取原值参与运算,所以sum=8
            int age = 18;
            int sum = ++age - 10;
            Console.WriteLine("age={0}", age);
            Console.WriteLine("sum={0}", sum);
            Console.ReadKey();
            //输出:age19   sum9
上面代码中age是前加,所以在进行语句运算时,++age取加一后的新值参与运算,所以sum=9
int age = 8;
int sum = age++ - 10;
相当于:
int age = 18;
int sum = age - 10;
age = age + 1;

int age = 8;
int age = ++age - 10;
相当于:
int age = 18;
age = age + 1;
int sum = age -10

c#中一元二次运算符高于二元二次匀速符
            int var1;
            int var2 = 5;
            int var3 = 6;
            var1=var2++ * --var3;
            Console.WriteLine("var1={0},var2={1},var3={2}",var1,var2,var3);
            Console.ReadKey();
            //输出var1=25,var2=6,var3=5.
+=   
例如:age=age+3 =  age+=3;
;理解成在age的原值上加3
-=
例如:age=age-3 =  age-=3;
;理解成在age的原值上减3
*=
/=
%=
能够改变变量值的:
++/--
=

关系运算符
在c#中,有6个关系运算符,用于比较两个事物之间的关系。
>
<
==  比较相等
!=  比较不相等
>=
<=
关于表达式:由关系运算符链接起来的式子
布尔(bool)类型
真:ture
假:false
关系表达式的运算结果为bool类型,bool类型只有两个值,一个是ture,一个是false。
如果关系运算表达式成立,则这个表达式的值为ture,否则为false
            int zsage = 20;
            int lsage = 18;
            bool isRight = zsage < lsage;
            Console.WriteLine(isRight);

13、逻辑表达式 
2013-09-03 12:48:07
字符类型可以比较大小
            int dxZL = 1500;
            int lsZL = 1;
            bool isRight = dxZL > lsZL;
            Console.WriteLine(isRight);
            Console.ReadKey();
字符串类型不能比较大小
    string zsName="zhangsan";
            string lsName = "lisi";
            bool isRight = zsName != lsName;
            Console.WriteLine(isRight);
            Console.ReadKey();
逻辑运算符: &&  ||   !
逻辑与运算:&&
bool isRight = 表达式1 && 表达式2
逻辑与连接的两个表达式,要能够求解成bool类型,一般情况都是关系表达式
整个逻辑与运算的结束也是bool类型
表达式1   表达式2 逻辑与结果
ture ture  ture
false false false
false    ture  false
ture false  false

当两个表达式全为ture时,结果才为ture
            int age = 20;
            int weight = 120;
            bool result = age >= 18 && weight >= 100;
            Console.WriteLine(result);
输出的结果为Ture
            int age = 10;
            int weight = 90;
            bool result = age >= 18 && weight >= 100;
            Console.WriteLine(result);
输出的结果为False
逻辑与运算:||
bool isRight = 表达式1 || 表达式2
逻辑与连接的两个表达式,要能够求解成bool类型,一般情况都是关系表达式
整个逻辑与运算的结束也是bool类型
表达式1   表达式2 逻辑与结果
ture ture  ture
false   false     ture
false   ture  ture
ture   false  false
只要有一个为ture,其结果都为ture
            //让用户输入张三的身高和体重
            //火车站规定,一个人的身高>=120厘米或者体重>=50kg就必须买票
            //需要买票输出ture,不需要输出false
            Console.WriteLine("请输入您的身高(cm):");
            int high = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入您的体重(kg):");
            int weight = Convert.ToInt32(Console.ReadLine());
            bool result = high >= 120 || weight >= 50;
            Console.WriteLine(result);

逻辑非:!

这是一个一元运算符.
用法:
!(布尔类型的表达式)
作用:
如果:
布尔类型的表达式的表达式为ture,加!号后,其整个式子的结果为false.
布尔类型的表达式的表达式为false,加!号后,其整个式子的结果为ture.
Console.WriteLine(!result);
输出结果想反,真变假,假变真
表达式   !表达式
True False
False Ture

16、复习-if作业讲解

2013-09-03 22:58:23
让用户输入年龄,如果输入的年龄大于18岁,则给用户显示你已成年.
            Console.WriteLine("请输入您的年龄");
            int age = Convert.ToInt32(Console.ReadLine());
            if (age >= 18)
            {
                Console.WriteLine("你已成年!");
            }
如果张三的语文成绩大于90并且音乐成绩大于80,或者语文成绩等于100并且音乐成绩大于70,则奖励100元
            Console.WriteLine("请输入你的语文成绩?");
            int chinese = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入你的音乐成绩");
            int music = Convert.ToInt32(Console.ReadLine());
            if ((chinese >= 90) && (music >= 80) || (chinese == 100) && (music >= 70))
            {
                Console.WriteLine("奖励一百元!");
            }
让用户输入用户名和密码,如果用户名为admin,密码为myPass,则提示登陆成功
            Console.WriteLine("请输入您的用户名");
            string userName = Console.ReadLine();
            Console.WriteLine("请输入您的密码");
            string myPass = Console.ReadLine();
            if (userName == "admin" && myPass == "myPass") 
            {
                Console.WriteLine("登陆成功");
            }

17、if-else

2013-09-04 14:45:06
//如果张三的考试成绩大于(90)分,那么爸爸奖励他100元钱,否则的话,爸爸就让张三写学习总结.
            int score = 95;
            if (score >= 90)
            {
                Console.WriteLine("奖励100元");
            }
            if (score <= 90)
            {
                Console.WriteLine("不准出去玩,写总结去");
            }
            Console.ReadKey();
if-else 结构
语法:
if(条件)
    {语句块1}
else
    {语句快2}
执行过程:
如果条件为ture,则执行if带的语块1,并且跳过else带的语句块2
如果条件为false.则跳过if带的语句块1.执行else带的语句块2
            int score = 95;
            if (score >= 90)
            {
                Console.WriteLine("奖励100元");
            }
            else
            {
                Console.WriteLine("不准出去玩,写总结去");
            }

19、switch-case

2013-09-05 14:27:15
提示用户输入年龄,如果大约等于18,则告知用户可以查看,如果小于10岁,则告知不允许查看,如果大于等于10岁并且小于18,则提示用户是否继续查看(yes.no),如果输入的是yes则提示用户请查看,否则提示"退出,你放弃查看"
            Console.WriteLine("你现在看的电影肯能涉及到血腥暴力,请输入你的年龄:");
            int age = Convert.ToInt32(Console.ReadLine());
            if (age >= 18)
            {
                Console.WriteLine("你可以观看");
            }
            else if (age >= 10)
            {
                Console.WriteLine("你确定要管看吗?请输入yes观看,其他则退出");
                string input = Console.ReadLine();
                if (input == "yes")
                {
                    Console.WriteLine("请观看");
                }
                else
                {
                    Console.WriteLine("你选择了退出!");
                }
            }
            else 
            {
                Console.WriteLine("年龄太小不允许观看");
            }
            Console.ReadKey()
switch(语法)
switch (语句块)
{
    case 值1:语句块1
    break;
    case 值2:语句块2
    break;
    default:语句块3
    break;
}
例题
 Console.WriteLine("请输入你对力斯得评定等级(A-E)");
            string input = Console.ReadLine();
            decimal salary = 5000;
            bool flag = false;
            if (input == "A")
            {
                //salary=salary+500
                salary += 500;
            }
            else if (input == "B")
            {
                salary += 200;
            }
            else if (input == "C")
            {
            }
            else if (input == "D")
            {
                salary -= 200;
            }
            else if (input == "E")
            {
                salary -= 500;
            }
            else
            {
                Console.WriteLine("输入有误,只能输入大写ABCDE");
                flag = true;
            }
            if (flag == false)
            {
                Console.WriteLine("李四的工资为:" + salary);
            }
//用switch-case实现上面的功能
执行过程:首先计算表达式,然后根据计算结果与匹配case后面的值.如果有匹配项,则执行匹配后面的语句,直到break语句跳出switch-case,如果所有的case值都不匹配,那么有defanlt则执行default后面的语句,直到break结束,如果没有default.则跳出switch-case,什么都不执行.
default:
//注意,匹配时和位置没有关系,只和值有关系.
            Console.WriteLine("请输入你对李四的评定等级(A-E)");
            string input = Console.ReadLine();
            decimal salary = 5000;
            bool flag = false;
            switch (input)
            {
                case "A":
                    salary += 500;
                    break;
                case "B":
                    salary += 200;
                    break;
                case "C":
                    break;
                case "D":
                    salary -= 200;
                    break;
                case "E":
                    salary -= 500;
                    break;
                default://注意,匹配时和位置没有关系,只和值有关 系.
                    Console.WriteLine("你输入的有问题!");
                    flag = true;
                    break;
            }
                    if (flag == false)
                    {
                        Console.WriteLine("李四的工资为:" + salary);
                    }
            Console.ReadKey();

20、switch-case作业

2013-09-06 22:16:56
switch:一般只能用于等值比较
if-else of:可以处理范围
1.请用户输入年份,输入月份,输出该月的天数
            Console.WriteLine("请输入年份");
            int year = Convert.ToInt32(Console.ReadLine());
            Console.WriteLine("请输入月份");
            int month = Convert.ToInt32(Console.ReadLine());
            switch (month)
            {
                case 1:
                case 3:
                case 5:
                case 7:
                case 8:
                case 10:
                case 12:
                    Console.WriteLine("31天");
                    break;
                case 2:
                    if (year % 4 == 0 || year % 400 == 0 && year % 100 != 0)
                    {
                        Console.WriteLine("29天");
                    }
                    else
                    {
                        Console.WriteLine("28天");
                    }
                    break;
                default:
                  Console.WriteLine("30天");
                   break;
              }
            Console.ReadKey();

2.对学员结业考试的成绩测评(改成Switch来做)
成绩>=90:A
90>成绩>=80:B
80>成绩>=70:C
70>成绩>=60:D
成绩<60:E
            Console.WriteLine("输入你的成绩");
            int score = Convert.ToInt32(Console.ReadLine());
            switch (score / 10)
            {
            case 9:
                    Console.WriteLine("A");
                    break;
            case 8:
                    Console.WriteLine("B");
                    break;
            case 7:
                    Console.WriteLine("C");
                    break;
            case 6:
                    Console.WriteLine("D");
                    break;
                default:
                    Console.WriteLine("E");
                    break;
                       
            }
            Console.ReadKey();