数组
来源:互联网 发布:苹果电脑c语言编程软件 编辑:程序博客网 时间:2024/06/06 03:25
数组概念: 存储统一数据类型的多个对象,也可以看成一个容器
数组的理解:
对于基本类型是在连续的内存单元中存储多个类型相同的基本类型
对于引用数据类型,在连续的内存单元中存储多个对象的引用。
对于多维数组是存储了维数减一的数组的引用。知道二维数组是存储了多个一维数组的引用。
数组的优势:
Java中遍历和修改的最快的数据容器
数组的常见问题:
数组的越界问题
数组的空指针问题
数组的定义:
className[] objectName;
className objextName[];
数组的初始化:
new className[num];
{data1, data2,……};不能作为参数传递给方法。
可以存储基本类型,也可以存储引用数据类型
数组作用:
存储多个对象而且保证类型统一。数组的理解:
对于基本类型是在连续的内存单元中存储多个类型相同的基本类型
对于引用数据类型,在连续的内存单元中存储多个对象的引用。
对于多维数组是存储了维数减一的数组的引用。知道二维数组是存储了多个一维数组的引用。
数组的优势:
Java中遍历和修改的最快的数据容器
数组的常见问题:
数组的越界问题
数组的空指针问题
数组的定义:
className[] objectName;
className objextName[];
数组的初始化:
new className[num];
{data1, data2,……};不能作为参数传递给方法。
new className[]{data1, data2, ……};
Java数组便利的常用方法有三种:
a.使用arrayName[index]获取数组元素. 小心越过数组长度.
class CommonIterator {public static void main(String[] args) {int[] arr = { 1, 3, 65, 45, 23, 345 };System.out.print(arr[0] + "\t");System.out.print(arr[1] + "\t");System.out.print(arr[2] + "\t");System.out.print(arr[3] + "\t");System.out.print(arr[4] + "\t");System.out.print(arr[5] + "\t");}}
输出结果为:
1 3 65 45 23 345
b.通过for循环遍历数组. 数组的唯一属性是数组元素的个数.通过.length获得 for循环且利用.length可以避免数组越界异常
class ForIterator {public static void main(String[] args) {int[] arr = { 1, 3, 65, 45, 23, 345 };for (int i = 0; i < arr.length; i++) {System.out.print(arr[i] + "\t");}}}
输出结果:
1 3 65 45 23 345
c.使用foreach遍历 不过这个遍历只能获取元素.不能修改和删除
class ForeachIterator {public static void main(String[] args) {int[] arr = { 1, 3, 65, 45, 23, 345 };for (int i : arr) {System.out.print(i + "\t");}}}
输出结果:
1 3 65 45 23 345
获取数组中最大值:
class GetMax{/** * 获取数组元素的最值,只演示最大值,最小值的获得只需要更改Boolean操作符就可以了 */public static void main(String[] args) {int[] arr = { 1, 3, 65, 45, 23, 345 };//假定第一个元素时最大值,不断与后面元素比较,不断更改为最大值int max = arr[0];//与最大值元素对应的序号int index = 0;for (int i = 1; i < arr.length; i++) {if(arr[i] > max){max = arr[i];index = i;}}//输出最大值和它对应的序号.System.out.println("数组中最大值是:" + max + ".该元素的序号是:" + index);}}输出结果:
数组中最大值是:345.该元素的序号是:5
反转数字顺序
class Reversal{/** * 只需要再定义一个相同长度和类型的数组.新数组第一个元素存储原来最后一个元素,以此类推. */public static void main(String[] args) {int[] arr = { 1, 3, 65, 45, 23, 345 };System.out.println("数组原的顺序:");for(int i : arr){System.out.print(i + "\t");}//输出结果后下一个输出从下一行开始System.out.println();//定义新相同长度和类型的数组int[] newArray = new int[arr.length];//对数组元素进行反转for (int i = 0; i < arr.length; i++) {newArray[arr.length - i -1] = arr[i];}//输出逆序后数组System.out.println("数组逆序后的顺序是:");for(int i : arr){System.out.print(i + "\t");}}}输出结果:
数组原的顺序:
1 3 65 45 23 345
数组逆序后的顺序是:
1 3 65 45 23 345
二维数组的求和
class TwoDimension{/* * 二维数组的求和 */public static void main(String[] args) {int[][] arr = {{1, 2, 3}, {2, 3, 5}, {5, 3, 6}};//初始化多个元素的和int sum = 0;//使用嵌套遍历遍历二维数组元素并且求和for (int i = 0; i < arr.length; i++) {//arr[i].length表示第i个一维元素,通过for再对其遍历for (int j = 0; j < arr[i].length; j++) {//二维数组的某个元素的访问是arr[i][j]sum += arr[i][j];}}//输出二维数组的和System.out.println("二维数组的和:" + sum);}}输出结果是:
二维数组的和:30
0 0
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- 数组
- Context的使用(Using Context)
- 命令与文件的查询 which whereis locate find
- 学习笔记之eclipse中处理js文件报错
- cisco命令行手册
- <仅是自己做笔记。。。系列-13>输入两个整数 n 和 m,从数列1,2,3.......n 中 随意取几个数, 使其和等于 m ,要求将其中所有的可能组合列出来.
- 数组
- 关于们MySQL 插入空值" '' " 与null
- Java基础知识 二(关键字、标识符、注释、数据类型、数据类型的转换)
- android 总结学习 简单的UI控件
- 浅析:横竖屏切换时候Activity的生命周期
- 这些 iOS 面试基础题目,你都深入了解吗?
- Android四大组件之Activity
- SQL 脚本语言知识回顾
- Android ——网络请求框架OkHttp使用