public class shuzu {
public static void main(String[] agrs){
/**
* 数组--存放多个数据的集合
//一维数组
int a[];
int[] b;
int arr[] = new int[5];//动态赋值
int[] arr1 =new int[]{1,2,3,4,5};//静态赋值
//数组下标从0开始
System.out.println(arr.length);
System.out.println(arr1[1]);
System.out.println(arr1[1*2]);
System.out.println(arr[1]);
//二维数组练习
int[][] arr = new int[][]{
{3,8,2},
{2,7},
{9,0,1,6}
};
int len = arr.length;
int res = 0;
for(int i = 0; i < len; i++){
int arr0[] = arr[i];
int llen = arr0.length;
for(int j = 0;j < llen;j++){
res +=arr0[j];
}
}
System.out.println(res);
*/
/**
* 数组中涉及的常见算法
* 1、求数组元素的最大值,最小值,求和,平均数
int arr[] = new int[]{1,2,3,4,5,6,7,8 };
int max = arr[0];
int min = arr[0];
int sum = 0;
int avg ;
int i;
for( i = 0;i < arr.length;i++){
if(max < arr[i]){
max = arr[i];
}
}
System.out.println("最大值:"+max);
for(int j = 0; j < arr.length;j++){
if(min > arr[j]){
min = arr[j];
}
}
System.out.println("最小值:"+min);
//总和,平均数
for(int k = 0;k < arr.length; k++){
sum +=arr[k];
}
System.out.println("总和:"+sum);
System.out.println("平均数:" + (sum / arr.length));
//2、数组的复制
int copy[] =new int[arr.length];
for(i = 0; i < arr.length;i++){
copy[i] = arr[i];
}
for(i = 0;i < copy.length;i++){
System.out.println(copy[i]);
}
System.out.println();
System.out.println();
//3、数组的反转
int temp[] = new int[arr.length];
int k =0;
for(i = arr.length - 1;i >= 0;i--){
//System.out.println(arr[i]);
temp[k] = arr[i];
k++;
}
arr = temp;
for(i = 0;i < arr.length;i++){
System.out.println(arr[i]);
}
*/
/**4、数组元素的排序
冒泡法:排序思想:
相邻两元素进行比较,如有需要则进行交换,每完成一次循环就将最大元素排在最后(如从小到大排序),
下一次循环是将其它的数进行类似操作
int arr[] = new int[]{10,32,1,234,554,6,21};
int temp;
for(int i = 0;i < arr.length - 1; i++){//循环轮次
for(int j = 0; j < arr.length - 1 - i ;j++){//每一轮次,对数组元素进行排序
if(arr[j] > arr[j + 1]){
temp = arr[j];
arr[j] = arr[j + 1];
arr[j+ 1] = temp;
}
}
}
for(int i = 0;i < arr.length;i++){
System.out.println(arr[i]);
}*/
/**数组作业:
* (1)创建一个名为TestArray的类,在main()方法中声明array1和array2两个变量,他们是int[]类型的数组。
(2)使用大括号{},把array1初始化为8个素数:2,3,5,7,11,13,17,19。
(3)显示array1的内容。
(4)赋值array2变量等于array1,修改array2中的偶索引元素,
使其等于索引值(如array[0]=0,array[2]=2)。打印出array1。
*/
int array1[] = new int[]{2,3,5,7,11,13,17,19};
int array2[]= new int[array1.length];
System.out.println("打印array1数组的值: ");
for(int i = 0; i < array1.length;i++){
System.out.print( array1[i]+",");
}
System.out.println();
System.out.println();
//赋值array2变量等于array1
for(int i = 0; i < array1.length;i++){
array2[i] = array1[i];
}
System.out.println("array2数组的值:");
for(int i = 0; i < array2.length;i++){
System.out.print( array2[i]+",");
}
//4、修改array2中的偶索引元素,
//使其等于索引值(如array[0]=0,array[2]=2)。打印出array1
for(int i = 0; i < array2.length;i++){
if( i % 2 == 0){
array2[i] = i;
System.out.println(array2[i]);
}
else {
System.out.print(array2[i]+"\t");
}
}
System.out.println();
System.out.println();
//数组自身反转
int temp;
System.out.println("初始数组:");
for(int i = 0 ;i < array1.length;i++){
System.out.print(array1[i] + ",");
}
System.out.println();
System.out.println("数组自身反转:");
for(int i = array1.length - 1; i >= 0; i--){
System.out.print(array1[i] + ",");
}
}
}