概述
-----------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行直接返回mid
if(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;
else
return mid;
}
return -1;
}
-----------android培训、java培训、java学习型技术博客、期待与您交流!------------
最后
以上就是沉静过客为你收集整理的黑马程序员——java基础知识篇——>数组的全部内容,希望文章能够帮你解决黑马程序员——java基础知识篇——>数组所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复