博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Java自学笔记系列:数组】
阅读量:6715 次
发布时间:2019-06-25

本文共 1531 字,大约阅读时间需要 5 分钟。

在Java纯面向对象的语言世界中,万事万物皆是对象。数组也不例外,而数组这个数据结构类型在编程的世界也是一个宠儿,因为它可以批量化处理具有共性的数据。接下来就对数组的整体做一个梳理。

  一,基础

  1.1 数组的声明,数组对象与初始化(以一维数组为例)

  声明:

  datatype[] arrays;//Java程序员习惯这样写

  //或者

  datatype arrays[];C/C++则采用这种方式声明数组

  创建数组对象:

  int[] arrays;

  arrays = new int[length];

  //或者也可以一步完成数组的声明与对象创建:

  int[] arrays = new int[length];

  初始化,可以分为三种形式。

  默认初始化:

  int[] arrays = new int[10];//默认初始化,为10个0

  静态初始化:即是直接赋具体数值给数组。

  int[] arrays = {1,3,4,5,6,7,10}//静态初始化

  动态初始化:最常用的一种形式。

  for(int i=0;i<arrays.length;i++){ //动态初始化,最常用

  arrays[i] = i*i+8; //有关i的表达式或者其他表达式

  }

  数组的概念,C/C++/Java定义都是一致的,数组内存储的数据类型必须是一致的,且索引都是从 0~length-1 .而PHP,javascript语言的数组定义就相对来说比较宽泛,除了索引数组外(且没有硬性规定数组的数据类型,所以可以存储各种类型的数据),还有关联数组。

  在访问索引数组的时候,任何语言都会有一个报出数组越界的错误。但在Java中会报出ArrayIndexOutOfBoundsException错误(异常是我们都不想看到的,所以基本功的扎实与否是写出一手好代码的前提)。

  二,N维数组

  N在理论上讲可以从1到无穷,只是我们认识的维度最高还不超过4维,所以多维数组的声明,对象创建与使用从理论上讲和一维是一致的。如下:

  一维: int[] arrays = new int[length];

  二维: int[][] arrays = new int[m][n]; //m,n为非零正整数,且不一定相等;且n可以不写任何数字,即使不一定要求二维数组是矩阵。

  三维: int[][][] arrays = new int[l][m][n];

  三,数组对象概念分析

  一维数组的对象参考,如下代码所示:

  int[] arrays1= new int[5];

  int[] arrays2 = arrays1; //指向同一个数组

  for(int arr:arrays1){

  System.out.printf("%2d",arr);

  }

  System.out.println();

  //数组填充

  Arrays.fill(arrays1,60);

  //填充后输出

  for(int arr:arrays1){

  System.out.printf("%3d",arr);

  }

  System.out.println();

  arrays2[0] = 80;

  //改变索引为0的数值后输出

  for(int arr:arrays1){

  System.out.printf("%3d",arr);

  }更多精彩教程请关注:

转载于:https://www.cnblogs.com/qq12345678/p/3236317.html

你可能感兴趣的文章
mysql学习笔记 第六天
查看>>
MVC4 + EF为Model添加单独的验证属性
查看>>
Oracle用游标删除重复数据
查看>>
数组指针
查看>>
OpenStreetMap初探(一)——了解OpenStreetMap
查看>>
安卓表格布局android:collapseColumns,android:shrinkColumns和stretchColumn
查看>>
js中substr与substring的差别
查看>>
A06_RelativeLayout的属性设置
查看>>
Quartz中时间表达式的设置-----corn表达式
查看>>
javac: cannot execute binary file
查看>>
使用instantclient_11_2 和PL/SQL Developer工具包连接oracle 11g远程数据库
查看>>
使用Ajax的Time实现倒计时功能
查看>>
WinFrom界面框架之WeifenLuo.WinFormsUI.Docking + OutLookBar
查看>>
Solr字段配置错误
查看>>
Android ActionBar详解(二):ActionBar实现Tabs标签以及下拉导航
查看>>
使用windbg查看DependencyObject的属性
查看>>
Rotate List
查看>>
IE首页被篡改(手动修复)
查看>>
html5开发之viewport使用
查看>>
Oralce 处理字符串函数
查看>>