初识数组和字符串

xiaoxiao2021-02-28  5

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace 初识数组 { class Program { static void Main(string[] args) { //数组的英文是Array //数组的声明和实例化 int[] numArr1; //对数组声明 numArr1 = new int[10]; //对数组的实例化 //下面的数组是在声明数组并实例化后并重新对数组的默认值(元素)进行修改了 int[] numArr2 = new int[5] { 120, 252, 3555, 4, 5 }; //遍历数组的每一个元素 for (int i = 0; i < numArr2.Length; i++) { Console.WriteLine(numArr2[i]); } int[] numarr3 = { 4, 5, 6, 7, 8, 9 }; //数组 ;一个具有相同数据类型 有序的集合 //数组特点: //第一个 具有相同的数据类型 //第二个 有序 // //数组arr 的类型是 int[] //在内存中开辟5个int类型的数据空间 //arr类似一个仓库 仓库是用来存放int类型的数据的 //对下面的数组来说 默认值全是0 int[] arr = new int[5]; //声明数组并实例化 //变量number 的类型是 int int number = 10; //访问数组的元素 //要访问数据的元素 要通过下标来访问 //在声明数组的时候 系统会默认的给数组里面的元素进行编号 //编号的规则是必须从0开始 编号最大值是:数组的长度-1 //这个编号 有几个名字 可以成为 索引或者下标 //每一个元素都有一个名字 数组名[索引] Console.WriteLine(arr[0]); Console.WriteLine(arr[4]); //未经处理的异常: System.IndexOutOfRangeException: 索引超出了数组界限。 //Console.WriteLine(arr[5]); //对数组的修改 arr[3] = 100; Console.WriteLine(arr[3]); arr[4] = arr[3]; Console.WriteLine(arr[4]); Console.WriteLine("------------------"); //我们可以通过 数组名.Length 得带数组的长度 //Console.WriteLine(arr.Length); for (int i = 0; i < arr.Length; i++) { Console.WriteLine(arr[i]); } Console.WriteLine("-------------统计整型数组的和-----------------"); int[] scoreArr = { 45,922026, 101, 45464465, 1315 }; int totalScore = 0; for (int i = 0; i < scoreArr.Length; i++) { totalScore += scoreArr[i]; } Console.WriteLine(totalScore); Console.WriteLine("对数组反转"); //{ 45,922026, 101, 45464465, 1315 }; //{ 1315,45464465, 101, 922026, 45 }; for (int i = 0; i < scoreArr.Length/2; i++) { int temp = scoreArr[i]; // 我们应该把scoreArr.Length - 1 看成一个整体 因为scoreArr.Length - 1表示数组的最后一个元素的索引 scoreArr[i] = scoreArr[scoreArr.Length - 1-i]; scoreArr[scoreArr.Length - 1 - i] = temp; } Console.WriteLine("-------------遍历反转后的数组-----------"); for (int i = 0; i < scoreArr.Length; i++) { Console.Write(scoreArr[i] +" "); } Console.WriteLine(); // 0 1 2 3 4 5 6 // 2 9 4 3 7 6 5 Console.WriteLine("-------------初识字符串---------------"); //字符和字符串的关系是: 羊肉和羊肉串的关系 字符串就是一个只读的字符数组 string str = "abcdefg"; Console.WriteLine(str[3]); //下面的赋值是错误的 因为字符串是只读的 //str[3] = 'C'; for (int i = 0; i < str.Length; i++) { Console.WriteLine(str[i]); } //这是一个字符串数组 string[] nameArr = { "林志帆","梁义鹏","王冬","石亚东"}; //这是一个字符串 string ret = "abc"; //这是一个字符 char ch = 'H'; //这是一个字符数组 char[] chArr = { 'B', 'V', 'X' }; Console.WriteLine("*************验证数组是引用类型*********"); //数组是一种引用类型 //值类型 int num1 = 10; //num1给num2 赋值的过程就是一个复制的过程 int num2 = num1; //num1 在给num2赋值的时候是不会影响num1的值的 Console.WriteLine(num1); //10 Console.WriteLine(num2); //10 Console.WriteLine("------------值类型修改后------"); num1 = 100; Console.WriteLine(num1); //100 Console.WriteLine(num2); //10 // 引用类型 int[] testArr = { 23, 56, 89, 68, 99 }; int[] testArr2 = testArr; Console.WriteLine("testArr2 中的元素"); for (int i = 0; i < testArr2.Length; i++) { Console.Write(testArr2[i] +" "); } Console.WriteLine(); testArr[2] = 1; Console.WriteLine("testArr2中修改过后的元素"); for (int i = 0; i < testArr2.Length; i++) { Console.Write(testArr2[i] + " "); } Console.WriteLine(); Console.WriteLine("****************数组的常用方法***************"); int[] numberArr= { 9, 2, 3, 4, 100, 1, 0, 5, 63 }; //假设第一个元素是最大值 //int maxValue = numberArr[0]; //for (int i = 1; i < numberArr.Length; i++) //{ // if Arr(maxValue<numberArr[i]) // { // maxValue = numberArr[i]; // } //} //Console.WriteLine("最大值是{0}",maxValue); Console.WriteLine("系统找到的最大值是:{0}",numberArr.Max()); Console.WriteLine("****************排序*****************"); Array.Sort(numberArr); for (int i = 0; i < numberArr.Length; i++) { Console.Write(numberArr[i] +" "); } Console.WriteLine(); Console.WriteLine("平均值是:{0:.00}",numberArr.Average()); //二维数组 Console.WriteLine("***************二维数组****************"); int[,] numArr4 = new int[3, 4]; //得到数组有3行 Console.WriteLine(numArr4.GetLength(0)); //得到数组有4列 Console.WriteLine(numArr4.GetLength(1)); for (int i = 0; i < numArr4.GetLength(0); i++) { for (int j = 0; j < numArr4.GetLength(1); j++) { Console.Write(numArr4[i,j] +" "); } Console.WriteLine(); } } } }
转载请注明原文地址: https://www.6miu.com/read-1150096.html

最新回复(0)