jse基础-数组

数组:

1.使用数组的步骤:声明数组、分配空间、赋值

2.数组初始化

动态初始化:int[] a = new int[5];

静态初始化:int[] b = {1,2,3,4,5};

默认初始化:int [] c = new int[]{1,2,3,4,5};

3.数组在内存中的存放

局部变量放在栈内存当中(引用类型的变量,还有一些基本类型的变量),但引用变量所引用的对象是保存是堆内存当中的。(包括数组还有一些我们平常写的普通的类对象)

4.对数组的操作

//打印数组

public class ArrayPrint {
public static void main(String[] args) {

/* 创建数组并赋值的方式必须在一条语句中完成
 * int[] arr = new int[5];
   arr={1,2,3,4,5};*/

//赋值的时候不能指定数组的长度,
//假如没赋值,在创建实例的时候必须指定数组的大小
//int[] array = new int[]{1,2,3};
int[] array={1,2,3};
for(int i=0;i<array.length;i++)
System.out.println("array["+i+"] = "+array[i]);


//没有实例该对象无法调用其方法,除非将方法satic
//抽象出一个打印方法出来
//printArr(array);

ArrayPrint ap = new ArrayPrint();
ap.printArr(array);


}

    public  void printArr(int[] arr){
for(int i=0;i<arr.length;i++)
System.out.println("array["+i+"] = "+arr[i]);

}
}

//获取数组最大元素

public static int getMax(float[] arr){

float max = arr[0];

for(int i=1;i<arr.length;i++){

if(max<arr[i]) 

max = arr[i];

}

        return max;

}



//对一个数组{5,1,6,4,2,8,9}进行排序  选择排序

1.选择排序:不稳定,时间复杂度 O(n^2)

2.选择排序的思想:每次从未排序的数列中,挑选一个最小或最大的值放在已排好序的数列的最后

public class Test {
	 
	public static void main(String[] argv) {
		 int arr[] = {5,1,6,4,2,8,9}; 
		 sort(arr);
		 for(int i:arr)
		 System.out.println(i);
	    }
	 
	 	public static void selectSort(int[] arr){
    	 
    	         for(int i=0;i<arr.length-1;i++){
    		 for(int j=i+1;j<arr.length;j++)
    		 if(arr[j]<arr[i]){
    			 int temp = arr[j];
    			 arr[j] = arr[i] ;
    			 arr[i] = temp;
    		 }
    	 }
    }
}


//对一个数组{5,1,6,4,2,8,9}进行排序  冒泡排序

1.冒泡排序:稳定,时间复杂度 O(n^2)

2.冒泡排序思想

每一次将最具有特征的一个数(或者object)放到序列的最前面,或者最后面。

也可以让相邻的两个数(对象)比较,重新排序后,再次重新比较,如果有结果(必出大小等)再次重新排列,否则进行下一次比较。

public class Test {

	public static void main(String[] argv) {
		int arr[] = { 5, 1, 6, 4, 2, 8, 9 };
		bubbleSort(arr);
		for (int i : arr)
			System.out.println(i);
	}

	public static void bubbleSort(int[] arr) {
		for (int i = 0; i < arr.length-1; i++)
		{
			for (int j = 0; j < arr.length-i-1; j++) {
				if(arr[j]>arr[j+1]){
					int temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}
		}
	}
}


   
 



     







  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值