• 续昨日 学习案例 希望通过实际的案例帮助初学者


    案例7:

    class Program
    {
    static void Main(string[] args)
    {
    Account account1 = new Account(50.00m);
    Account account2 = new Account(-7.00m);
    Console.WriteLine("{0:C}",account1.Balance);//50
    Console.WriteLine("{0:C}", account2.Balance);
    }
    }

    class Account
    {
    //变量使用前_,属性使用大写开头
    private decimal _balance; //私有变量
    public Account(decimal i)//构造函数
    {
    Balance = i;//这里是易错的,如果你把Balance写成小写的话,那么下面的if就没用了。。。
    }

    public void Credit(decimal amount)//无返回值方法
    {
    _balance += amount;
    }

    public decimal Balance//属性
    {
    get { return _balance; }
    set
    {
    if (value >= 0)
    {
    this._balance = value;
    }
    }
    }
    }


    案例8:

     

    class Program
    {
    static void Main(string[] args) //Main函数
    {
    Grade one = new Grade("Mr.w");//新建对象,让变量One引用到对象
    one.ClassAverge();//调用方法
    }
    }

    class Grade
    {
    public Grade(string name)//构造函数
    {
    Console.WriteLine("welcome for {0}",name);
    }

    public void ClassAverge()
    {
    int total=0;//总共
    int count=0;//计数
    double averge=0;//平均数
    int number;//分数

    for (int i = 0; i <= 10; i++)
    {
    total = 0;
    Console.WriteLine("please enter number:");
    number = Convert.ToInt32(Console.ReadLine());
    total += number;
    count=i+1;

    }

    averge = total / count;

    Console.WriteLine("Total is {0}",total);
    Console.WriteLine("Count is {0}",count);
    Console.WriteLine("Average is{0}", averge);


    }
    }


    案例9:
    注:为什么写这个案例是因为以前是计算i%2=0 来判断,现在直接是自增2.

    static void Main(string[] args)  //Main函数
    {
    //求2-20的偶数之和
    int total = 0;
    for (int i = 2; i <= 20; i += 2)
    {
    total += i;
    Console.WriteLine(i+"\t"+total);
    }
    Console.WriteLine(total);
    }


    案例11:

    class Program
    {
    static void Main(string[] args) //Main函数
    {
    FindMax max = new FindMax();//利用对象调用方法
    max.Maxi();
    Console.WriteLine(FindMax.Maxnum(10,50,60));//直接使用静态函数

    }
    }

    class FindMax //寻找最大数的类
    {
    public void Maxi() //一个无返回值的方法,这个方法调用了一个内部方法
    {
    double num1;
    double num2;
    double num3;
    Console.WriteLine("please enter 1:");
    num1 = Convert.ToDouble(Console.ReadLine());
    Console.WriteLine("please enter 2:");
    num2 = Convert.ToDouble(Console.ReadLine());
    Console.WriteLine("please enter 3:");
    num3 = Convert.ToDouble(Console.ReadLine());

    // double result = Maxnum(num1, num2, num3);
    // Console.WriteLine("Max Number is {0}",result); 2种写法


    Console.WriteLine("this is having class:"+FindMax.Maxnum(num1,num2,num3));//这种是在类里直接调用
    Console.WriteLine("this is no class:" + Maxnum(num1, num2, num3));//看到没没必要使用类名+ .,因为是在同一个类里
    }
    public static double Maxnum(double a, double b, double c)//设置用静态函数
    {
    double maxnum = a;
    if (b >= maxnum)
    {
    maxnum = b;
    }
    if (c >= maxnum)
    {
    maxnum = c;
    }

    return maxnum;
    }
    }


    案例12:
    Math类的方法:
    Math.Abs(x) x的绝对值
    Math.Ceiling(x)  不小于X的最小整数
    Math.Cos(x)  x的余弦
    Math.Exp(x)  指数函数
    Math.Floor(x)  不大于x的最大整数
    Math.Max(x,y)  输出最大值  //无法产用3个函数
    Math.Min(x,y)  输出最小值
    Math.PI 常量 π


    注:对于void无返回值的方法,要想输出信息,必须在方法内部自己console!

    案例13:

    class Program
    {
    static void Main(string[] args)
    {
    RefandOut.ROMethod();// 当方法作为static 的时候,引用类的方法不需要使用对象
    }
    }
    class RefandOut
    {
    public static void ROMethod()//这里如果没有括号就是属性,类里 公共方法 如果是 static 那么 这个公共方法 调用的所有方法 都必须是 staic
    {
    int y = 5;
    int z;

    Console.WriteLine("The first time,Y is {0}", y);
    Console.WriteLine("The first time,Z is {0}", "\"Z is unintitialized\"");
    //其实ref out可以形成重载函数
    SquareRef(ref y);
    SquareOut(out z);
    Console.WriteLine(y);//25
    Console.WriteLine(z);//36

    Square(y);
    Square(z);
    Console.WriteLine(y);//25 没有ref,out不改变原值
    Console.WriteLine(z);//36

    }
    static void SquareRef(ref int x )
    {
    x=x*x;
    }

    static void SquareOut(out int x)
    {
    x = 6;
    x = x * x;
    }
    static void Square(int x)//虽然这里是平方计算,但是 这个是void,无返回值,也无法改变原值
    {
    x = x * x;
    }
    }



  • 相关阅读:
    欧拉函数线性筛法
    欧拉筛素数
    05:登月计划
    09:LGTB 学分块
    2017.7.15清北夏令营精英班Day1解题报告
    T7316 yyy的最大公约数(者)
    T7314 yyy的巧克力(钟)
    T7315 yyy矩阵折叠(长)
    DataReader,DataTable利用泛型填充实体类
    数据库入库的方式实现
  • 原文地址:https://www.cnblogs.com/IAmBetter/p/2286329.html
Copyright © 2020-2023  润新知