- 冒泡排序
- 数组赋值
- 数组反转
- 常见的数组异常
代码:
public static void main(String[] args) {
// 1.使用冒泡排序,实现如下数组的从小到大排序
Scanner scan=new Scanner(System.in);
int []arr=new int[]{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])
{
int temp;
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i:arr){
System.out.print(i+"\t");
}
System.out.println();
// 2.如何反转上面的数值,用代码实现
for(int i=0;i<arr.length/2;i++)
{
int swap;
swap=arr[i];
arr[i]=arr[arr.length-1-i];
arr[arr.length-1-i]=swap;
}
for(int i:arr)
{
System.out.print(i+"\t");
}
System.out.println();
// 3.复制上述数组,得到一个新的数组
int []arr2=new int [arr.length];
for(int i=0;i<arr.length;i++)
{
arr2[i]=arr[i];
}
System.out.println(arr+"\t"+arr2);
for(int i:arr2)
{
System.out.print(i+"\t");
}
System.out.println();
// 4.使用线性查找,从上述数组中查找为22是否存在,存在返回数组的角标,不存在则输出提示信息。
boolean flag=true;
for(int i=0;i<arr.length;i++)
{
if(arr[i]==22)
{
System.out.println("找到该数,角标为:"+i);
flag=false;
break;
}
}
if(flag)
{
System.out.println("提示信息。");
}
// 5.数组中常见的异常有哪些,请举例说明:
// a.越界,角标越界[0~5]而你输入了角标为6;
// b.空指针异常,定义的输出该数为null,例如int[][]a=new int[3][];
// 则a[0]的数值即为null,输出是则会报错,因为堆中没有具体的位置信息。
}
运行结果
-98 -76 -3 0 5 6 22 34
34 22 6 5 0 -3 -76 -98
[I@14991ad [I@d93b30
34 22 6 5 0 -3 -76 -98
找到该数,角标为:1