Java,C语言,C++,JavaScript,MatLab的数组表示法

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]); 
	 } 

复制代码以上代码是可以将数组中每个元素全部遍历出来,但是如果数组元素非常多,我把这种方式叫做傻瓜式遍历,这种傻瓜式写法肯定不行,因此我们需要改 造成循环的写法。数组的索引是 0length-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格式)。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值