一、数组
1.引用类型
2.定义语法
数据类型[] 数组名=new 数据类型[6];
1)长度固定
2)数组每个元素的数据类型必须一样
3.初始化数组
int[] a=new int[6];
int[] a=new int[]{1,2,3,4,5,6};
int[] a={1,2,3,4,5,6}
4.遍历数组
例题:冒泡排序
int[] t = { 21, 20, 1, 2, 34 };
for (int i = 0; i < t.Length-1; i++)//每次排好一位,需要排length-1次
{
for (int j = 0; j < t.Length-1-i; j++)//两两对比,需要对比length-i-1次
{
if (t[j]>t[j+1])
{
int tmp = t[j];
t[j] = t[j+1];
t[j + 1] = tmp;
}
}
}
for (int i = 0; i < t.Length; i++)
{
Console.WriteLine(t[i]);
}
5.二维数组
int[,] a=new int[2,3]{{1,2,3},{4,5,6}}
6.交错数组
int[][] num = new int[3][] { new int[2] { 1, 2 }, new int[3] { 1, 2, 3 }, new int[6] { 1, 2, 3, 4, 5, 6 } };
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < num[i].Length; j++)
{
Console.Write("\t"+num[i][j]);
}
Console.WriteLine();
}
二、方法
1一.方法定义
2.方法调用
1)值和引用传递
值传递
定义方法:
public static int GetMax(int a, int b)
{
a++;
b++;
int max = a;
if (b > max)
{
max = b;
}
return max;
}
Main中:
Console.WriteLine("请您输入第一个数");
int num1 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("请您输入第二个数");
int num2 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("最大的数是{0}", GetMax(num1, num2));
Console.WriteLine("num1, num2分别是:{0}、{1}", num1, num2);
引用传递
定义方法:
public static int GetMax(ref int a, int b)
{
a++;
b++;
int max = a;
if (b > max)
{
max = b;
}
return max;
}
Main中:
Console.WriteLine("请您输入第一个数");
int num1 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("请您输入第二个数");
int num2 = Convert.ToInt16(Console.ReadLine());
Console.WriteLine("最大的数是{0}", GetMax(ref num1, num2));
Console.WriteLine("num1, num2分别是:{0}、{1}", num1, num2);
2)默认参数
3.ref out params:可变参数
1)out 定义方法:
public static int GetMainMinAvg(int[] a, out int max, out int min, out int avg)
{
int sum = 0;
max = a[1];
min = a[1];
avg = 0;
for (int i = 0; i < a.Length; i++)
{
if (a[i]<min)
{
min = a[i];
}
if (a[i]>max)
{
max = a[i];
}
sum += a[i];
}
avg = sum / a.Length;
return sum;
}
Main函数中:
int[] arr = { 1, 2, 3, 4, 5 };
int sum, max, min, avg;
sum = GetMainMinAvg(arr, out max, out min, out avg);
Console.WriteLine();
2)params:1)只能修饰数组;2)只能放在末尾;3)只能出现一次
定义方法:
public static int Sum( params int[] a)
{
int sum = 0;
for (int i = 0; i < a.Length; i++)
{
sum += a[i];
}
return sum;
}
Main函数中:
int sum = Sum(1, 2, 3, 4, 5, 6);
Console.WriteLine("Sum(1, 2, 3, 4, 5, 6)的值是{0}",sum);
三.方法的重载
1.方法名一样
2.参数类型或者个数有一个不一样
称为方法的重载
注:如果返回值类型不一样,方法名、参数类型、个数都一样,这种情况不是重载。