Java内容梳理(4)数组

数组(复合数据类型的一种,本质上是数据的容器)

1、一维数组

(1)一维数组的声明

(1.1)int[ ] a; 

(1.2) int a[ ];

(2) 一维数组的初始化

           (2.1)int[ ] a ={1,2,3}; 

(2.2)int[ ] a = new int[3]; a[0] = 1;  a[1] = 2;  a[2] = 3;

(2.3)int[ ] a = new int[]{1,2,3};

注://当提供数组初始化器时,不能定义维度表达式,如下是错误的
                     int[] a = new int[3] {1,2,3};

(3)一维数组的遍历

(3.1)普通循环遍历数组:

 int length = a.length;

for(int i =0;i<length;i++){

        System.out.println(a[i]);

}

 (3.2)增强for循环遍历数组:

 for(int n:a){

          System.out.println(n);

}

2、二维数组(用的少)

二维数组的每一个元素是一个一维数组

(1)二维数组的定义

         int[][] arr = new int[3][5];---定义了一个整型的二维数组,其中包含3个一维数组,每个一维数组可以存储5个整数

(2)二维数组的初始化

   方式一:int a[][]={{1,2,3},{4,5,6}};

         方式二:int[][] ints = new int[4][2];ints[i][j] =__; //分别赋值

   方式三:第二维的长度可以动态申请    

        int[][] arr3 = new int[5][];//五行的长度

        for(int i=0; i<arr3.length; ++i){

           arr3[i]=new int[i+1]; //列的长度每次都变化。每次都要重新申请空间(长度)

           for(int j=0; j<arr3[i].length; ++j)

               arr3[i][j]= i+j;

        }

(3)二维数组的遍历

增强for循环遍历二维数组:

for(int[] n:a){

          for(int m :n){

                 System.out.println(m);

           }

}

3、对象数组如何创建

package entity;

public class Person {
	private String name;
	private int age;
	
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	
}
package run;

import entity.Person;

public class Run {
	public static void main(String[] args) {
		
		
		//定义对象数组,定义是不会给对象分配内存
		Person[] personArray = new Person[10];
		
		//此时的对象数组中存放的是10个引用,没有内容
		for(int i=0;i<personArray.length;i++) {
			System.out.println(personArray[i]);
		}
	
		//给数组中的第一个对象初始化
		personArray[0] = new Person();
		personArray[0].setName("1号对象");
		personArray[0].setAge(18);
		
		//再次打印对象数组中的对象
		for(int i=0;i<personArray.length;i++) {
			System.out.println(personArray[i]);
		}
		
	}
}

4、数组在定义(创建)时,初始化时的内存分配情况

待续

 

 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值