黑马程序员技术交流社区

标题: While内存结构 [打印本页]

作者: DemoBoy1125    时间: 2016-12-15 10:33
标题: While内存结构
public static int binarySearch(int[] arr, int key)
        {
                int min=0;
                int max = arr.length-1;
                while(min<=max)
                {
                        int mid = (min + max)/2;
                        if (arr[mid]<key)
                                min = mid +1;
                        else if(arr[mid ]>key)
                                max = mid -1;
                        else
                                return mid;
                }
                return -min-1;

        }

当min <= max 时候,每次都会int mid ,为什么不会报错,求分析一下while的内存运行结构
作者: 试着try    时间: 2016-12-15 23:14
我的理解是 每次while执行完一次循环后 其中循环体中的变量便会失效 因为在循环体外,再访问这个变量是访问不到的了。 所以循环体内变量每执行一遍都要重新定义。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2