java第五天

人就是这样,只能坚持那么几天,然后就是一阵萎靡。几天无所收获。只能靠清理过去的笔记来收获点什么吧!

不多说,给自己一句话,今日事不毕,明日事会更多。

1.java中数组定义有哪两种形式?

第一种是不知道数组的内容。

如:int[] arr = new int[4];

第二种是知道数组的内容。如:int[] arr = {1, 2, 3, 4};或int[] arr = new int[] {1, 2, 3, 4};

2.java 中数组常见的操作有哪些?

遍历一个数组的内容、对数组内容进行排序、查找一个数组中内容对应位置。


3.对数组的操作核心思想就是对数组角标的操作。


4.java中常见的排序算法?(面试常考)

选择排序和冒泡排序。

选择排序就是遍历数组,将第一最小的数或者最大数,保存在角标为0数据上。

依次如此来排序数组。

冒泡排序就是相邻的数据相互比较,把最大的数或者最小的数排在最后面。依次来排序数组。

5.选择排序和冒泡排序的代码实现。

选择排序:

for(int i = 0; i<arr.length - 1; i++)

 for(int j = i +1; j<arr.length; j++)

{

if(arr[i] > arr[j])

{

swap(arr, i, j);

}

}

冒泡排序:

for(int i = 0 ; i<arr.length - 1; i++)

for(int j = 0; j<arr.length - i - 1; j ++)

{

if(arr[j] > arr[j+1])

swap(arr, j , j+1);

}


6.java中如果进行二分查找,则需要数组是预先排好的。

Array.binarySearch(arr, 5); 如果存在则返回数在数组中的位置,否则返回负的插入点减1

对无序的数据进行查找则需要使用遍历的方法来操作数组了,因为数组的排序是杂乱的,

没有规律。


7.二分查找数据代码实现?

定义三个变量 min = arr[0], max  = arr[length - 1], mid;

while(min < =max)

{

mid = (min + max) / 2;

if(key > arr[mid])

min = mid + 1;

else(key < arr[mid])

Max = mid - 1;

else 

return mid;

}

return -1;


8.对数组进行反转,其实就是头尾元素的位置置换。


9.什么时候使用数组呢,什么是查表法?

当数据出现对应关系,而且对应关系的一方是有序的数字编号,并且作为角标使用,

这时就需要使用数组了。

可以将数据存储到数组中,根据运算的结果作为角标直接去数组中去找数据。

这就是查表法。


10.如何取一个数的最低四位?

通过位运算中的与运算&, 因为1 & 0 = 0, 1 & 1 = 1; 与运算具有记忆功能。

取最低四位时可以 & 15, 去中间四位时,这时可以将原数据向右移动四位,进行移位也可以将15 进行移位,向左移动四位。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值