Java引用数据类型之数组
来源:互联网 发布:快速傅里叶变换 知乎 编辑:程序博客网 时间:2024/05/23 15:04
一.数组定义
- 同一种类型数据的集合。其实数组就是一个容器。
二.数组格式
- 格式一 :数据类型[] 数组名 = new 数据类型[数组长度];
- 格式二 :数据类型[] 数组名 = new 数据类型[]{数据1,数据2,数据3};
- 格式三 :数据类型[] 数组名 = {数据1,数据2,数据3};
public class GArray { public static void main(String []args){ //格式一: //1.定义数组 int[] scores = new int[5]; //2.填充数组 scores[0] = 10; scores[1] = 20; scores[2] = 30; scores[3] = 40; scores[4] = 50; //3.打印数组 for(int i = 0;i<scores.length;i++){ System.out.println("第"+i+"个数组元素为:" +scores[i]); } //格式二: int[] arr = new int[]{25,35,10,95,46,80}; for(int i = 0;i < arr.length; i++){ System.out.println("arr["+i+"]="+arr[i]); } //格式三 int[] arr3 = {25,10,23,65,85,12,97}; for(int i = 0;i < arr3.length; i++){ System.out.println(arr3[i]); } }}
三.数组操作常见问题
- ArrayIndexOutOfBoundsException 数组脚标越界异常
int[] arr = new int[2];
System.out.println(arr[3]);
访问到了数组中的不存在的脚标时发生。 - NullPointerException 空指针异常
int[] arr = null;
System.out.println(arr[0]);
arr引用没有指向实体,却在操作实体中的元素时。
四.数组常用操作
- 获取数组中的最值(最大值、最小值)
package world;public class GArray { public static void main(String []args){ //查找数组中的最大(小)值 int[] array = {25,45,450,128,2546,245,157,30,254,10}; int max = array[0];//假设第一个元素是最大值 int min = array[0];//假设第一个元素是最小值 for(int i = 0; i<array.length;i++){ max = max > array[i] ? max : array[i];//max大于array[i]?是 max=max 不是 max = array[i] min = min < array[i] ? min : array[i];//min小于array[i]?是 min=min 不是 min = array[i] } System.out.println("数组中的最大值是:"+max); System.out.println("数组中的最小值是:"+min); }}
- 在一个数组中找到一个值所对应的索引
package world;public class GArray { public static void main(String []args){ int[] array = {25,45,450,128,2546,245,157,30,254,10}; //查找一个数在数组中的索引位置 int num = 1; for(int i = 0;i < array.length;i++){ if(array[i] == num){ System.out.println("数字"+num+"在数组中的位置:"+i); break;//找到结果即跳出循环 } } /* * 改进: * 如果所查找的数字在数组中不存在,则不会打印,增加提示 */ boolean flag = false; for(int i = 0; i<array.length; i++){ if(array[i] == num){ System.out.println("数字"+num+"在数组中的位置:"+i); flag = true; break; } } if(!flag){ System.out.println("不存在"); } /* *将其改为方法 */ int num1 = 128; int index = getIndex(array, num1); if(index == -1){ System.out.println("数字"+num1+"在数组不存在:"); }else{ System.out.println("数字"+num1+"在数组中的位置:"+index); } } public static int getIndex(int[] array,int num){ int index = -1; for(int i = 0;i < array.length;i++){ if(array[i] == num){ index = i; } } return index; }}
五.二维数组
- 格式一:数据类型[][] 数组名 = new 数据类型[第一维长度][第二位长度];
- 格式二:数据类型[][] 数组名 = new 数据类型[第一维长度][];
- 格式三:数据类型[][] 数组名 ={ {值1,值2,值3} , {值4,值5} , {值6} };
package world;/** * 二维数组的练习 * @author lenovo * */public class GArrayDemo2 { public static void main(String[] args){ //格式一:数据类型[][] 数组名 = new 数据类型[第一维长度][第二位长度]; int[][] array = new int[3][2]; System.out.println("array = "+array); // [[I@67a9b034 System.out.println("array[0] = "+array[0]); // [I@356f5b17 System.out.println("array[1] = "+array[1]); // [I@21c55e69 System.out.println("array[2] = "+array[2]); // [I@24b950d1 array[0][0] = 10; array[0][1] = 20; array[1][0] = 30; array[1][1] = 40; array[2][0] = 50; array[2][1] = 60; //遍历二维数组 for(int row = 0 ;row < array.length; row++){ for(int col = 0;col < array[row].length;col++){ System.out.println("array["+row+"]["+col+"]="+array[row][col]); } } //格式二:数据类型[][] 数组名 = new 数据类型[第一维长度][]; int[][] arr = new int[4][]; arr[0] = new int[2]; arr[1] = new int[3]; arr[2] = new int[2]; arr[3] = new int[5]; arr[0][0] = 10; arr[0][1] = 20; arr[1][0] = 30; arr[1][1] = 40; arr[1][2] = 50; arr[2][0] = 60; arr[2][1] = 70; arr[3][0] = 80; arr[3][1] = 90; arr[3][2] = 100; arr[3][3] = 110; arr[3][4] = 120; for(int i = 0;i<arr.length ; i++){ for(int j= 0; j<arr[i].length;j++){ System.out.println("arr["+i+"]["+j+"]="+arr[i][j]); } } //格式三:数据类型[][] 数组名 ={ {值1,值2,值3} , {值4,值5} , {值6} }; int[][] ar = { {10,20,30},{40,50},{60} }; for(int i = 0;i<ar.length;i++){ for(int j = 0; j<ar[i].length;j++){ System.out.println("ar["+i+"]["+j+"]="+ar[i][j]); } } }}
0 0
- Java引用数据类型之数组
- java引用数据类型之数组
- Java 4.0 java 引用数据类型之数组
- java引用数据类型-数组
- java之数据类型与数组
- 引用数据类型---数组
- Java基础之引用数据类型scanner类
- Java基础之引用数据类型(类)
- Java数据类型之引用数据类型 String、Scanner、Math
- Java基础之--基本数据类型(四类八种)和引用数据类型
- Java学习——数据类型之引用数据类型
- Java基础之数据类型、修饰符、数组
- Java之数据类型、变量和数组
- Java基础之数据类型(三)数组
- 黑马程序员-引用数据类型-数组
- Java引用数据类型
- java引用数据类型
- Java的引用数据类型
- 解答:第12周“知原理”检验题目
- 第12周项目3图深度优先遍历算法实现
- PyCharm教程(一)Hello World
- 校验和算法
- 线性表17 – 数据结构和算法22
- Java引用数据类型之数组
- Oracle Mobile Application Framework开发指南——构建多平台企业移动应用——互动出版网
- 為什麼網站的根目錄最好有 favicon.ico 和 robots.txt 存在?
- Oracle 使用 DBLINK详解
- 日志实时分析统计平台二 ----- flume平台搭建配置
- 栈和队列1 – 数据结构和算法23
- java日期类封装
- Skynet 源码学习 -- 二级消息队列,Worker 工作线程池, Monitor 。
- 二叉树算法验证(4)哈夫曼树