ITPub博客

首页 > 应用开发 > Java > Java面向对象之数组

Java面向对象之数组

Java 作者:jianaf 时间:2019-05-20 17:29:31 0 删除 编辑

Java面相对象之数组

1.一维数组

1.数组的说明:相同类型数据的组合。

说明:①数组是引用数据类型,数组的元素可以是基本数据类型也可以是引用数据类型。


https://www.ryw168.com/news/capital/15005.html

2.一维数组的声明与初始化

      ①动态初始化 : 数组的声明和初始化分开进行

int[] numbers = new int[5];

    ②静态初始化:数组的声明和初始化同时进行

int[] numbers = new int[]{1,2,3,4};

int[] numbers = {1,2,3,4};

注意:数组无论是动态初始化还是静态初始化一旦数组创建完成长度不可变。

3.一维数组元素的引用:下角标(索引值)- 下角标是从0开始到数组的长度-1

int[] numbers = new int[2];

         numbers[0] = 1; //赋值

System.out.println(numbers[0]);//获取元素的值

4.数组的属性:length-表示数组的长度

 int[] numbers = new int[2];

int l = numbers.length;

5.一维数组的遍历

 int[] numbers = new int[2];

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

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

}

6.一维数组元素的默认初始化值:和基本数据类型和引用数据类型的默认值一样.



7.一维数组的内存结构




ps:Excel画的,水平一般,凑合看。。。。




2.二维数组

1.如何理解二维数组?二维数组中的元素是一维数组。(数组中的元素还是数组)



 

说明:二维数组的元素是引用数据类型

  

2.二维数组的声明与初始化

//动态初始化

String[][] persons = new String[2][3];

String[][] persons = new String[2][];

persons[0] = new String[2];

persons[1] = new String[5];

//静态初始化

String[][] persons = new String[][]{{"a","110"},{"b","120"}};


String[][] persons = {{"a","110"},{"b","120"}};


3.如何引用二维数组元素: 通过使用下角标获取数组中的某个位置上的元素

String[][] persons = {{"a","110"},{"b","120"}};

System.out.println(persons[0][0]);



4.二维数组的属性:length

String[][] persons = {{"a","110"},{"b","120"}};

persons.length; //二维数组的长度

persons[0].length; //二维数组中的第0个位置上元素的长度



5.遍历二维数组元素 : 

    String[][] persons = {{"a","110"},{"b","120"}};

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



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

System.out.println(persons[i][j]);

}

}



6.二维数组元素的默认初始化值 : 

    ①二维数组的元素的默认值是null

②二维数组的元素的元素的默认值和基本数据类型和引用数据类型一样。

7.二维数组的内存结构




3.Arrays工具类

因为在lang包下,不需要导包直接调用


                int[] numbers = {12,38,1,2,3,4,5,6};

int[] numbers2 = {12,38,1,2,3,4,5};

//判断两个数组是否相等(元素的值和个数

boolean equals = Arrays.equals(numbers, numbers2);

System.out.println(equals);

//toString():将数组中的元素输出

String str = Arrays.toString(numbers);

System.out.println(str);

//fill(int[] n,int val) : 将数组元素所的值改成val

Arrays.fill(numbers, 100);

str = Arrays.toString(numbers);

System.out.println(str);

//sort(int[] numbers)

Arrays.sort(numbers2);

System.out.println(Arrays.toString(numbers2));

//二分法查找:前提必须排序 .如果找不到返回-1

int index = Arrays.binarySearch(numbers2, 1);

System.out.println(index);

4.常见异常

                  int[] numbers = new int[2];

/*

* 

* ArrayIndexOutOfBoundsException

*/

//numbers[2] = 5; 下角标越界

//numbers[-1] = 10;

//int[][] n = new int[2][];

//n[2] = new int[10];

/*

* NullPointerException

*/

String[] str = {"aa","bb"};

// String string = str[0].toUpperCase();

// System.out.println(string);

str = new String[2];

//System.out.println(str[0].toString());

5.可变形参

  * 可变形参 :

 * 

 * 格式 :public void add(int ... numbers{}

 * 

 * 说明:

 *    1.同类型的可变形参和同类型的数组不够成重载(类型和个数一样)

 *    2.可变形参在形参列表中只能放在最后一个

 *      3.一个方法中只能有一个可变形参

 *      4.可变形参的个数可以是0个1个或多个

--------------------- 

作者:big大鸟 

来源:CSDN 

原文:https://blog.csdn.net/qq_36738482/article/details/79600932 

版权声明:本文为博主原创文章,转载请附上博文链接!


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31554703/viewspace-2644985/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2019-05-20

  • 博文量
    1
  • 访问量
    1013