Java学习日记(day6)

  • 数组

1. 定义

数组是指一组类型相同的数据的集合,数组中的每个数据被称为元素。每个数组可以存放任意类型的元素,但同一个数组里存放的元素类型必须一致。

2. 特点

  • 数组的元素类型一致

  • 数组一旦初始化,容量(长度)不能改变,可以通过数组的length属性获取数组的长度,且length属性只读

  • 数组的下标从0开始到length-1为止,如果超过范围则发生数组下标越界异常

  • 数组存在在堆中,是一块连续的区域

  • 数组名称指向数组的内存地址,可以通过数组名称[下标]的方式操作数组

3. 声明方法

  • 数据类型[] 数组名 =null;

  • 数据类型[] 数组名;

4. 初始化

  • 直接赋值,数组的容量由值的个数决定,值的类型必须与数组的类型一致。数组名称={值,……};

int[] nums={23,45,2,1,8};
 String[] names={"张三","admin"};
  • 动态赋值

    数组名=new 数据类型[数据长度];

    关键词new称为内存分配符,在堆中分配空间

String str=new String("abcd");//一定放在堆中
String temp="abcd";//放在栈中的常量池中
String rst="abcd";//放在栈中的常量池中
boolean f=str==temp;//结果为false
 boolean n=temp==rst;//true
 int[] nums=new int[10];
 String[] names=new String[5];
  • new时直接赋值

    数组名称=new 数据类型[] {值,……}

    注意:[]中不能指定长度,数组长度由后面的值的个数决定

int[] nums=new int[]{12,23,45};
 //以下错误,[]中不能有值
int[] ages=new int[4]{12,23,45,56};

5. 数组的分类

  • 一维数组:数列

数据类型[] 数组名称;

初始化

数组名称=new 数据类型[length];

  • 多维数组:

    数据类型 [] [] 数组名称;

    数据类型 数组名称[] [];

    数据类型[] 数组名称[];

    初始化

    数组名称=new 数据类型[row] [col];//规整数组

    数组名称=new 数据类型[row] [];//不规整数组

    数组名称={

    {值,……},{值,……}};

    二维数组的length属性返回的是二维数组的行数

    • 二维数组:表格

int[][] nums=new int[5][4];
 int r=nums.length;//5,表示数组的行数
int c=nums[0].length;//下标为0的列数

6. 数组的遍历

使用for循环,从0开始,直到length结束

  • 一维数组
//从左往右
for(int i=0;i<数组名.length;i++){
类型 变量=数组名[i];
 }
 //逆序(从右往左)
 for(int i=数组名.length-1;i>=0;i--){
类型 变量=数组名[i];
 }
  • 二维数组先行后列
//二维数组中数组名.length获取的行数
for(int i=0;i<数组名.length;i++){
 //先获取i对应的行数据
int[] temp=数组名[i];
 for(int j=0;j<temp.length;j++){
 //数据类型 变量=temp[j];
数据类型 变量=数组名[i][j];
 }
 }

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值