Java基础练习

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 }
原文地址:https://www.cnblogs.com/joeshine/p/4369764.html