java基础第5天

来源:互联网 发布:手机python3.0编程软件 编辑:程序博客网 时间:2024/04/28 11:19


1:数组的操作:
(1)查找
A:无序数组
public static int getIndex(int[] arr,int value)
{
for(int i=0; i<arr.length; i++)
{
if(arr[i]==value)
{
return i;
}
}
//当循环结束,说明元素在数组中不存在
return -1;
}



B:有序数组 二分查找
前提条件:保证数组是有序排列
  折半查找需要完成的事情:
    指定一个数组,指定一个关键字,查找这个关键字是否在是这个数组中
    找到了指定关键字,将返回关键字所在数组的下标
    找不到,就返回小于0的数
public static int getIndex(int[] arr,int value)
{
int min = 0;
int max = arr.length - 1;
int mid = (min+max)/2;


while(arr[mid]!=value)
{
if(arr[mid]>value)
{
max = mid - 1;
}
else if(arr[mid]<value)
{
min = mid + 1;
}


//如果没有怎么办?min max 
if(min>max)
{
return -1;
}


mid = (min+max)/2;
}
return mid;
}

2. 查表算法
    给定一个十进制的数据,通过计算,得出十六进制


    问题: 解决如何获取二进制最低四位  &15
           四位计算,如何保存计算后的数据
 
3. 数组的反转
   最远的数据换位置
4:二维数组
(1)int[][] arr = new int[3][2];
A:定义了名称为arr的二维数组
B:二维数组中有3个一维数组
C:每一个一维数组中有2个元素
D:一维数组的名称分别为arr[0], arr[1], arr[2]
arr:二维数组名
arr[1]:二维数组中的第二个数组名
arr[1][1]:二维数组中的第二个数组的第二个元素
E:给第一个一维数组1脚标位赋值为78写法是:arr[0][1] = 78;
(2)格式2:int[][] arr = new int[3][];
A: 二维数组中有3个一维数组
B: 每个一维数组都是默认初始化值null
C: 可以对这个三个一维数组分别进行初始化
 arr[0] = new int[3];
 arr[1] = new int[1];
 arr[2] = new int[2];
(3)int[][] arr = {{3,8,2},{2,7},{9,0,1,6}};
A:二维数组有3个一维数组。
B:第一个一维数组有3个元素
  第一个一维数组有2个元素
  第一个一维数组有4个元素
(4)二维数组的遍历
public static void printArray2(int[][] arr2)
{
for(int i=0; i<arr2.length; i++)
{
for(int j=0; j<arr2[i].length; j++)
{
System.out.print(arr2[i][j]+" ");
}
System.out.println();
}
}
(5)二维数组的应用
求一年的销售总额。





原创粉丝点击