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 }
当你能爱的时候就不要放弃爱