package com.zheng.array; public class ArrayDemo01 { //变量的类型 变量的名字 = 变量的值 //数组类型 public static void main(String[] args) { int [] nums;//1.定义 nums = new int [10];//2,创建一个数组 //3.给数组元素中赋值 nums[0] = 1; nums[1] = 2; nums[2] = 3; nums[3] = 4; nums[4] = 5; nums[5] = 6; nums[6] = 7; nums[7] = 8; nums[8] = 9; nums[9] = 10; //计算所有元素的和 int sum = 0; //获取数组长度:arrays.length for (int i = 0; i < nums.length; i++) { sum=sum+nums[i]; } System.out.println("总和为:"+sum); } }
1.声明数组
int[]array=null;
2.创建数组
array=new int[10];
3.给数组元素赋值
package com.zheng.array; public class ArrayDemo02 { public static void main(String[] args) { //静态初始化:创建+赋值 int[] a ={1,2,3,4,5,6,7,8}; System.out.println(a[0]); //动态初始化:包含默认初始化 int[] b = new int[10]; b[0]=10; b[1]=10; System.out.println(b[0]); System.out.println(b[1]); } }
package com.zheng.array; public class ArrayDemo03 { public static void main(String[] args) { int[]arrays={1,2,3,4,5}; //打印全部数组元素 for (int i = 0; i < arrays.length; i++) { System.out.println(arrays[i]); } System.out.println("======================="); //计算所有元素的和 int sum = 0; for (int i = 0; i < arrays.length; i++) { sum += arrays[i]; } System.out.println("sum="+sum); System.out.println("======================="); //查找最大元素 int max = arrays[0]; for (int i = 1; i < arrays.length; i++) { if (arrays[i]>max){ max =arrays[i]; } } System.out.println("max="+max); } }
package com.zheng.array; public class ArrayDemo04 { public static void main(String[] args) { int[] arrays = {1, 2, 3, 4, 5}; // //jdk1.5,没有下标 // for (int array : arrays) { // System.out.println(array); // } printArray(arrays); } //打印数组元素 public static void printArray(int[] arrays) { for (int i = 0; i < arrays.length; i++) { System.out.print(arrays[i] + " "); } } //反转数组 public static int[] reverse(int[]arrays){ int[]result =new int[arrays.length]; return result; } }
package com.zheng.array; public class ArrayDemo05 { public static void main(String[] args) { //[4][2] /* 1,2 array[0] 2,3 array[1] 3,4 array[2] 4,5 array[3] */ int[][]array ={{1,2}, {2,3}, {3,4}, {4,5}}; System.out.println(array[0][0]); System.out.println(array[0][1]); } //打印数组元素 public static void printArray(int[] arrays) { for (int i = 0; i < arrays.length; i++) { System.out.print(arrays[i] + " "); } } }
package com.zheng.array; import java.util.Arrays; public class ArrayDemo06 { public static void main(String[] args) { int[]a={1,2,3,4,6473,2345,32,234}; //System.out.println(a);//[I@4554617C //打印数组元素 //System.out.println(Arrays.toString(a)); Arrays.sort(a);//数组进行排序:升序 System.out.println(Arrays.toString(a)); } //重复造轮 public void printArray(int[]a){ for (int i = 0; i < a.length; i++) { if(i==0){ System.out.println("["); } if (i==a.length-1){ System.out.println(a[i]+"]"); }else { System.out.println(a[i]+","); } System.out.print(a[i]+","); } } }
package com.zheng.array; import java.util.Arrays; //冒泡排序 //1.比较数组中,两个相邻的元素,如果第一个数比第二个数大,我们就交换他们的位置 //2.每一次比较,都会产出一个最大的,或者最小的 //3.下一轮则可以少一次排序 //4.依次循环,直到结束。 public class ArrayDemo07 { public static void main(String[] args) { int[]a={1,4,5,7,3,3,57,8,9,}; int[]sort=sort(a);//调用完我们自己写的排序方法以后,返回一个排序后的数组 System.out.println(Arrays.toString(sort)); } public static int[] sort(int[] array) { //临时变量 int temp =0; //外层循环,判断我们要走多少次; for (int i = 0; i < array.length - 1; i++) { boolean flag=false;//通过flag标识减少没有意义的比较 //内层循环,比较判断两个数,如果第一个数,比第二个数大,则交换位置 for (int j = 0; j < array.length - 1 - i; j++) { if (array[j + 1] > array[j]) { temp=array[j]; array[j]=array[j + 1]; array[j + 1]=temp; flag=true; } } if(flag==false){ break; } } return array; } }