zoukankan      html  css  js  c++  java
  • C#基础总复习02

    继续更新第二篇:

    1:一元运算符:++ --

      ++:不管是前加加还是后加加,变量的值最终都会自身加一。

    前加加和后加加的区别体现在参与运算的时候,如果是后加加,则首先拿原值参与运算,
    运算完成后再自身加一,而前加加则是首先自身加一,然后拿着加一后的值参与运算。

      --:不管是前减减还是后减减,变量的值最终都会自身减一。

    + - * / % 是二元运算符,在一个表达式当中,既有一元运算符,也有二元运算符,应该首先计算一元运算符,一元运算符的优先级要高于二元运算符。

    2:复合赋值运算符

      

    +=:eg;a=a+5;=>a+=5;
    -= :eg;a=a-5;=>a-=5;
    *=:同上
    /=
    %=

    3:关系运算符:用来描述两者之间的关系(简单不多说)

    >
    <
    >=
    <=
    ==
    !=

    由关系运算符连接的表达式叫做关系表达式,每一个表达式都能够求解出一个定值。

    4:bool类型:

    用bool类型来描述对或者错,bool类型只有两个值:true false。

    5:逻辑运算符:

    逻辑与 :&&

    //让用户输入老苏的语文和数学成绩,输出以下判断是否正确,正确输出True,错误输出False
    //1)老苏的语文和数学成绩都大于90分
    Console.WriteLine("请输入老苏的语文成绩");
    int chinese = Convert.ToInt32(Console.ReadLine());
    Console.WriteLine("请输入老苏的数学成绩");
    int math = Convert.ToInt32(Console.ReadLine());

    //bool b = chinese > 90 && math > 90;
    //Console.WriteLine(b);

    //2)语文和数学有一门是大于90分的

    bool b = chinese > 90 || math > 90;
    Console.WriteLine(b);
    Console.ReadKey();

    逻辑或 :||

    //润年的判定(符合下面两个条件之一):
    //年份能够被400整除.(2000)
    //年份能够被4整除但不能被100整除.(2008)
    //让用户输入一个年份,如果是润年,则输出true,如果不是,则输出false.

    Console.WriteLine("请输入一个年份");
    int year = Convert.ToInt32(Console.ReadLine());

    bool b = (year % 400 == 0) || (year % 4 == 0 && year % 100 != 0);
    Console.WriteLine(b);
    Console.ReadKey();

    逻辑非:!

    逻辑与和逻辑或运算符两边要求放置关系表达式或者bool类型的值,辑与的优先级要高于逻辑或。

    6:语法结构

    顺序结构:从上到下。

    分支结构:

    if结构、

    语法:

    if(判断条件):判断条件一般为bool类型的值或者关系表达式或者逻辑表达式
    {
    要执行的代码;
    }

    执行过程:
    程序执行到if处,首先判断if所带的判断条件是否成立,如果成立,也就是返回true,
    则进入大括号中执行代码。
    如果判断条件不成立,也就是返回false,则直接跳过大括号。

    语法特点:先判断,再执行,有可能一条代码都不会执行。

    //让用户输入年龄,如果输入的年龄大于23(含)岁,则给用户显示你到了结婚的年龄了.
    Console.WriteLine("请输入你的年龄");
    int age = Convert.ToInt32(Console.ReadLine());
    bool b = age >= 23;
    if (b)
    {
    Console.WriteLine("你可以结婚啦");
    }
    Console.ReadKey();

    if-else结构

    语法:
    if(判断条件)
    {
    要执行的代码;
    }
    else
    {
    要执行的代码;
    }

    执行过程:程序运行到if处,首先判断if所带的判断条件是否成立,如果成立的话,则执行
    if所带的大括号中的代码,执行完成后,则立即跳出if-else结构。
    如果判断条件不成立,则跳过if所带的大括号,执行else所带的大括中的代码,执行完成后,
    跳出if-else结构。
    所以,if-else结构最少都会执行一条代码。
    注意:else永远跟离它最近的那个if配对

    要求用户输入两个数a、b,如果a和b整除或者a加b大于100,则输出a的值,否则输出b的值
    //Console.WriteLine("请输入a的值");
    //int a = Convert.ToInt32(Console.ReadLine());
    //Console.WriteLine("请输入b的值");
    //int b = Convert.ToInt32(Console.ReadLine());

    //if ((a % b == 0) || (a + b) > 100)
    //{
    // Console.WriteLine(a);
    //}
    //else
    //{
    // Console.WriteLine(b);
    //}

    选择结构:

    if else-if结构、

    这个结果用于多条件的判断,表示在多个判断条件中选择一个来执行。

    语法:
    if(判断条件)
    {
    要执行的代码;
    }
    else if(判断条件)
    {
    要执行的代码;
    }
    else if(判断条件)
    {
    要执行的代码;
    }
    else if(判断条件)
    {
    要执行的代码;
    }
    else
    {
    要执行的代码;
    }
    执行过程:程序首先会判断第一个if所带的小括号中的判断条件是否成立。如果成立,
    则执行该if所带的大括号中的代码,执行完成后,跳出当前if else-if结构。
    如果第一个if所带的判断条件不成立,则继续向下判断,依次判断每个if中的条件是否成立。
    如果成立,则执行该if所带的大括号中的代码,执行完成后,跳出 if else-if结构。如果
    每个if所带的判断条件都不成立,则看当前 if else-if结构中是否存在else
    如果有else,则执行else中的代码,如果没有,则跳出当前结构,什么都不做。

    static void Main(string[] args)
    {
    //对学员的结业考试成绩评测(考虑用if好还是用if-else好) // 成绩>=90 :A //90>成绩>=80 :B //80>成绩>=70 :C //70>成绩>=60 :D // 成绩<60 :E
    int score = 0;
    bool b = true;
    string level = "";
    Console.WriteLine("请输入考试成绩");
    try
    {
    score = Convert.ToInt32(Console.ReadLine());
    if (score >= 90)
    {
    level = "A";
    }
    else if (score >= 80)
    {
    level = "B";
    }
    else if (score >= 70)
    {
    level = "C";
    }
    else if (score >= 60)
    {
    level = "D";
    }
    else
    {
    level = "E";
    }
    }
    catch
    {
    Console.WriteLine("输入有误,程序退出");
    b = false;
    }

    if (b)
    {
    Console.WriteLine(level);
    }
    Console.ReadKey();
    //Console.ReadKey();
    }

    (demo包含try-catch)

    switch-case结构。

    语法:
    switch(变量的值或者表达式)
    {
    case 值1:要执行的代码;
    break;
    case 值2:要执行的代码;
    break;
    case 值3:要执行的代码;
    break;
    case 值4:要执行的代码;
    break;
    .....
    default:
    要执行的代码;
    break;
    }
    执行过程:程序首先计算switch小括号中的变量或者表达式的值。
    拿着计算出来的定值依次的跟每个case所带的值进行匹配。
    如果匹配成功,则执行该case所带的代码,执行完成后,遇到break,
    跳出当前switch-case结构。
    如果跟每个case所带的值都不匹配,则看当前switch-case中是否存在default。
    如果存在default,则执行default中的代码,如果没有default,则该结构什么都不做。

    如果判断的多条件,是一个区间性的判断。推荐使用if else-if.
    如果判断的是一个多条件的定值。推荐使用switch-case。

    //对学员的结业考试成绩评测 // 成绩>=90 :A //90>成绩>=80 :B //80>成绩>=70 :C //70>成绩>=60 :D // 成绩<60 :E

    console.writeline("请输入考试成绩");
    int score = convert.toint32(console.readline());
    string level = "";
    switch (score/10)
    { case 10: case 9:
    level = "a";
    break; case 8:
    level = "b";
    break; case 7:
    level = "c";
    break; case 6:
    level = "d";
    break;
    default:
    level = "e";
    break; }
    console.writeline(level);

    循环结构:所谓循环,指的是不停的同一件事情。就算是循环,也会结束的时候,如果一个循环,永远都不会结束,这种循环叫做死循环。

    while循环、

    while循环的语法:
    while(循环条件)//bool类型的值,关系表达式,逻辑表达式
    {
    循环体;//指的就是不停的在做的那件事儿
    }
    执行过程:程序执行到while处,首先判断while小括号中所带的循环条件是否成立。
    如果循环条件成立,也就是返回true,则执行while大括号中的循环体,当循环体
    执行完一遍后,我们回到循环条件继续判断,如果循环条件成立,则继续执行循环体,
    如果循环条件不成立,则立即跳出当前while循环。
    在一个循环中,总会有那么一行代码能够改变循环条件,使之终有一天不再成立,
    如果没有那么一行代码能够改变循环条件,那么这种循环我们叫做死循环。
    最常用的死循环:
    while(true)
    {

    }

    break关键字
    1)、跳出当前switch-case结构
    2)、可以跳出当前的循环
    break最常跟while(true)死循环配合使用

    //求1-100之间所有整数的和 求1-100之间所有奇数的和 求1-100之间所有偶数的和
    //循环体:不停的去相加
    //循环条件:还没有加到100
    //int sum = 0;//总和
    //int i = 1000;
    //while (i <= 100)
    //{
    // if (i % 2 == 0)
    // {
    // sum += i;//sum=sum+i;
    // }
    // i++;
    //}
    //Console.WriteLine(sum);
    //Console.ReadKey();

    do-while循环、

    语法:
    do
    {
    循环体;
    }while(循环条件);

    执行过程:
    程序首先执行do中的循环体,执行完成后,带着执行的结果去判断循环条件是否成立。
    如果成立,则继续执行do中的循环体,如果不成立,则跳出do-while循环。
    特点:先执行,再判断,最少都要执行一遍循环体。

    static void Main(string[] args)
    {
    //明天小兰就要登台演出了,老师说再把明天的演出的歌曲唱一遍,如果满意,小兰就可以回家了.否则就需要再练习一遍,直到老师满意为止.(y/n)

    //循环体:小兰唱一遍 问老师 你满意了么?老师回答
    //循环条件:老师不满意

    //Console.WriteLine("老师,我唱的这一遍,你满意么?");
    //string answer = Console.ReadLine();

    //while (answer == "no")
    //{
    // Console.WriteLine("老师,我再唱一遍,你满意么?");
    // answer = Console.ReadLine();
    //}
    //Console.WriteLine("满意了,你可以回家了");

    string answer = "";
    do
    {
    Console.WriteLine("我唱的这一遍,老师你满意么?");
    answer = Console.ReadLine();
    } while (answer == "no");


    Console.ReadKey();
    }

    for循环、

    作用:专门用来处理已知循环次数的循环。
    语法:
    for(表达式1;表达式2;表达式3)
    {
    循环体;
    }
    执行过程:
    首先执行表达式1,声明循环变量,然后执行表达式2,判断循环条件是否成立。
    第一次循环的时候,并没有执行表达式3,而是直接进入循环执行循环体。
    循环体执行完成后,执行表达式3,然后执行表达式2判断循环条件是否成立,
    如果成立,则继续执行循环体,如果不成立,则跳出当前for循环。

    //找出100-999间的水仙花数?
    //水仙花数:当前这个百位数字的百位的立方+十位的立方+个位的立方==当前这个百位数字

    //153 1 + 125 + 27=153
    //153
    //百位:153/100
    //十位:153%100/10
    //个位:153%10
    //3*3*3


    //GC Garbage Collection

    for (int i = 100; i <= 999; i++)
    {
    int bai = i / 100;
    int shi = i % 100 / 10;
    int ge = i % 10;
    if (bai * bai * bai + shi * shi * shi + ge * ge * ge == i)
    {
    Console.WriteLine(i);
    }
    }
    Console.ReadKey();

    foreach循环

    关于foreach循环可以看看这个简单的demo:梦断难寻 C# foreach 循环遍历数组

    7:try-catch 异常捕获

    语法:
    try
    {
    有可能会出现异常的代码;
    }
    catch
    {
    出现异常后要执行的代码;
    }
    执行过程:
    如果try中的代码出现了异常,则这行异常代码后面,哪怕有一百行代码,都不会再被执行了,
    而是直接跳到catch中,执行catch中的代码。
    反之,如果try中的代码没有出现异常,则不会执行catch的代码;

    (try-catch最后还有finally,意思是如果加上了finally的话,finally中的代码在最后都必须会执行)

    static void Main(string[] args)
    {
    int number = 0;
    bool b = true;
    Console.WriteLine("请输入一个数字,我们将打印这个数字的2倍");
    try
    {
    number = Convert.ToInt32(Console.ReadLine());//50a
    Console.WriteLine("啦啦啦啦啦");
    Console.WriteLine("啦啦啦啦啦");
    Console.WriteLine("啦啦啦啦啦");
    Console.WriteLine("啦啦啦啦啦");

    }
    catch
    {
    Console.WriteLine("输入的数字不正确,程序退出!!!!");
    b = false;
    }
    if (b)
    {
    Console.WriteLine(number * 2);
    }

    Console.ReadKey();
    }

    8:局部变量的作用域

    在Main函数当中,声明的所有变量都叫做局部变量。而局部变量的作用域是有范围的。
    所谓作用域指的就是能够使用这个变量的范围(比如所大括号可以看做是一个作用域)。

    (暂时这么点 所有的demo都是最基础的 希望能明白,可能排版有点问题,还望忍耐。如果哪儿有写的不对的地方还望指教。)

                                   2015-04-01

                                     36E

                    最后祝大家愚人节快乐!!

  • 相关阅读:
    浏览器事件大全!
    IE 的 Session 处理
    多个Cache的异同。
    flexSDK 添加 swc资源
    flashBuilder 严格类型检查
    自定义事件
    as3类的链接问题
    FLEX SDK嵌入资源
    从.NET中委托写法的演变谈开去(中):Lambda表达式及其优势
    PowerDesigner创建Oracle数据库序列实现自动增长
  • 原文地址:https://www.cnblogs.com/OldRion/p/4383685.html
Copyright © 2011-2022 走看看