java 004
数组
数组
一、数组的定义
public static void main(String[] args) {
int[] nums = new int[3];
//定义了一个int(32位)类型的数组,名字叫nums,nums就是表示一个地址。
nums[0] = 1;
nums[1] = 3;
nums[2] = 5;
System.out.println(nums[0]);
System.out.println(nums.length);//数组长度打印
//定义赋值在一起
int[] nums2 = {1,2,3};
}
二、其他类型的数组
/************
* 其他类型的数组
* */
String[] strs = new String[5];
byte[] b = new byte[6];
short[] s = new short[5];
long[] l = new long[4];
float[] f = new float[4];
double[] d =new double[3];
三、找最大值
/**********
* 找最大值
*/
int[] nums= {1,2,4,9,12,23,3,56,6,3,7};
int target = -1;//下标不可能比0小,初始值制负一。
for(int i =0;i< nums.length;i++) {
if (nums[i] == 4) {
target = i;
break;//细节
}
}
System.out.println(target);
四、查找目标下标
/**********************
* 查找目标下标
*/
int[] nums= {1,2,4,9,12,23,3,56,6,3,7};
int target = -1;//下标不可能比0小,初始值制负一。
for(int i =0;i< nums.length;i++) {
if (nums[i] == 4) {
target = i;
break;
}
}
System.out.println(target);
五、数组元素交换
/*******************java
* 数组元素交换
* */
int[] nums= {1,2,4,9,12,23,3,56,6,3,7};
int temp = nums[0];
nums[0] = nums[2];
nums[2] = temp;
六、算法-选择排序
public class array_select_sort {
public static void main(String[] args) {
//选择排序
/************
* 最开始第一位不动,在其他几位中找出最小值,和第一位比较,
* 如果第一位小就不变,开始下一轮,否,第一位和该位换个位置,
* 然后开启下一轮,即第一位不动,第二位不动,其他位找最小值与第二位比较。
* 小的调换,大的不变,以此类推。
* */
int[] nums = {12,3,5,6,7,6,8,9};
for (int j = 0;j < nums.length-1;j++) {
int min = j;//最小位的下标
//比较
for (int i = j+1;i < nums.length;i++) {
if (nums[i] < nums[min]) {
min =i;
}
}
int temp = nums[j];
nums[j] = nums[min];
nums[min] =temp;
}
for(int k = 0;k < nums.length;k++){
System.out.println(nums[k]);
}
}
}