javaSE入门—-数组

1.2数组

  1 /*  2  I.定义一个数组的三种方式:  3  1.int [] a={直接赋值};  4  2. int [] a=new int[长度];  5    a[]=x;至少要赋几个值,不赋值的默认赋值0  6  3.int [] a=new int []{直接赋值}; //不能定义长度  7     8 II.给整形的变量赋值  9 1.使用十进制赋值 10 2.使用二进制赋值(给数值加上0b(0B)前缀) 11 3.使用八进制赋值(给数值加上0前缀) 12 4.使用十六进制赋值(给数值加上0x前缀)例如:int d = 0x101 13  14 III.数组的遍历: 15 方式一: 16 for(int i=0;i<a.length;i++){  //遍历时一般长度不减一 17 } 18  19 方式二:  20  21 for(元素类型 元素名: 数组名){ 22     //输出元素名 23 } 24 具体是这样的: 25 for(int element : arr){ 26             System.out.println(element); 27         } 28 第一次循环  取出第一个元素,将元素值给element赋值  29 第二次循环  取出第二个元素,将元素值给element赋值  30          31 IV.数组的的2大属性,和9大方法 32  33 VI.数组给数组赋值 34 1. 2个数组数组的下标存在对应关系 35 2. 2个数组下标不存在对应关系 36  37 VII.数组的排序 38  39 1.冒泡排序 40 2.选择排序 41 3.插入排序 42  43 VIII.数组的查找(二分法查找) 44 1.顺序查找(无序,有序都可) 45 2.折半查找(有序) 46 x.二维数组 47  48  */ 49  50 public class Shuzhu { 51  52     public static void main(String[] args) { 53         /* 54         //1.数组和数组赋值 55         //存在对应关系 56         int []a ={1,2,3,4,5,6,7,8,9,10}; 57         int []b =new int [3];//使用对应关系给b赋值 58         for(int i=0;i<b.length;i++){ 59             b[i]=a[2*i]; 60         } 61         for (int element:b){ 62             System.out.println(element); 63         } 64         结果是:1,3,5 65      66         //不存在对应关系 67         int [][] a={{1,2,3},{4,5,6},{7,8,9}}; 68         int [] b=new int [9]; 69          int k=0; 70            for(int i=0;i<a.length;i++){ 71                for(int j=0;j<a[i].length;j++){ 72                    b[k]=a[i][j]; 73                    k++; 74                } 75            } 76            for (int element:b){ 77                 System.out.println(element); 78             } 79            */ 80         //------------------------------------------- 81         //2.折半查找 82         /* 83         //顺序查找 84         int[] arr = {1,5,7,23,10,7,54,20}; 85         int num = 10; 86         int index = -1; 87         for(int i = 0;i < arr.length;i++){ 88             if(arr[i] == num){ 89                 //存在 索引值保存下来 90                 index = i; 91                 break; 92             } 93         } 94         System.out.println(num + "的索引为:" + index); 95          96         //折半查找 97         int[] arr = {1,5,7,7,10,20,23,54};//先排序 98         int low=0;//头指针 99         int high =arr.length-1;//尾指针100         int index=-1;101         int number=10;102         while(low<=high){103             int mid =(low+high)/2;104             if(number>arr[mid]){105                 low=mid+1;106             }else if(number<arr[mid]){107                 high=mid-1;108             }109             else {110                 index=mid;111                 break;112             }113         }114         System.out.println(number + "的索引为:" + index);115         */116         //-------------------------------117         /**/118         //3.排序119         //第一种:冒泡排序120         //算法思想:121         int[] arr = {1,5,7,23,10,7,54,20};122         for(int i=0;i<arr.length-1;i++){123             for(int j=0;j<arr.length-i-1;j++){124             if(arr[j]>arr[j+1]){125                 int temp=arr[j];126                 arr[j]=arr[j+1];127                 arr[j+1]=temp;128             }    129             }130         }131         for (int i=0;i<arr.length;i++){132             System.out.println(arr[i]);133         }134         //注意:遍历数组是a.length,二维数组是a.length---a[i].length135         //冒泡是a.length-1-----a.length-i-1;136         137         138         139         140     }141 142 }

当你能爱的时候就不要放弃爱

javaSE入门—-数组

相关文章:

你感兴趣的文章:

标签云: