第七节 方法调用

方法调用
案例1:

static void Main(string[] args)
        {
           //方法调用

            ComputeAvg();

            Console.ReadKey();
       
        }

            //方法(函数)无返回值,无参数的方法

            static void ComputeAvg()
            {
            
                    Console.Write("请输入数学成绩:");
                    double mathScoure = double.Parse(Console.ReadLine());
                    Console.Write("请输入英语成绩:");
                    double englishScoure = double.Parse(Console.ReadLine());

                    double result = (mathScoure + englishScoure) / 2;

                    Console.WriteLine("平均分:{0}", result); 


        }

————————————————————————————————————————————————————————

案例2:两个数的乘积

static void Main(string[] args)
        {
            Console.Write("请输入a的值:");
            int a = int.Parse(Console.ReadLine());
            Console.Write("请输入b的值:");
            int b = int.Parse(Console.ReadLine());

            add(a, b);//带参数,无返回

 

            double d = mul(a,b);//带参数  有返回
            Console.WriteLine("两个数的积为:{0}", d);

            string str = say();
            Console.WriteLine(str);

            Console.ReadKey();
        }

        static void add(int num1, int num2)
        {
            //定义带参数的方法(涵数)

            Console.WriteLine("{0}+{1}={2}",num1,num2,(num1+num2));

        }
           //带参数,带返回值的方法
        static double mul(double num1,double num2)//double
        {
            double result = num1 * num2;
            return result;
        }

         static string say()//字符串
         {
             return "Hello";

 

        }

————————————————————————————————————————————————————

案例3:比较两个数的最大值

static void Main(string[] args)
        {
           
            Console.Write("请输入第一个数a:");
            double a = double.Parse(Console.ReadLine());
            Console.Write("请输入第二个数b:");
            double b = double.Parse(Console.ReadLine());

            double d=big(a,b);
            Console.WriteLine("输出两个数的最大值:{0}",d);
            double e = big2(a, b);
            Console.WriteLine("输出两个数的最大值:{0}", e);
            bool f = big3(a, b);
            Console.WriteLine("a>b是否为真:{0}", f);

            Console.ReadKey();
        }

        /// <summary>
        /// 获得两个数的最大值
        /// </summary>
        /// <param name="num1">第一个数字</param>
        /// <param name="num2">第二个数字</param>
        /// <returns></returns>
        static double big(double num1, double num2)
        {
            double result = num1 > num2 ? num1 : num2;
            return result;
           // return num1 > num2 ? num1 : num2;

        }
        static double big2(double num1, double num2)
        {
           

             return num1 > num2 ? num1 : num2;

        }


        static bool big3(double num1, double num2)
        {
            return num1 > num2;
        }

——————————————————————————————————————————————————————

案例4:本月实际用水  值传递

static void Main(string[] args)
        {
         
            
            Console.Write("请输入本月用水吨数:");
            double i = double.Parse(Console.ReadLine());  //值传递,只是将实参的值复制了一份给形参,他们之间没有任何关联
            double d=acc(i);
            Console.WriteLine("该月水费为:{0}",d);
            Console.ReadKey();
        }
        /*只要在方法(函数)遇到return关键字意味着该函数就终止了,
         * 将会忽略return之后的语句*/
            static double acc(double b)
            {
                if (b <= 3.5)
                {
                    return 3.5 * b;
                }

                return 3.5 * 2.8 + 4.2 * (b - 3.5);
            
            }
       

——————————————————————————————————————————————————————————

案例5:地址转换

static void Main(string[] args)
        {
            //传引用(传内存地址),对形参的更改,是会影响到实参的,因为形参和实参指向同一快内存地址
            int[] qqq ={ 1, 2, 3, 4, 5 };

            Console.WriteLine("引用前:");
            for (int i = 0; i < qqq.Length; i++)
            Console.Write(qqq[i] + " ");
            
            dou(qqq);
            Console.WriteLine();

            Console.WriteLine("引用后:");
            for (int i = 0; i < qqq.Length; i++)            
            Console.Write(qqq[i] + " ");
            
            
            Console.ReadKey();
        }
        static void dou(int[] arr)
        { 
            for(int i=0 ;i<arr.Length;i++)
            {
                arr[i] = arr[i] * 2;
            }
        
        }

 

posted @ 2012-06-20 10:23  ComBat  阅读(194)  评论(0编辑  收藏  举报