java基础—数组

一.数组的基本概念

  • 数组可以看成是多个相同类型数据组合,对这些数据的统一管理。
  • 数组变量属引用类型,数组也可以看成是对象,数组中的每个元素相当于该对象的成员变量。
  • 数组的元素可以是任何数据类型,包括基本类型和引用类型。
  • C和C++中的数组都可以分配在栈上面,而JAVA中的数组是只能分配在堆上面的,因为JAVA中的数组是引用类型。

二.一维数组

一维数组的声明方式有2种:

  • 格式一:数组元素类型  数组名[ ];  即type var[ ];
  • 格式二:数组元素类型[ ] 数组名; 即type[ ] var;
  • 格式二声明数组的方法与C#上声明一维数组的方法一样。

例如:int a1[ ];   int[ ] a2;

double b[ ];

person[ ] p1;  String s1[ ];

注意:JAVA语言中声明数组时不能指定其长度(数组中的元素个数)

如:int a[5]; 这样声明一维数组是非法的。

三.数组的模型

  • 一维数组:一维数组就是一行,一行小格。
  • 二维数组:二维数组就是一行加一列组成的一个平面分成的小格,有行有列。
  • 三维数组:三维数组就是一个立方体。
  • 人类对最多认识到三维空间。

四.数组对象的创建

  JAVA中使用关键字new创建数组对象。

  格式为:数组名 = new 数组元素的类型[数组元素的个数]

例如:

五.元素为引用数据类型的数组

  注意:元素为引用数据类型的数组中的每一个元素都需要实例化。

例如:

class Date{

int year; int moth; int day;

Date(int y; int m, int d){

  year=y ;

    month=m ;

    day=d ;

  }

}

六.数组的初始化

  • 1.动态初始化

    数组定义与为数组元素分配空间和赋值的操作分开进行

例如:

 1 public class Test{
 2     public static void main(String args[ ]){
 3     int a[ ];  //定义数组,即声明一个int类型的数组a[ ]
 4     a=new int[3];  //给数组元素分配内存空间。
 5     a[0]=3; a[1]=9; a[2]=8;  //给数组元素赋值。
 6     Date days[ ];
 7     days=new Date[3];
 8     days[0]=new Date(1, 4, 2004);
 9     days[1]=new Date(2, 4, 2004);
10     days[2]=new Date(3, 4, 2004);
11     }
12 }
13
14 class Date{
15     int year, month, day;
16     Date(int y, int m, int d){
17         year = y ;
18         month = m ;
19         day = d ;
20     }
21 }
22                 

  • 2.静态初始化

在定义数组的同时就为数组元素分配空间并赋值。

例如:

puclic class Test{
        public static void main(String args[ ]){
            int a[ ] = { 3, 9, 8};   //在定义数组的同时给数组分配空间并赋值。
            Date days[ ] = {
                new Date(1, 4, 2004),
                new Date(2 ,4 ,2004),
                new Date(3 ,4, 2004)
        };
    }
}
class Date{
    int year, month, day;
    Date(int y, int m, int d){
        year = y ;
        month = m ;
        day = d ;
    }
}

七.数组元素的默认初始化

  • 数组是引用类型,它的元素相当于类的成员变量,因此给数组分配内存空间后,每个元素也被按照成员变量的规则被隐式初始化。

 1 public class Test{
 2         public static void main(String args[ ]){
 3             int a[ ] = new int[5];
 4             Date[ ] days=new Date[3];
 5             System.out.println(a[3]);
 6             System.out.println(days[2]);
 7     }
 8 }
 9 class Date{
10     int year, month, day;
11     Date(int y, int m, int d){
12         year = y ;
13         month = m ;
14         day = d ;
15     }
16 }

  • 输出结果:

  System.out.println(a[3]);    打印出来的结果是:0。

  System.out.println(days[2]);  打印出来的结果是:null(空)

八.数组元素的引用

定义并用运算符new为之分配内存空间后,才可以引用数组中的每个元素,数组元素的引用方式为:arrayName[index], index为数组元素下标,可以是整型常量或整型表达式。如:a[3], b[i], c[6*i]

  数组元素下标从0开始;长度为n的数组的合法下标取值范围为 n—1

每个数组都有一个属性length指明它的长度,例如:a.length的值为数组a的长度(元素个数)

九.二维数组

  

  

十、理解JAVA中的各个维度的数组模型

  

时间: 2024-12-27 20:10:19

java基础—数组的相关文章

[java基础]数组1

