Java数组学习

1.数组概念

数组(容器),保存一组相同数据类型的数据.

2.声明数组的格式

数据类型[] 数组名 = 初值;    注意:这里的数据类型指的是 数组中保存的数据的类型

3.三种声明数组的格式
int[] array = new int[数组的长度];

int[] array = new int[] {1,3,5,11};

int[] array = {1,3,5,11};

4.栈内存和堆内存


栈内存特点:

1.系统会自动帮你释放函数

2.执行顺序 先进后出

堆内存特点:

1.分配内存地址

2.有初始值  基本数据类型 初始值为0

3.有垃圾回收机制(GC) 在某一时刻被系统释放

5.数组元素反转

//封装一个函数 交换两个数

int temp = array[0];

array[0] = array[1];

array[1] = temp;

6.冒泡排序

public static void main(String[] args) {

int[] array= {3,2,5,1};

//外循环  控制一共比了多少次

//内循环  一趟比了多少次

for (int i = 0; i < array.length-1; i++) {

for (int j = 0; j < array.length-1-i; j++) {

//判断大小  相邻

//内循环-1,防止越界

//内循环-i,循环一次 确定一个数  每次都少比一次

if(array[j]>array[j+1]) {

int temp=array[j];

array[j]=array[j+1];

array[j+1]=temp;

}

}

}

}

7.选择排序

public static void main(String[] args) {

int[] array= {3,2,5,1};

for (int i = 0; i < array.length-1; i++) {

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

//i=0  j=1.2.3

//i=1  j=2.3

//i=2  j=3

if (array[i]>array[j]) {

//交换

int temp=array[i];

array[i]=array[j];

array[j]=temp;

}

}

}

}

8.折半查找

public static void main(String[] args) {

int[] array= {1,22,33,44,55,66};

int key=55;

//用到的变量

int min=0;

int max=(array.length-1);

int mid=(min+max)/2;

//循环

while (array[mid]!=key) {

//判断中间角标值和key 挪动最大火最小角标

if(key>array[mid]) {

min=mid+1;

}

if(key<array[mid]) {

max=mid-1;

}

//每次循环 都要有折半的操作

mid=(min+max)/2;

//数组中没有这个数的时候

if (min>max) {

//没有这个数,用-1表示

mid=-1;

break;//跳出循环

}

}

System.out.println("该值得坐标是:"+mid);

}

9.二维数组

保存多个同类型的一位数组

数据类型[][] 数组名=初值

 //遍历

  for (int i = 0; i < array1.length; i++) {

for (int j = 0; j < array1[i].length; j++) {

System.out.println(array1[i][j]+"");

}

System.out.println();

  }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值