一,位运算
位运算符:按位运算 & | ^
//声明变量测试 int a=1,b=2; /* 二进制的表示: 00000001 00000010 同时为真才为真(两对二进制上下对应) 00000000 */ System.out.println(a & b);//0 //改变数值进行测试 a=5;//101 b=7;//111 /* 二进制的表示: 00000101 00000111 同时为真才为真(两对二进制上下对应) 00000101 */ System.out.println(a & b);//5 //自行测试 | ^
位移运算符,算法中用的多
位移时,是有规律的变化数据(一般人掌握不了)
//位移运算符 >> a=5;//101 /* 二进制的表示: 00000101 ->向右移动 00000010 */ System.out.println(a>>1);//2 a=5;//101 /* 二进制的表示: 00000101 ->向右移动 00000001 */ System.out.println(a>>2);//1
二,数组
数组就是一组数据(对应变量,数据是可以存储多个数据的容器)
后续的集合框架,底层就是数组
数组元素长度属性:length
数组每个元素都有下标:从0开始,到 length-1
int[] arr = {1,2,3};
创建数组常用的两种方式
//方式一 int[] arr = new int[5]; //方式二 int[] arr = {1,2,3}; //方式三 int[] arr; arr = new int[]{1,2,3};
数组的使用
//给数组元素赋值: // 数组[下标] = 值; arr[0] = 1; //获取数组的元素值: // 数据类型 变量 = 数组[下标]; int n = arr[0];
数组创建后对应数据类型有默认值
int[]arr1 = new int[5]; System.out.println(arr1[0]);//缺省值:0 double[]arr2 = new double[5]; System.out.println(arr2[0]);//缺省值:0.0 String[]arr3 = new String[5]; System.out.println(arr3[0]);//缺省值:null
遍历数组
int[] arr = {1,3,5,2,4,6}; for(int i=0;i<arr.length;i++){ System.out.print(arr[i]+"\n"); }
数组排序