浅谈数组


前言

简单总结老师上课讲的有关数组的内容

一、为什么需要数组?

数组:类型相同的一组数据

eg:
保存一个人的成绩 int score=100;
若保存一个班所有人的成绩,这时就需要用到数组;

二、数组的定义

1.只声明,未初始化

int[] a;
int a[];

2.数组的初始化

(1)初始化的时候指定数组的长度,内容由系统确定

内容根据数据类型来确定:
整数byte short int long 默认是0
浮点数float double 默认是0.0
字符char 默认是空白字符
布尔boolean 默认是false
引用类型 默认是null

int[] a=new int[5];

(2)初始化的时候指定数组中的内容,长度由系统确定

长度根据内容的个数来确定:

int[] a=new int[]{11,22,33,44,55,66};
//可简化写法
int []a={11,22,33,44,55,66};

3.数组的使用

数组的长度:
数组中最多存放的数据的个数

//获得数组的长度
int len=a.length;

操作数组中的数据:
数组中每一个存储位置都有一个编号
这个编号是从0开始的连续的整数
我们将这个编号叫做数组的索引,或者下标
通过下标可以操作数组中的每一个存储位置
a[0] 表示数组的第一个存储位置
a[1] 表示数组的第二个存储位置
a[2] 表示数组的第三个存储位置

最大的下标=数组的长度-1

4.数组的特点

数组的每一个存储位置在内存中是连续的地址
通过索引可以快速的定位到每一个存储位置
数组非常方便用来做数据的查询

5.解决问题

1.给定 一个数组,int[] a = {1,3,5,7,9};将其倒序成一个新的数组.

int[] b=new int[a.length];
for(int i=0;i<a.length;i++){
	b[b.length-1-i]=a[i];
	}

2.给定两个数组int[] a = {1,3,5,7,9}; int[] b = {2,4,6,8};
将其合并成一个新的数组.

int[] c = new int[a.length+b.length];
   for(int i=0;i<a.length;i++){
   c[i] = a[i];
  }
   for(int i=0;i<b.length;i++){
   c[a.length+i] = b[i];
  }

3.给定一个数组 int[] a = {1,0,2,5,0,4,3,0,0,6,0,7,8,0,9};
去掉其中为0的元素,将不为0的元素组成一个新的数组.

//先统计不为0的个数
int count=0;
 for(int i=0;i<a.length;i++){
  if(a[i]!=0) 
  	count++;
 }
 
 int[] b = new int[count];
 int j=0;
 for(int i=0;i<a.length;i++){
  if(a[i]!=0) {
   b[j++] = a[i];
  }
 }

4.定义一个数组,来存储斐波拉契数列的前20项
1,1,2,3,5,8,13,21,34…

int[] d=new int[20];
d[0]=1;
d[1]=1;
for(int i=2;i<d.length;i++) {
  d[i]=d[i-1]+d[i-2];
  }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值