方法

//九九乘法表
//外层循环控制的是行数
for (int i = 1; i < 10; i++)
{
//内层循环控制的是内容
for (int j = 1; j <= i; j++)
{
Console.Write(“{0}x{1}={2}\t”, j, i, i * j);
}

            //换行
            Console.WriteLine();
        }

        Console.WriteLine("----------------------------------");

        //九九乘法表
        //外层循环控制的是行数
        string ret = string.Empty;
        for (int i = 1; i < 10; i++)
        {
            //内层循环控制的是内容
            for (int j = 1; j <= i; j++)
            {
                //字符串的格式化
                ret += string.Format("{0}x{1}={2}\t", j, i, i * j);
                //Console.Write("{0}x{1}={2}\t", j, i, i * j);
            }

            if (i!=9)
            {
                //换行
                ret += "\n";
            }

        }

        Console.WriteLine(ret);

    }
}

}
namespace 字母图形
{
class Program
{
/*
* A
* ABA
* ABCBA
* ABCDCBA
* ABCDEDCBA
* 4-(‘E’-‘D’) 可以得到D的值
* 4-(‘E’-‘C’) 可以得到C的值
*
* 上面的图形可以表示为
* 0
* 010
* 01210
* 0123210
* 012343210
* 数量 行号
* 0 1 0
* 01 2 1
* 012 3 2
* 0123 4 3
* 01234 5 4
*
*/
static void Main(string[] args)
{
int lines = 5;
//外层循环控制的是行数
for (int i = 0; i < lines; i++)
{
for (int j = 0; j < 2*i+1; j++)
{
//这是第一种方式
//if (j<=i)
//{
// Console.Write((char)(‘A’+j));
//}
//else //j>i
//{
// //’A’+i 得到的是对称轴的对应的字母
// //对称轴的对应的字母 -距离 得到对称轴右侧的字母的值
// //j-i可以得到对称轴右侧的字母到对称轴对应字母的距离
// Console.Write((char)((‘A’ + i)-(j-i)));
//}

                //第二种方式
                Console.Write(j<=i? (char)('A' + j): (char)(('A' + i) - (j - i)));

            }
            Console.WriteLine();
        }


    }
}

}
namespace 猜数字游戏
{
class Program
{
static void Main(string[] args)
{
Random random = new Random();

        //让游戏处于一个死循环状态  让用户多挑战几次
        while (true)
        {
            int randomNumber = random.Next(1, 101);
            //记录 猜了多少次了
            int count = 0;
            while (count < 5)
            {
                count++;
                Console.WriteLine("请输入数字(1-100)");
                int selectNumber = int.Parse(Console.ReadLine());
                if (randomNumber == selectNumber)
                {
                    Console.WriteLine("恭喜您,猜对了");

                    switch (count)
                    {
                        case 1:
                            Console.WriteLine("神一样的任务");
                            break;
                        case 2:
                        case 3:
                            Console.WriteLine("一般人");
                            break;
                        case 4:
                        case 5:
                            Console.WriteLine("险过,努力吧骚年!");
                            break;
                        default:
                            break;
                    }

                    break;
                }
                else if (randomNumber > selectNumber)
                {
                    Console.WriteLine("猜小了");
                }
                else
                {
                    Console.WriteLine("猜大了");
                }

                 if (count >= 5)
                {
                    Console.WriteLine("对不起,您挑战失败,正确的数字是:{0}.不服再战", randomNumber);
                }
            }

            Console.WriteLine("退出(Y/y),继续请按任意键...");
            string exit = Console.ReadLine();
            if (exit == "Y" || exit=="y")
            {
                Environment.Exit(0);
            }
        }

什么是方法(函数)

方法是一个可以实现具体功能的有名字的代码块。

函数的作用

作用就是对代码进行重用
有重复代码的地方我们就可以使用方法。

函数的三要素

返回值 方法名 参数
怎么理解参数么?
参数就是使用外接的数据的入口
返回值就是要把该函数计算的结果告诉外界的通道。可以理解为工作汇报
方法相当于厨房 参数中就是原材料 返回值就是一盘精美的菜。

函数的声明

[访问修饰符] [static]返回值 方法名(参数)
{
语句块;
return;
}
包含代码块的花括号后面也没有分号‘;’
命名规则:方法的开头要大写,参数开头要小写,参数名、变量名要有意义
对于静态的方法有两种调用的方式
如果在同一个类中,直接写名字调用就好了,
如果不在同一个类中 类名.方法名
return 可以立即退出方法。
在定义方法的时候,括号里面的参数是形参,在方法调用的时候,括号里面传入的参数是实参。形参就是规定实参的模板,形参规定了实参的类型和个数。
方法的功能要一定要单一。不必要的额代码不要写。不要出现提示用户输入的字眼。

函数的调用格式

1.无参无返回值的
void func(void) {
xxxxx;
return;//可以省略的
}
调用格式:
func();

2.有参数无返回值的
void func2(int n) {
xxx;
return;//可以省略
}
调用格式:
func2(2);

3.有参有返回值
int add(int a, int b) {
return a+b; // return 后面的类型 要和 add前面的返回值类型一致
}
调用格式:
int ret = add(2,3);

值传递和引用传递

1.值传递

2.引用传递
3.ref和out的区别

参数的传递

•必选参数

必选参数其实就是在方法声明定义形式参数的时候,只是声明了参数没有赋值。对于必选参数在方法调用的时候,传入实参的个数必须和形式参数的数量一致。

namespace 方法
{
class Program
{
//静态方法 用static 修饰的方法叫做静态方法
//方法又叫做 函数
//方法的是三要素:返回值类型 方法名 参数
//返回值类型包含:void 值类型 引用类型
//方法名:第一个见名知意 简明知义
//方法名的规范:大驼峰命名法
//C#是对大小写比较敏感的语言
//Main 方法是系统已经定义好了 一般不对Main方法做任何的修改
//Main方法的返回值类型只能是void 和int
//Main方法的参数可有但是必须是string[] 类型的
//方法的名字在同一个类中是不能重复的
static void Main(string[] args)
{
//简写
//PrintGraphic();
//完整的写法
//PrintGraphic();

        Task01();
        //调用  不调用没有用
        Task02();
        //在Main方法里面进行调用的时候传入的参数 是实际参数 简称实参
        //int numbers = 10;
        //PrintGraphic(numbers);
        GetSum(12,13);


        //int num1 = int.Parse(Console.ReadLine());
        //Console.WriteLine(num1);
        int ret = GetSum(12, 12, 12);
        Console.WriteLine(ret);

        int max = Max(12,56,2);
        Console.WriteLine(max);

    }

    //先对方法定义
    //然后在Main方法中调用
    //方法后面的括号是一个参数列表  里面的变量是形式参数  简称形参 类似一个傀儡
    static void PrintGraphic(int lines)
    {
        for (int i = 0; i < lines; i++)
        {
            for (int j = 0; j <=i; j++)
            {
                Console.Write("*");
            }
            Console.WriteLine();
        }
    }

    //第一题
    static void Task01()
    {
        int[] arr = { 3, 5, 2, 9, 1, 8, 7, 4, 6, 0 };
        //记录最大值
        int maxValue = arr[0];
        int maxValueIndex = 0;
        for (int i = 1; i < arr.Length; i++)
        {
            if (maxValue< arr[i])
            {
                maxValue = arr[i];
                maxValueIndex = i;
            }
        }
        Console.WriteLine("最大值是:{0},最大值的索引:{1}",maxValue,maxValueIndex);

    }

    static void Task02()
    {
        //字符
        char ch = 'A';
        //字符数组
        char[] chArr = { 'A','B','C', 'D', 'E', 'F' ,'G', 'H', 'I', 'J' };
        //字符串
        string str = "abc";
        //字符串数组
        string[] strArr = { "sdfgs", "sdfgsd", "sdfsd", "sdfgsd" };

        for (int i = 0; i < chArr.Length; i++)
        {
            Console.Write(chArr[i] +" ");
        }
        Console.WriteLine();
    }
    //写一个方法  计算两个数的和  并 打印两数之和

    //以下的两个方法构成了方法的重载

    //重载的条件有以下几个条件:
    // 方法名必须一致
    //参数列表不同 

    //参数列表的情况有以下几种情况
    //参数的数量不同
    //参数的类型不同
    //参数的顺序不同

    //在方法中  参数名称没有什么实际的作用   只是用来区别不同的参数而已
    //参数列中的类型决定了实际参数的类型
    static void GetSum(int num1,int num2)
    {
        int sum = num1 + num2;
        Console.WriteLine(sum);
    }


    static int GetSum(int num1,int num2,int num3)
    {
        int sum = num1 + num2 + num3;
        return sum;

    }

    //写一个方法传递3个整数 ,求三个数中的最大值 并返回

    static int Max(int num1, int num2, int num3)
    {
        return (num1 > num2 ? num1 : num2) > num3 ? (num1 > num2 ? num1 : num2) : num3;
    }

    //以下的方法构成重载  参数列表的顺序不同
    static void Test(string str,int count)
    {
        Console.WriteLine(str+"这是你第"+count+"次迟到了");
    }

    static void Test(int count,string str)
    {
        Console.WriteLine(str + "这是你第" + count + "次迟到了");
    }


}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值