目录
数组
数组的遍历
1*普通for循环进行遍历
2*增强for循环---for each
for(数据类型 变量名 : 数组名){
}
适合查询 只支持对数组,集合等遍历
3*只能将数组所有元素输出
Arrays---java提供的数组的工具类
toString(数组名)--将指定数组的所有元素转为字符串
基本应用
获取数组最大值/最小值
//获取最大值
double[] a = {2.4,6.3,8.5,9,5,1};
double b = a[0];
for (int i = 0; i < a.length; i++) {
if (b<a[i]){
b=a[i];
}
}
System.out.println(b);
//foreach获取最小值
double[] a = {2.4,6.3,8.5,9,5,1};
double b = a[0];
for (double v : a) {
if (b>v){
b=v;
}
}
System.out.println(b);
数组的反转.
int[] a = {1,2,3,4,5,6,7};
int[] b=new int[a.length];
for (int i = 0; i < a.length; i++) {
b[i]=a[a.length-i-1];
}
a=b;
System.out.println(Arrays.toString(a));
数组的内存
java的内存:
栈内存:
变量
堆内存:
new出来的对象
数据必须有默认值
byte short int:0
long:0L
float/double:0.0
boolean:false
char:空字符 \u0000
引用数据类型:null
数组中的高级应用
算法---面试之前务必要准备
数组的查找
1*遍历数组 一 一比对
2*(二分查找)折半查找
前提 : 数组必须有序
数组的排序
1*冒泡排序
两个相邻元素比较
升序排序 如果前一个元素大于后一个元素 则交换位置。
2*选择排序
一个元素和之后所有元素比较
升序排序 如果前一个元素大于后一个元素 则交换位置。
2*Arrays.sort(数组)
扩展 快速排序 归并排序 插入排序