数组练习

* 1.使用冒泡排序,实现如下的数组从小到大排序。
* int[] arr = new int[]{34,5,22,-98,6,-76,0,-3};
*
* 2. 如何反转上面的数组。请代码实现
*
* 3. 复制上述数组,得到一个新的数组
*
* 4. 使用线性查找,从上述数组中查找22是否存在。存在,返回所在位置的索引。不存在,输出提示信息。
*
* 5. 数组中常见的异常有哪些?请举例说明
* 数组越界异常,空指针异常,
*/
public class HelloWorld {
public static void main(String[] args){
/**
* 冒泡排序
*/
int[] arr ={34,5,22,-98,6,-76,0,-3};
for (int i = 0; i < arr.length-1; i++) {
for (int j = 0; j < arr.length-1-i; j++) {
if (arr[j] > arr[j+1]){
swap(arr,j,j+1);
}
}
}
System.out.println(Arrays.toString(arr));

/**
* 翻转数组
*/
for (int i = 0,j = arr.length-1;i >= 0&& i < j; i++,j--) {
swap(arr,j,i);

}
System.out.println(Arrays.toString(arr));

/**
* 复制数组,得到一个新的数组
*/
int arr1[] = new int[arr.length];
for (int i = 0; i < arr.length; i++) {
arr1[i] = arr[i];
}
System.out.println(Arrays.toString(arr1));

/**
* 使用线性查找,从上述数组中查找22是否存在。
* 存在,返回所在位置的索引。不存在,输出提示信息。
*/
int j = -1;
for (int i = 0; i < arr.length; i++) {

if (arr[i] == 22){
j = i;
System.out.println(i);
break;
}

}
if (j == -1){
System.out.println("没有");
}

}
public static void swap(int arr[],int a,int b){
int temp = arr[a];
arr[a] = arr[b];
arr[b] = temp;
}
}
posted @ 2020-10-18 18:42  ITYW  阅读(133)  评论(0编辑  收藏  举报