public static void bubbleSort(int[] a) {int temp;int i;//外层循环:n个元素排序,最多需要(n-1)次循环;for(i = 0;iboolean flag = true;//定义一个布尔类型变量,标记数组是否已经达到有序状态;//内层循环:每一次循环都从数列的前两个元素进行比较开始,比较到无序数组的最后;for(int j = 0;jif(a[j]>a[j+1]) {temp = a[j];a[j] = a[j+1];a[j+1] = temp;//如果该次循环发生交换,则数组还处于无序状态,需要继续比较;flag = false;}}if(flag=false ) {break;}}}求问大佬,为何此处写if(flag=false )和if(flag)得到同样结果呢,反而写if(flag=true)却结果错误呢?菜鸟想不通。。。