A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 徐鹏辰 中级黑马   /  2015-7-22 14:36  /  171 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. class ArrayTest4
  2. {
  3. public static void main(String[] args)
  4. {
  5.    int[] arr = {2,4,5,7,8,19,32,45};//8

  6.    int index = getIndex_2(arr,190);
  7.    System.out.println("index="+index);}
  8. public static int getIndex_2(int[] arr,int key)
  9. {
  10.    int min = 0,max = arr.length-1,mid;

  11.    while(min<=max)
  12.    {
  13.     mid = (max+min)>>1;

  14.     if(key>arr[mid])
  15.      min = mid + 1;
  16.     else if(key<arr[mid])
  17.      max = mid - 1;
  18.     else
  19.      return mid;
  20.    }
  21.    return min;
  22. }
复制代码


在之前学习中,知道变量有自己的作用域。
而这段代码中最终的min变量,为何不是初始化时的0呢?
它们又有何不同,希望各位大神可以帮帮忙!


0 个回复

您需要登录后才可以回帖 登录 | 加入黑马