javase day05

一、基本语法
在这里插入图片描述

一、定义数组:
1、数据类型[] 数组名=new 数组类型[数组长度/数组元素的个数]
int [] arr=new int[3];定义了一个数组长度为3的整型数组arr
支持声明和初始化
int [] arr;声明
arr=new int[3];初始化
通过地址值(数组名)能唯一确定数组,java对数组内部会自行进行编号,从0开始,通过地址值和编号(下标)能唯一确定数组元素—地址值[下标]—数组名[下标] arr[0]
2、数据类型[] 数组名=new 数据类型[]{元素值1,元素值2,……};
int [] arr=new int[]{1,2,3};//元素值给定,长度就确定了
支持声明和初始化
int [] arr;//声明
arr=new int[]{1,2,3};//初始化
3、数据类型[] 数组名={元素值1,元素值2……};
int[] arr={1,2,3}//给定元素值数组长度就确定,在底层通过别的技术动态开辟空间
支持声明,但是不支持这种格式的初始化(没有new就没有开辟内存空间)
new -------在内存开辟空间

二、Java内存分区
1、栈:变量(目前)当存储内容使用完就立刻进行清除
2、堆:对象,当对象是无用对象时会等到某个时刻进行回收
3、方法区(面向对象里边)
4、本地方法栈
5、寄存器(CPU计数器)

系统默认初始值
byte short int-----0 char--------’\u0000’(u是u16) long----0l float------0.0f double------0.0 boolean----false 引用类型--------null
在这里插入图片描述
在这里插入图片描述

三、
1、普通for循环遍历数组
数组长度-------数组名.length
2、增强for循环 只能遍历不能其他操作
for(数组元素类型 变量名:要进行遍历的数组名)
四、数组的应用
1、遍历----依次打印数组(Java提供的方法------Arrays.toString(数组名);)
2、最值------最大值、最小值
3、逆序------1 2 3 4 ------> 4 3 2 1
4、查找-------提供一个查找数,返回这个查找数在数组中第一次出现的下标数
二分查找
在这里插入图片描述

5、排序----排列顺序----冒泡排序(右边最大,依次往左排序)、选择排序(左边最小,依次往右边排序)(java 提供的排序方法-----Arrays.sort(数组名);)
在这里插入图片描述
在这里插入图片描述

数组应用
排序
时间复杂度:核心代码执行的次数
二分查找(n(数组长度)/2^x=1 x=log2n O(long2n))
冒泡、选择(n()数组长度*(n-1) n ^2-n ------- n ^2)
Arraysort()-----O(nlongn)
空间复杂度:代码执行过程中额外空间的开辟
二分查找、冒泡、选择---------O(1)
6、扩容
arr =Arrays.copyOf(arr,2*arr.length);
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值