JAVASE 学习笔记(数组)

递归:

数组 :

数组的声明:

首选 type[]  typeneme = new type[];

用new操作符创建数组:

数组的特点:

数组的三种初始化:

int 类型默认为0 ;string 类型默认为null;

java内存分析

********多维数组 int[][] arrays={{1,2},{2,3},{3,4},{4,5}}; 

相当于一个长为4的一维数组里面的每个元素都是一个二维数组;

故,当     System.out.println(arrays[0]);时

打印的结果为:

1

2

System.out.println(arrays.length);

System.out.println(arrats[0].length);

打印的结果为:

4

2

总结:Java实际没有多维数组,只有一维数组,多维数组被解读为"数组的数组",例如二维数组arrays是包含{arrays[0],arrays[1],arrays[2]}三个元素的一维数组,arrays[0]是包含{1,2}两个个元素的一维数组,同理arrays[1],arrays[2]也一样。

Arrays类中的主要几个:

 

冒泡排序:

稀疏数组(代码存放:arrays-demo05):

例题:将该棋盘的黑白棋子用稀疏数组表示

 先用数组array1表输出棋盘情况

结果:

然后将数组array1转为稀疏数组array2:

 结果:

 

根据稀疏数组还原出原数组:

 

结果:

数组的三种打印方式:

一维数组:

定义一个数组   int[] array = {1,2,3,4,5};

如果直接打印System.out.println(array);这样是不行的,这样打印是的是数组的首地址。

(1)传统的for循环方式

(2)for each循环 

(3)利用Array类中的toString方法

调用Array.toString(a),返回一个包含数组元素的字符串,这些元素被放置在括号内,并用逗号分开

 输出:[1, 2, 3, 4, 5]

二维数组:

Java实际没有多维数组,只有一维数组,多维数组被解读为"数组的数组",例如二维数组magicSquare是包含{magicSquare[0],magicSquare[1],magicSquare[2]}三个元素的一维数组,magicSqure[0]是包含{16,3,2,13}四个元素的一维数组,同理magicSquare[1],magicSquare[2]也一样

(1)传统的for循环方式

(2)for each循环

多维数组用for each循环打印数组比较方便

例:下面代码可以打印出二维数组array1

for(int[] ints:array1){
        for(int anInt:ints){
            System.out.print(anInt+"   ");
        }
        System.out.println("");
    }

 (3)利用Array类中的toString方法

因为Arrays.TOString()的API只支持一维数组,不支持二维数组,

如果对二维数组调用同样的API,如:

显示的是每个test[i]的首地址

因此应该使用如下的方法:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值