[java基础]数组1 1 /** 2 文件路径:G:\JavaByHands\数组 3 文件名称:ArrayTest.java 4 编写时间:2016/6/13 5 编写说明:学习数组的使用方法~~ 6 知识来源:疯狂java讲义 7 */ 8 9 /* 10 数组是用来储存多个数据的一种数据结构~~ 11 一个数据被成为一个数组元素 12 可以通过数组元素的索引来访问数组元素 13 java要求所有的数组元素具有相同的数据类型 14 一旦数组初始化完成,数组在内存中所占的空间将被固定下来,长

Java基础——数组Array

一.数组基本概念 数组是相同类型数据的有序集合. 数组描述的是相同类型的若干个数据,按照一定的先后次序排列组合而成.其中,每一个数据称作一个数组元素,每个数组元素可以通过一个下标来访问它们. 数组有三个特点: 1. 其长度是确定的.数组一旦被创建,它的大小就是不可以改变的.不可越界,如果越界,则报:ArrayIndexOutOfBoundsException 2. 其元素必须是相同类型,不允许出现混合类型. 3. 数组中的元素可以是任何数据类型,包括基本类型和引用类型. 数组不属于八种基本数据类

Java基础——数组复习

数组是一个变量,存储相同数据类型的一组数据 声明一个变量就是在内存空间划出一块合适的空间 声明一个数组就是在内存空间划出一串连续的空间 数组长度固定不变,避免数组越界 数组是静态分配内存空间的,所有元素存放在一组连续的存储单元中,一旦分配,不可更改,不便于扩展, 数组便于查找和修改,不利于插入和删除. 使用数组 : ① 声明数组    ② 分配空间    ③ 赋值    ④ 处理数据 Java中数组定义要指定长度. 数据类型[] 数组名 = new 数据类型[数组长度]; 数据类型[][] 数组

Java基础——数组应用之StringBuilder类和StringBuffer类

一.StringBuffer类 StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存使用上要优于String类. 所以在实际使用时,如果经常需要对一个字符串进行修改,例如插入.删除等操作,使用StringBuffer要更加适合一些. 在StringBuffer类中存在很多和String类一样的方法,这些方法在功能上和String类中的功能是完全一样的

JAVA基础-数组的排序(选择排序和冒泡排序),总结精辟!!!

1.-------寄语 对于初学JAVA的同学来说,排序是在陌生不过的一个基础题了.但是由于自己刚刚步入学习JAVA的世界,很多东西不能很好的理解,导致自己虽然可以敲出代码或者大致能够想明白, 但是对于解决问题的思想并没有很好的深入.(其实一开始学习也没必要太刨根问底,等到自己有一定的基础了,有时间了再研究一下.抱着研究的态度感觉会更好一点.其实大部分目前的 开发者都是经过了一段时间的培训,在培训的过程中,课程速度特别快,有时候我们必须要“不拘小节”,掌握培训中的主流知识才是明智之举.如果你正在

黑马程序员——Java基础-数组

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 概念 数组就是同一种类型那个数据的集合,是一个容器,是引用类型,存储在堆中. 好处:可以自动给数组中的元素从0开始编号,方便操作这些元素 格式: 1. int[] arr=new int[5]; 创建一个长度为5 的,变量名为arr,类型为整型的数组. 2. int[] arr=new []{5,6,8,3,4} int[] arr={5,6,8,3,4} 数组中常见问题: 1.数组角标越界

一天一个Java基础——数组

一天一个变成了几天一个,最近接受的新东西太多.太快,有好多需要blog的但没有时间,这些基础知识应该是要深挖并好好研究的,不应该每次都草草了事,只看个皮毛. 数组: JVM将数组存储在一个称为堆(heap)的内存区域中,堆用于动态内存分配,在堆中内存块可以按随意的顺序分配和释放 1.int[] a; ——表示声明一个数组(也可写为 int a[];) 声明一个数组变量时并不在内存中给数组分配任何空间,只是创建一个对数组的引用的存储位置 如果变量不包含对数组的引用,那么这个变量的值为null 通过

java基础数组(带基础排序法)

数组是一种数据结构,用来储存同一类型值的集合 1.数组需要先声明数组类型(即储存的数据类型)如:int [] a;       其中int是数组类型[]代表一维数组a代表数组名. 2.创建数组a:    int [] a = new int[100];   表明创建一个储存100 个整型数的数组没有具体值时默认为0. 也可以直接创建有具体内容的数组: int [] a = {1, 2, 3, 4, 5, 6, 7, 8, 9} ; boolean数组的元素会初始化为false: 对象数组的元素则

JAVA基础--数组的应用04

一.数组的简单应用 1. 数组平均值 例子:求下列数字的平均值:1.0,2.4,3.5,4.3,5.1,6.8,7.2,8,9,10 1 package cn.haile.array; 2 3 /** 4 * 练习数组的应用 5 * 6 * @author 小白 7 */ 8 public class ArrayPractise { 9 10 /** 11 * @param args 12 */ 13 public static void main(String[] args) { 14 dou

黑马程序员-java基础-数组&进制转换

第一讲  数组初始化&操作 1.  数组定义 概念:数组是同一种类型数据的集合,其实数组就是一个容器.数组中的元素从0开始编号,这样方便了对这些元素进行操作(获取.修改改.排序等). 数组的定义格式有: Int[] arr = new int[10]; ——这里指定数组的长度,后续需要分别对每一个元素赋值: Int[] arr = new int[]{2,1,5,9}:——创建数组实体并初始化,不需要指定长度: Int[] arr = {2,1,5,9};——定义数组并初始化: 2.  数组操作