一维数组的定义:
int [] a;
double [] b;
string [] c ;
一维数组的动态初始化:
不给定初始值,各元素为默认值:数值类型为0,布尔类型为false,字符串类型为null。
int [] a = new int[10];
-------------------------------------------------------------------------------------------
int n = 5 ;
int []myarr = new int [n];//数组myarr长度为n
给定初始值,给出长度数值则长度必须相等
int [] b = new int[10] {1,2,3,4,5,6,,7,8,9,10};
-------------------------------------------------------------------------------------------
int [] b = new int []{1,2,3,4,5,6,7,8,9,10}
不允许数组长度为变量。
一维数组的静态初始化
静态初始化必须与数组定义结合。
int [] c = { 1,2,3,4,5};
不用new。
访问一维数组中的元素:两种方法
int [] d = {1,2,3,4,5};
for (int i = 0 ;i < 5 ;i ++)
Console.Write("{0}",d[i]);
Console.WriteLine ();
foreach语句
foreach的两种语句:
foreach(类型 迭代变量 in 数组或集合)//显式迭代变量格式
语句;
-------------------------------------------------------------------------------------------
foreach (var迭代变量 in 数组或集合)//隐式迭代变量
语句;
定义一个e的数组,并用foreach语句循环访问该数组
int []e = {1,2,3,4,5,6};
foreach (int i in e )
System.Console.Write("{0}",i);
Console.writeLine();//输出为1,2,3,4,5,6
一维数组的越界
越界即下标超出
设计控制台应用程序,采用二分法在有序的数组a中查找用户输入的值,并提示相应的查找结果。
double[] a = new double[10] { 0,1.2,2.5,3.1,4.6,5.0,6.7,7.6,8.2,9.8};
double k;
int low = 0;
int high = 9;
int mid;
Console.Write("k");
k = double.Parse(Console.ReadLine());
while (low <= high)
{
mid = (low + high) / 2;
if (a[mid] == k)
{
Console.WriteLine("a[{0}] = {1}", mid, k);
return;//返回
}
else if (a[mid] > k)
high = mid - 1;
else
low = mid + 1;
}
Console.WriteLine("未找到{0}",k);