数组的声明方式:类型[] 变量;
数组的创建:new 类型[容量];
Strring[] names = new String[3];
给数组添加数据的方法是:数组变量[索引] = 数据
添加数据和访问数据时,索引范围是不能超过指定范围的(0~length-1)
如果重复给相同的索引添加数据,那么等同于修改数据
names[0] = "zhangsan";
names[1] = "lisi";
names[2] = "wangwu";
names[3] = "laoliu"; //出错
names[0] = "daming"; //修改数据
遍历数组
for(int i = 0; i < names.length; i++) {
System.out.println(names[i]);
}
冒泡排序
int[] nums = {1,4,3,2,5,8,6,7,9,10,12,11};
for (int j = 0; j < nums.length;j++) {
for (int i = 0; i < nums.length -j - 1;i++) {
int num1 = nums[i];
int num2 = nums[i+1];
if (num1 > num2) {
nums[i] = num2;
nums[i+1] = num1;
}
}
}
for (int num : nums) {
System.out.println(num);
}
选择排序
int[] nums = {1,4,3,2,5,8,6,7,9,10,12,11};
for(int j = 0; j < nums.length; j++) {
int maxIndex = 0;
for (int i = 0; i < nums.length - j; i++) {
if (nums[i] > nums[maxIndex]) {
maxIndex = i;
}
}
int num1 = nums[nums.length - j - 1];
int num2 = nums[maxIndex];
nums[maxIndex] = num1;
nums[nums.length-j-1] = num2;
}
for (int num : nums) {
System.out.println(num);
}
二分查找
int[] nums = {1,2,3,4,5,6,7,8,9};
//查询目标
int targetNum = 4;
int start = 0;
int end = nums.length - 1;
int middle = 0;
while(start <= end) {
middle = (start +end) / 2;
if (nums[middle] > targetNum) {
end = middle - 1;
} else if (nums[middle] < targetNum) {
start = middle + 1;
} else {
break;
}
}
System.out.println("数据在数组的位置:"+middle);