Java的数组表示
1.数组的三种定义
定义方式一
数据类型[] 数组名字 = new 数据类型 [长度] ;
举例: 定义可以存储3个整数的数组容器,代码如: int[] arr = new int[3]
定义方式二
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3...};
举例: 定义存储1,2,3,4,5整数的数组容器。 int[] arr = new int[]{1,2,3,4,5};
定义方式三
数据类型[] 数组名 = {元素1,元素2,元素3...};
举例: 定义存储1,2,3,4,5整数的数组容器 int[] arr = {1,2,3,4,5};
数组定义格式详解:
数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[]
: 表示数组。
数组名字:为定义的数组起个变量名,满足标识符规范,可以使用名字操作数组
new
:关键字,创建数组使用的关键字。
数组存储的数据类型: 创建的数组容器可以存储什么数据类型。
[长度]
:数组的长度,表示数组容器中可以存储多少个元素。
注意:数组有定长特性,长度一旦指定,不可更改。 和水杯道理相同,买了一个2升的水杯,总容量就是2升,不能多也不能少。
2、数组的访问
索引:从0
开始,索引 (index)可以访问到数组中的元素。
格式: 数组名[索引
]
数组长度属性: 数组长度是固定的,由于索引从0开始,所以数组的最大索引值为数组名.length-1
public static void main(String[] args) {
int[] arr = new int[]{1,2,3,4,5};
//打印数组的属性,输出结果是5
System.out.println(arr.length);
}
3.数组遍历【重点】
所谓数组遍历 就是将数组中的每个元素分别获取出来,就是遍历。遍历数组非常重要!!!
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
System.out.println(arr[0]);
System.out.println(arr[1]);
System.out.println(arr[2]);
System.out.println(arr[3]);
System.out.println(arr[4]);
}
复制代码以上代码是可以将数组中每个元素全部遍历出来,但是如果数组元素非常多,我把这种方式叫做傻瓜式遍历,这种傻瓜式写法肯定不行,因此我们需要改 造成循环的写法。数组的索引是 0
到 length-1
,可以作为循环的条件出现。如下
public static void main(String[] args) {
int[] arr = { 1, 2, 3, 4, 5 };
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i])
}
}
4.数组获取最大值元素
实现思路: 定义变量,保存数组0索引上的元素 遍历数组,获取出数组中的每个元素 将遍历到的元素和保存数组0索引上值的变量进行比较 如果数组元素的值大于了变量的值,变量记录住新的值 数组循环遍历结束,变量保存的就是数组中的最大值
代码如下:
public static void main(String[] args) {
int[] arr = { 5, 15, 2000, 10000, 100, 4000 };
//定义变量,保存数组中0索引的元素
int max = arr[0];
//遍历数组,取出每个元素
for (int i = 0; i < arr.length; i++) {
//遍历到的元素和变量max比较
//如果数组元素大于max
if (arr[i] > max) {
//max记录住大值
max = arr[i];
}
}
System.out.println("数组最大值是: " + max);
}
C语言的数组表示
数组:
1.定义数组:
#include <stdio.h>
int main()
{
//这个只表示有十个元素,并不代表有array[10],因为它的下标是从0开始的
int array[10];//定义了一个一维数组,名字叫array,一共有10个元素,每个元素都是int类型
//array[10]这样写语法不会出错,因为C语言不会帮你判断这个下标是否是合法的,但你写上去就会报相应的错误
}
2.数组在内存的储存方式
数组在内存中就是一段连续的空间,而且每个元素的类型都是一样的
3.数组的初始化:
int array[10] = {0,1,2,3,4,5,6,7,8,9};//定义数组的同时为数组的成员初始化值
e.g.
#include <stdio.h>
#pragma warning(disable:4996)
int main()
{
//int array[10] = {0,1,2,3,4,5,6,7,8,9};//定义数组的同时为数组的成员初始化值
//int array[10] = {3,7,9};//将数组的前三个数赋值,其余元素置为零
//int array[10] = {0};//将所有的数都赋值为0;
int array[10];
int i;
for(i=0;i<10;i++)
{
scanf("%d",&array[i]);
}
for(i=0;i<10;i++)
{
printf("array[%d]=%d\n",i,array[i]);
}
return 0;
}
求数组的最大值:
#include <stdio.h>
#pragma warning(disable:4996)
int main()//求数组中最大的值
{
int array[10]={32,45,643,12,56,2,78,22,69,10};
int max =0;
int i;
for(i=0;i<=9;i++)//想要找最大的值,一定要把数组先遍历一遍
{
if(max<array[i])
{
max = array[i];
}
}
printf("MAX=%d\n",max);
return 0;
}
C++ 数组
C++ 支持数组数据结构,它可以存储一个固定大小的相同类型元素的顺序集合。数组是用来存储一系列数据,但它往往被认为是一系列相同类型的变量。
数组的声明并不是声明一个个单独的变量,比如 number0、number1、…、number99,而是声明一个数组变量,比如 numbers,然后使用 numbers[0]、numbers[1]、…、numbers[99] 来代表一个个单独的变量。数组中的特定元素可以通过索引访问。
所有的数组都是由连续的内存位置组成。最低的地址对应第一个元素,最高的地址对应最后一个元素。
声明数组
在 C++ 中要声明一个数组,需要指定元素的类型和元素的数量,如下所示:
type arrayName [ arraySize ];
这叫做一维数组。arraySize 必须是一个大于零的整数常量,type 可以是任意有效的 C++ 数据类型。例如,要声明一个类型为 double 的包含 10 个元素的数组 balance,声明语句如下:
double balance[10];
现在 balance 是一个可用的数组,可以容纳 10 个类型为 double 的数字。
初始化数组
在 C++ 中,您可以逐个初始化数组,也可以使用一个初始化语句,如下所示:
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
大括号 { } 之间的值的数目不能大于我们在数组声明时在方括号 [ ] 中指定的元素数目。
如果您省略掉了数组的大小,数组的大小则为初始化时元素的个数。因此,如果:
double balance[] = {1000.0, 2.0, 3.4, 7.0, 50.0};
您将创建一个数组,它与前一个实例中所创建的数组是完全相同的。下面是一个为数组中某个元素赋值的实例:
balance[4] = 50.0;
上述的语句把数组中第五个元素的值赋为 50.0。所有的数组都是以 0 作为它们第一个元素的索引,也被称为基索引,数组的最后一个索引是数组的总大小减去 1。以下是上面所讨论的数组的的图形表示:
访问数组元素
数组元素可以通过数组名称加索引进行访问。元素的索引是放在方括号内,跟在数组名称的后边。例如:
double salary = balance[9];
上面的语句将把数组中第 10 个元素的值赋给 salary 变量。下面的实例使用了上述的三个概念,即,声明数组、数组赋值、访问数组:
实例
#include <iostream>
using namespace std;
#include <iomanip>
using std::setw;
int main ()
{
int n[ 10 ]; // n 是一个包含 10 个整数的数组
// 初始化数组元素
for ( int i = 0; i < 10; i++ )
{
n[ i ] = i + 100; // 设置元素 i 为 i + 100
}
cout << "Element" << setw( 13 ) << "Value" << endl;
// 输出数组中每个元素的值
for ( int j = 0; j < 10; j++ )
{
cout << setw( 7 )<< j << setw( 13 ) << n[ j ] << endl;
}
return 0;
}
上面的程序使用了 setw() 函数来格式化输出。当上面的代码被编译和执行时,它会产生下列结果:
Element Value
0 100
1 101
2 102
3 103
4 104
5 105
6 106
7 107
8 108
9 109
JavaScript数组
定义数组:
1.通过类实例化来创建数组
var alist01=new Array(1,2,3);
2.通过直接量的方式来创建数组
var alist02=[1,2,3];
数组操作
1.通过length来获取数组成员的个数
alert(alist02.length);
2.通过下标获取数组成员
alert(alist02[0]);
3.通过push,pop方法在数组后面增加,删除成员
alist02.push('z');
alert(alist02);
alist02.pop();
alert(alist02);
4.通过push,pop方法在数组前面增加,删除成员
alist02.unshift('z');
alert(alist02);
alist02.shift();
alert(alist02);
5.反转数组
alist02.reverse();
alert(alist02);
6.返回值在数组中第一次出现的位置
var alist03=
['a','b','c','d','a','b'];
alert(alist03.indexOf('b'));
7.在数组中增加或删除成员
alist03.splice(1,0,'z','x','y');
//从下标为1,即第二个元素开始,
删除0个元素,增加z,x,y三个元素
alert(alist03);
8.用.join将数组转变成字符串
var sTr=alist03.join("-");
alert(sTr);
或者 alert(alist03.join());
matlab 数组
1 一维数组的创建
a)递增/递减型一维数组的创建(函数的自变量/for循环中循环自变量)
i 冒号生成法 x=a:inc:b ps:inc可省略,默认为1.
ii 线性(对数)定点法 x=linspace(a,b,n) 或 x=logspace(a,b,n) ps:n为总采样点数,一维数组的长度。
b)其他类型一维数组的创建
i 逐个元素输入 x=[2.2,1.2,4, pi/2,-1] ps:创建方式中括号[ ],区别于方法圆括号()。
ii matlab函数生成法 rand(1,n),ones(1,n)等
2 二维数组的创建
i 小规模数组的直接输入(指令窗输入)
a) 整个输入数组收尾必须加方括号“[]”;
b)数组的行与行之间必须用分号“ ; ”或回车键[Enter]隔离;“ ; ”在方括号“[]”内时,它是数组行间的分隔符。“ ; ”在指令后的结束符时,将不在屏幕上显示该指令执行后的结果。
c)数组元素必须由逗号“,”或空格号分隔。
ii 中规模数组的数组编辑器创建 主页||变量||创建变量,输入数据。ps:如该变量后续还需要调用,可以将其保存为.mat文件。
iii 中规模数组的M文件创建 在文件编辑调试器中,空白填写框中输入所需数组,保存文件(.m格式)。