黑马程序员——java基础知识篇——>数组
来源:互联网 发布:linux get_sb 编辑:程序博客网 时间:2024/06/11 11:02
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
一、数组
数组就是同一种类型数据的集合
格式:元素类型[] 数组名=new 元素类型[]{元素,元素,....};
:元素类型[] 数组名=new 元素类型[元素个数或数组长度];
特例:int[] arr=new int[3];
System.out.println(arr[3]);(错误是ArrayIndexOutOfBoundsException;)
数据操作是访问到了不存在的角标
: int[]arr = null;
System.out.println(arr[0]);(错误是NullPointerException)空指针异常
数组在内存中状态
二、二维数组
格式1: int[][] arr= new int[4][3];
表示定义了名称为arr的二维数组。有4个一维数组,每一个一维数组中有3个元素。
格式2:int[][] arr = {{3,8,2},{2,7},{9,0,1,6}};
表示直接定义时就有了初始化值
示例:int[][] arr = new int[3][];
arr[0] = new int[3];
arr[1] = new int[1];
arr[2] = new int[2];
以上代码在内存中的状态:
数组的应用示例:
累加二维数组中的数:
public static void main(String[] args) {int[][] arr = { { 1, 4, 5 }, { 54, 7, 8 }, { 3, 5, 78, 7 } };int sum = 0;for (int x = 0; x < arr.length; x++) {for (int y = 0; y < arr[x].length; y++) {sum += arr[x][y];}}System.out.println("sum=" + sum);}数组的查找:
public static void main(String[] args) {int[] arr={2,4,5,6,7};int index=half_1(arr,4);//int index=getIndex(arr,6);System.out.println("index="+index);}public static int getIndex(int[] arr,int key){for(int x=0;x<arr.length;x++){if(arr[x]==key){return x;}}return -1;//习惯没有找到的话用-1表示}/*折半查找:数组必须是有序的想找的数大就向右移*/public static int half(int[] arr,int key){int min,max,mid;min=0;max=arr.length-1;mid=(min+max)/2;while(arr[mid]!=key){//满足条件才会循环,不满足就是找到了就执行39行直接返回midif(arr[mid]<key)min=mid+1;else if(arr[mid]>key)max=mid-1;if(min>max)return -1;mid=(min+max)/2;}return mid;}//第二种方法public static int half_1(int[]arr,int key){int min=0,max=arr.length-1,mid;while(arr[min]<=arr[max]){//如果不满足小于等于就执行53行返回-1,值不存在mid=(min+max)>>1;if(arr[mid]>key)max=mid-1;else if(arr[mid]<key)min=mid+1;elsereturn mid;}return -1;}-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
0 0
- 黑马程序员——java基础知识篇——>数组
- 黑马程序员—Java基础知识
- 黑马程序员——Java基础知识——数组
- 黑马程序员——基础知识--数组
- 黑马程序员—Java数组
- 黑马程序员——Java基础知识
- 黑马程序员——Java基础知识补充
- 黑马程序员——java基础知识
- 黑马程序员——Java基础知识
- 黑马程序员——Java基础知识
- 黑马程序员——Java基础知识
- 黑马程序员——java基础知识
- 黑马程序员——java基础知识
- 黑马程序员——java-基础知识
- 黑马程序员——java入门基础知识
- 黑马程序员—JAVA基础知识之函数
- 黑马程序员—Java基础知识汇总
- 黑马程序员——java基础知识篇——>线程
- 用正则表达式匹配IPV4地址
- JavaWeb——CSS_总结
- 逻辑斯蒂回归与梯度下降算法
- Android四大组件-ContentProvider
- JS中setTimeout()的用法详解
- 黑马程序员——java基础知识篇——>数组
- 机器学习_logistic回归笔记
- 2014年腾讯,百度,微软,阿里巴巴(北京站)校园招聘笔试题(涉及C,C++,JAVA,数据结构)
- 真正的聪明人都在下笨功夫
- Android-自定义日历控件
- 奇异值矩阵分解(Singular Value Decomposition)的一些感想
- 贝塞尔曲线
- 构造数独
- JavaWeb——JavaScript_总结