1、2*8的最有效率的算法
1 package firstproject; 2 public class Test 3 { 4 public static void main(String[] args) 5 { 6 // TODO Auto-generated method stub 7 System.out.println(2<<3); 8 } 9 }
2、不使用第三个变量,对两个整数变量的值进行互换
1 package firstproject; 2 public class Test 3 { 4 public static void main(String[] args) 5 { 6 // TODO Auto-generated method stub 7 //方法一 8 int n=3,m=4; 9 n=n+m; 10 m=n-m; 11 n=n-m; 12 System.out.println("n="+n+",m="+m); 13 //方法二 14 int p=3,q=4; 15 p=p^q; 16 q=p^q; 17 p=p^q; 18 System.out.println("p="+p+",q="+q); 19 } 20 }
3、用数组中的函数length求取数组的元素的个数,并用length函数遍历数组输出,最后输出数组各元素之和。
1 package firstproject; 2 public class Test 3 { 4 public static void main(String[] args) 5 { 6 //数组的遍历 7 int[] arr=new int[3]; 8 arr[0]=8; 9 arr[1]=4; 10 arr[2]=2; 11 System.out.println("length of arr is: "+arr.length); 12 int sum=0; 13 for(int i=0;i<arr.length;i++) 14 { 15 sum+=arr[i]; 16 System.out.println("arr["+i+"]="+arr[i]); 17 } 18 System.out.println("The sum of arr is: "+sum); 19 } 20 }
4、获取数组的最大值
1 package firstproject; 2 public class Test 3 { 4 public static void main(String[] args) 5 { 6 /*获取数组中的最大值 7 * 思路: 8 * 1、获取最值需要进行比较,由于每一次的比较可能需要交换数据,故定义一个局部变量,临时存储数据; 9 * 2、让数组中的每一个元素都和这个数据进行比较,如果该元素大于该变量的值,则交换彼此; 10 * 3、如果都比较完了,那么这个局部变量就是最大的数组值了。 11 */ 12 int[] arr=new int[]{3,4,23,53,32,322,92039,2,2342342,24}; //初始化数组 13 int Max=max(arr); 14 int Max1=arr[max1(arr)]; 15 System.out.println("The Max of array element is: "+Max); 16 System.out.println("The Max of array element is: "+Max1); 17 } 18 public static int max(int[] arr) 19 { 20 int Max=arr[0]; //默认局部变量是数组第一个元素 21 for(int i=0;i<arr.length;i++) //遍历数组,进行比较 22 { 23 if(arr[i]>Max) 24 Max=arr[i]; 25 } 26 return Max; 27 } 28 public static int max1(int[] arr) //获取最大值的另一种方法 29 { 30 int Max=0; //默认数组最大值的角标为0 31 for(int i=1;i<arr.length;i++) //遍历数组,进行比较 32 { 33 if(arr[i]>arr[Max]) 34 arr[Max]=arr[i]; 35 } 36 return Max; 37 } 38 }
5、查找程序
1 package firstproject; 2 public class Test 3 { 4 public static void main(String[] args) 5 { 6 int[] a=new int[]{3,4,23,53,32,322,929,2}; //初始化数组 7 int x=index(a,322); 8 System.out.println("所要查找的数组元素的下标是:"+x); 9 } 10 public static int index(int[] arr,int key) //一般查找算法 11 { 12 for(int i=0;i<arr.length;i++) 13 { 14 if(key==arr[i]) 15 return i; 16 } 17 return -1; 18 } 19 }