JAVA数组 2018年9月7日

 

 

 

数组概述和定义格式说明

数组的作用:用来存储同种数据类型的多个值

数组的概念:数组是存储同一种数据类型多个元素的集合。也可以看成是一个容器

数组既可以存储基本数据类型,也可以存储引用数据类型

数组定义格式:数据类型 [ ] 数组名 = new 数据类型[数组的长度];

 

数组的初始化就是为数组开辟连续的内存空间并为每个数组元素赋值

 

动态初始化 只指定长度,由系统给出初始化值 int[ ] arr = new int[5];

静态初始化 给出初始化值

 

动态初始化的格式: 数据类型 [ ] 数组名 = new 数据类型[数组长度];

数组对象打印的格式[I@7852e922

[代表是数组,几个就代表几维

I代表是int类型

@是固定的

19bb25a代表的是数组的地址值

 

foreach循环打印数组

//foreach循环打印数组
public class HelloWorld {
    public static void main(String []args) {
		int[] arr = new int[5];
		for(int array : arr){
			System.out.println(array);
		}
			
    }
}

 

数组是通过下标、索引赋值和取值

 

基本数据类型的默认初始值 ,每一个基本数据类型都有默认的初始值

整数类型:byte,short,int,long默认初始化值都是0

浮点类型:float,double默认初始化值都是0.0

布尔类型:boolean默认初始化值false

 

1.栈:存储局部变量

2.堆:存储new出来的数组或对象

3.方法区:面向对象部分讲解

4.本地方法区 : 和系统相关

5.寄存器 :给CPU使用

 

数组操作的两个常见小问题越界空指针

如果声明数组为5个元素,则索引取值只能0~5,任何其它的索引取值都会出现java.lang.ArrayIndexOutOfBoundsException: 错误,这叫数组越界

 

如果数组赋值为空,则会出现空指针,因为数组已经不存在了java.lang.NullPointerException

 

数组左右调换

//数组左右调换
import java.util.Arrays;
public class HelloWorld {
    public static void main(String []args) {
		int[] a = {1,6,5,4,9};
		for(int i = 0 ; i < (a.length/2);i++){
			int b = a[i];
			a[i] = a[a.length -1 - i];
			a[a.length - 1 - i] = b;
		}
		for (int b : a){
			System.out.println(b);      //9 4 5 6 1
		} 
    }
}

二维数组的遍历

//二维数组遍历
import java.util.Arrays;
public class HelloWorld {
    public static void main(String []args) {
		int[][] a =new int[3][2];
		a[0][1] = 6;
		for(int i = 0; i < 3; i++){
			for(int j = 0;j < 2; j++){
				System.out.print(a[i][j]);
			}
			System.out.println();
		}
    }
}


二维数组声明方式的简便方法:int[ ][ ] arr = {{11,12},{21,22},{31,32,33}};

 

下面两种声明方式的区别

int[][] arr = new int[3][2]    声明一个存储3个数组的二维数组,一维数组只能2个值

int[][] arr = new int[3][]     声明一个存储3个数组的二维数组,一维数组只能存几个值不确定

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值