zoukankan      html  css  js  c++  java
  • C#和.Ne学习第三天

    (主要是传智播客的赵剑宇老师上课的笔记,由于这几天的课和以前上C学C语言和C++几乎都学过所有开始跳着学,在此感谢赵剑宇老师)

    1、类型如果相兼容的两个变量,可以使用自动类型转换或者强制类型转换,
    但是,如果两个类型的变量不兼容,比如string与int或者string与double,这时候我们可以使用一个叫做Convert的转换工厂进行转换。
    注意:使用Convert进行类型转换,也需要满足一个条件:
    面上必须过的去,看起来能转换。

    练习1

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace ConsoleApplication6
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             string lanuge;
    14             string math;
    15             Console.WriteLine("语文:");
    16             lanuge = Console.ReadLine();
    17             Console.WriteLine("数学:");
    18             math = Console.ReadLine();
    19 
    20             decimal sum = Convert.ToDecimal(lanuge)+Convert.ToDecimal(math);
    21             Console.WriteLine("总成绩:{0}", sum);
    22         }
    23     }
    24 }
    1

    输出结果:
    语文:
    100
    数学:
    100
    总成绩:200
    请按任意键继续. . .

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace ConsoleApplication6
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             string name;
    14             string lanuge;
    15             string math;
    16             string english;
    17             Console.WriteLine("你的名字:");
    18             name = Console.ReadLine();
    19             Console.WriteLine("语文:");
    20             lanuge = Console.ReadLine();
    21             Console.WriteLine("数学:");
    22             math = Console.ReadLine();
    23             Console.WriteLine("英语:");
    24             english = Console.ReadLine();
    25 
    26             decimal sum = Convert.ToDecimal(lanuge)+Convert.ToDecimal(math)+Convert.ToDecimal(english);
    27             decimal average = sum / 3;
    28             Console.WriteLine("姓名:", name);
    29             Console.WriteLine("总成绩:{0}分", sum);
    30             Console.WriteLine("平均成绩:{0}分", average);
    31         }
    32     }
    33 }
    2

    输出结果:
    你的名字:
    007
    语文:
    100
    数学:
    100
    英语:
    100
    姓名:
    总成绩:300分
    平均成绩:100分
    请按任意键继续. . .

    2、算数运算符
    ++
    {
    ++分两种:
    结果都是变量加1
    1、前++
    例:
    int t = 10;
    int i = ++t;
    那么i = 11, t = 11;
    2、后++
    int t = 10;
    int i = t++;
    那么i = 10, t = 11;
    }
    --
    {
    --分两种:
    结果都是变量减1
    1、前--
    int t = 10;
    int i = --t;
    那么i = 9, t = 9;
    2、后--
    int t = 10;
    int i = t--;
    那么i = 10, t = 9;
    }

    3、
    对于向加加或者减减这样只需要一个操作数就能完成的运算,我们称之为一元运算符。
    + - * / % 对于这些需要两个或以上才能完成运算的操作符,我们称之为二元运算符。
    一元运算符的优先级要高于而元运算符。
    如果在一个表达式当中,既有一元运算符,又有二元运算符,我们首先计算一元运算符。

    int number=10;
    int result=10 + ++number;

    4、关系运算符
    >
    <
    >=
    <=
    ==
    !=
    关系运算符是用来描述两个事物之间的关系
    由关系运算符连接的表达式称之为关系表达式。
    5、bool类型
    在c#中我们用bool类型来描述对或者错。
    bool类型的值只有两个 一个true 一个false

    6、逻辑运算符
    && 逻辑与
    C#中&&与&区别
    bool b = 5>6&&6>7;
    当5>6已经不成立的时候,不会去判断6>7
    而bool b = 5>6 & 6>7,当5>6已经不成立的时候,还会去断送6>7,
    没有&&效率更好。
    ||逻辑或
    C#中||与|区别
    bool b = 5<6&&6<7;
    当5<6已经成立的时候,不会去判断6<7
    而bool b = 5<6 & 6<7,当5<6已经成立的时候,还会去断送6<7,
    没有||效率更好。
    !逻辑非
    又逻辑运算符连接的表达式叫做逻辑表达式

    逻辑运算符两边放的一般都是关系表达式或者bool类型的值。
    5>3 &&true

    3>5||false

    !表达式
    逻辑表达式的结果同样也是bool类型

    7、复合赋值运算符
    int number=10;
    += :
    number+=20;
    number=number+20;
    -=
    number-=5;
    number=number-5;
    *=
    number*=5;
    number=number*5;
    /=
    %=
    顺序结构:程序从Main函数进入,从上到下一行一行的执行,不会落下任何一行。
    分支结构:if if-else
    选择结构:if else-if switch-case
    循环结构:while do-while for foreach

    8、
    if语句:
    语法:
    if(判断条件)
    {
    要执行的代码;
    }
    判断条件:一般为关系表达式或者bool类型的值。
    执行过程:程序运行到if处,首先判断if所带的小括号中的判断条件,
    如果条件成立,也就是返回true,则执行if所带的大括号中的代码,
    如果判断条件不成立,也就是返回一个false。则跳过if结构,继续向下执行。

    if结构的特点:先判断,再执行,有可能一行代码都不执行
    用于一种情况的判断。
    练习2

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace ConsoleApplication9
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             int age;
    14             Console.WriteLine("请输入你的年龄:");
    15             age = Convert.ToInt32(Console.ReadLine());
    16 
    17             if (age > 23)
    18             {
    19                 Console.WriteLine("你到了结婚的年龄了!");
    20             }
    21         }
    22     }
    23 }
    1

    输出结果:
    请输入你的年龄:
    25
    你到了结婚的年龄了!
    请按任意键继续. . .

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace ConsoleApplication9
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             decimal chinese, music;
    14             Console.WriteLine("请输入老苏的语文:");
    15             chinese = Convert.ToDecimal(Console.ReadLine());
    16             Console.WriteLine("请输入老苏的音乐:");
    17             music = Convert.ToDecimal(Console.ReadLine());
    18 
    19             if ((chinese > 90 && music > 80) || (chinese == 100 & music > 70))
    20             {
    21                 Console.WriteLine("奖励100元!");
    22             }
    23         }
    24     }
    25 }
    2

    输出结果:
    请输入老苏的语文:
    100
    请输入老苏的音乐:
    77
    奖励100元!
    请按任意键继续. . .

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace ConsoleApplication9
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             string name;
    14             string key;
    15 
    16             Console.WriteLine("请输入你的用户名:");
    17             name = Console.ReadLine();
    18             Console.WriteLine("请输入你的密码:");
    19             key = Console.ReadLine();
    20 
    21             if (name == "admin" && key == "mypass")
    22             {
    23                 Console.WriteLine("登录成功!");
    24             }
    25         }
    26     }
    27 }
    3

    输出结果:
    请输入你的用户名:
    admin
    请输入你的密码:
    mypass
    登录成功!
    请按任意键继续. . .

    9、if-else
    语法:
    if(判断条件)
    {
    执行的代码;
    }
    else
    {
    执行的代码
    }
    执行过程:程序执行到if处,首先判断if所带的小括号中的判断条件是否成立,
    如果成立,也就是返回一个true,则执行if所带的大括号中的代码,
    执行完成后,跳出if-else结构。
    如果if所带的小括号中的判断条件不成立,也就是返回一个false,
    则跳过if语句,执行else所带的大括号中的语句,执行完成后,跳出if-else结构。

    if-else特点:先判断,再执行,最少都要执行一条代码。
    用于两种情况的判断

    注意:else永远跟离它最近的那个if配对


    10、if else-if
    作用:用来处理多条件的区间性的判断。
    语法:
    if(判断条件)
    {
    要执行的代码;
    }
    else if(判断条件)
    {
    要执行的代码;
    }
    else if(判断条件)
    {
    要执行的代码;
    }
    else if(判断条件)
    {
    要执行的代码;
    }
    ........
    else
    {
    要执行的代码;
    }
    执行过程;程序首先判断第一个if所带的小括号中的判断条件,如果条件成立,也就是返回一个true,
    则执行该if所带的大括号中的代码,执行完成后,立即跳出if else-if结构。
    如果第一个if所带的判断条件不成立,也就是返回一个false,则继续向下进行判断,依次的判断每一个if所带
    的判断条件,如果成立,就执行该if所带的大括号中的代码,如果不成立,则继续向下判断,
    如果每个if所带的判断条件都不成立,就看当前这个if else-if结构中是否存在else。
    如果有else的话,则执行else中所带的代码,如果没有else,则整个 if-else if神马都不做。
    else可以省略。

    课上练习:
    练习3

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace ConsoleApplication1
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             string key;
    14 
    15             Console.WriteLine("请输入密码:");
    16             key = Console.ReadLine();
    17 
    18             if (key == "88888")
    19             {
    20                 Console.WriteLine("密码正确!");
    21             }
    22             else
    23             {
    24                 Console.WriteLine("请再输入一次:");
    25                 key = Console.ReadLine();
    26                 if (key == "88888")
    27                 {
    28                     Console.WriteLine("密码正确!");
    29                 }
    30             }
    31         }
    32     }
    33 }
    1

    输出结果:
    请输入密码:
    7
    请再输入一次:
    88888
    密码正确!
    请按任意键继续. . .

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace ConsoleApplication1
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             string name;
    14             string key;
    15 
    16             Console.WriteLine("请输入用户名:");
    17             name = Console.ReadLine();
    18             Console.WriteLine("请输入密码:");
    19             key = Console.ReadLine();
    20 
    21             if (name == "admin" && key == "88888")
    22             {
    23                 Console.WriteLine("登录正确!");
    24             }
    25             else
    26             {
    27                 if (name != "admin")
    28                 {
    29                     Console.WriteLine("用户名不存在!");
    30                 }
    31                 else
    32                 {
    33                     Console.WriteLine("密码错误!");
    34                 }
    35             }
    36         }
    37     }
    38 }
    2

    输出结果:
    请输入用户名:
    007
    请输入密码:
    88888
    用户名不存在!
    请按任意键继续. . .

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 using System.Threading.Tasks;
     6 
     7 namespace ConsoleApplication1
     8 {
     9     class Program
    10     {
    11         static void Main(string[] args)
    12         {
    13             int age;
    14             string yesNo;
    15 
    16             Console.WriteLine("请输入你的年龄:");
    17             age = Convert.ToInt32(Console.ReadLine());
    18 
    19             if (age >= 18)
    20             {
    21                 Console.WriteLine("允许查看!");
    22             }
    23             else if (age < 10)
    24             {
    25                 Console.WriteLine("不允许查看!");
    26             }
    27             else if (age >= 10 && age < 18)
    28             {
    29                 Console.WriteLine("提示用户是继续查看(yes或no)?");
    30                 yesNo = Console.ReadLine();
    31                 if (yesNo == "yes" || yesNo == "Yes" || yesNo == "YES")
    32                 {
    33                     Console.WriteLine("请查看!");
    34                 }
    35                 else if (yesNo == "no" || yesNo == "No" || yesNo == "NO")
    36                 {
    37                     Console.WriteLine("程序即将退出!");
    38                 }
    39                 else
    40                 {
    41                     Console.WriteLine("yes或no输入错误!");
    42                 }
    43             }
    44         }
    45     }
    46 }
    3

    输出结果:
    请输入你的年龄:
    15
    提示用户是继续查看(yes或no)?
    yes
    请查看!
    请按任意键继续. . .

  • 相关阅读:
    PHP面向对象之接口 (interface)
    防止继承和覆盖(PHP类)
    对PHP中类、继承、抽象的理解(个人总结)
    AngularJS directive 分页,待续...
    facade(外观)模式
    command (命令)模式
    javascript设计模式 富有表现力的javascript
    AngulatJS $directive compile
    directive talks to controller
    testing
  • 原文地址:https://www.cnblogs.com/2016Study/p/5456597.html
Copyright © 2011-2022 走看看