所谓一维数组,是由数字组成的以单纯的排序结构排列的结构单一的数组,是计算机程序中最基本的数组。一维数组中每个元素都只带有一个下标。一维数组可以通过叠加构成二维或多维数组- 声明一个数组变量,并指明该数组可以存储的数据类型。
在创建数组时,首先需要声明一个数组变量及其类型。语法格式为:上述两种声明方式在作用上是一致的,但在实际应用中通常采用第一种,因为它更符合数组变量的原理,也就是在数组名字前指定允许保存的数据类型。方括号“]”代表数组类型。例如,声明一个int型的一维数组时,可以使用第一种声明方式。声明一个int型的一维数组时,也可以使用第二种声明方式。声明数组变量和定义数组类型后,要创建一个数组对象,并赋值给所声明的数组变量。创建数组对象就是给声明的数组分配内存空间。由于数组是引用对象,所以可以使用new关键字来创建。用new关键字来创建数组时必须给数组定义大小。例如:int{]array =new int[10] ; //创建一个整型数组对象,数组大小为10Sting[]teacher_names=new String[20]: //创建一个字符串数组,数组大小为 20
创建数组时,程序会为数组中的变量分配指定大小的内存空间,但此时数组中并没有数据,因此数组中的所有元素都会被赋予一个初始值。此外,也可以把数组的元素值放在大括号里,这样就可以创建并初始化数组。此时,数组大小取决于大括号中元素的个数。例如:#创建一个整型数组对象,数组大小为8,并赋初值int[] array= {1,2, 3,4 5.6.7.8};//创建一个 String数组对象,数组大小为3,并赋初值String[]teacher_names={"王老师","李老师","张老师"};
创建数组并赋予其带有初值的数组对象后,就可以访问数组中的元素了。访问维数组中的某个元素时,要使用该数组的名字,后跟数组中该元素的下标。Stringl]teacher names =new String[l0];teacher_names[0]="老师"; //访问数组中的第1个元素
上述代码的意思是将字符串“王老师”赋值给数组teacher_names的第1个元素teacher names[0]。public class EelmentAccess1 { publicstaticvoidmain(String[]args) //定义一个整型数组nums,大小为2 int nums[]= new int[2]; //定义一个字符串类型数组names,大小为5 String names[]= new String[5]: //输出数组nums的第1个元素值 System.out.printIn(nums[0]); //输出数组nums的第2个元素值 System.out.println(nums[1]); //错误,访问超出了数组的范围 //System.out.println(nums[2]); //输出数组names的第1个元素值 System.out.println(names[0): //输出数组names的第2个元素值 System.out.println(names[1]); //输出数组names的第3个元素值 System out.println(names[2]): //输出数组names的第4个元素值 System.out.println(names[3); //输出数组names的第5个元素值 System.out.println(names[4]); //错误,访问超出了数组的范围 //System.out,println(names[5]); }}
在上述示例中,Java运行时环境会检查nums数组的每个下标的值,确保它在0~1之间;同理,names数组的每个下标的值要在0~4之间。如果超出了这个范围,Java编译器会报出“ArrayIndexOutOfBoundsException”的提示。如果将上述示例中注释前面的注释符号去掉,编译后就会看到错误提示。为了避免程序运行时出现难以排查的错误,可以把数组越界检查放在编译时进行。在创建数组时,也可以通过直接为其赋值来进行初始化。public class EelmentAccess2 { publicstaticvoidmain(String[] args) //定义一个整型数组 ageArray,大小为3,并赋值初始化 int ageArray[]={30,40.50}; //输出数组ageArray的第1个元素值 System.out.println(ageArray[0]); //输出数组ageAmay的第2个元素值 System.out.println(ageArray[1]); //输出数组 ageArray的第3个元素值 System.out.println(ageArray[2]); //定义一个字符串类型数组teacher names,大小为3,并赋值初始化String teacher names[]={"王老师","张老师","李老师"}; //输出数组 teacher_names的第1个元素值 System.out.printIn(teacher names[0]); //输出数组teacher names的第2个元素值 System.out.println(teacher names[1]); //输出数组teacher names的第3个元素值 System.out.println(teacher names[2]); }}
在上述示例中,创建数组对象的同时,直接初始化数组元素。程序运行结果为:前面说过,数组的大小一经确定后不能再改变。不过,数组内的元素值是可以改变的。因此创建一维数组对象以后,可以通过为数组中的元素赋值来改变对应的元素值。public class ElementModification { publicstaticvoidmain(String[] args) //定义一个整型数组,用来保存3个学生的语文分数 int chineseScore[]={60,70.80}; //定义一个整型数组,用来保存3个学生的英语分数 int englishScore[]= new int[3]; //定义一个整型数组,用来保存3个学生的总分数 int sum[]= new int[3]: //为3个学生的英语分数赋值 String[] student_names ={" 小明"," 小红","小花"}; //为第1个元素赋值 englishScore[0]=88 //为第2个元素赋值 englishScore[1]=77; //为第3个元素赋值 eglishScore[2]= 66; //计算第1个学生的总分数 sum[0]= chineseScore[0] + englishScore[0] //计算第2个学生的总分数 sum[1]=chineseScore[1]+englishScore[l]; //计算第3个学生的总分数 sum{2]=chineseScore[2]+ englishScore[2]; //输出3个学生的总分数 System.out.println(student names[0]+"的总分数为 :" + sum[0]); System.out.println(student names[l]+"的总分数为 :"+ sum[l]); System.out,println(student names[2]+"的总分数为 : "+ sum[2]); }}
在上述示例中,声明了4个数组,其中chineseScore和englishScore分别用来存储学生的语文和英语分数,student_names用来存储学生的名字,sum用来存储学生的总分数。接着,通过赋值的方式将数组englishScore的英语分数初始化。最后让程序访问chineseScore和englishScore数组中对应下标的元素,让其相加后赋值给sum数组中相应的元素,并输出3个学生的名字及其总分数。程序运行结果为:小明的总分数为:148小红的息分教为:147小花的总分数为:146
在实际应用中,需要处理的数据会远远多于示例中的数据,此时一般会使用环结构来进行处理。(从基础背景开始学起,坚持,是一件不容易的事情。)Lisa Notes |一个Lisa’s notes:生活、工作、学习中那些事儿,感悟自我成长,随心随笔杂谈。微信搜索「Lisa Notes」(ID:Lisa-notes),查看更多信息,原创小说,PPT干货分享。本文为自媒体、作者等在微信公众号上传并发布,仅代表作者观点,不代表微信公众号的观点或立场,微信公众号仅提供信息发布平台,最终解释权归本人所有。合作请联系13698281600@163.com。关注小SA1 你真是个特别的人快戳我!快戳我!快戳我!㊋㊋㊋