数组是一个存储数据的工具,可以用来帮我们存储东西。
数组需要声明并创建,之所以需要创建,我认为应该是需要系统在内存中分配空间,毕竟数组是一个存储数据的工具,需要空间。数组会在内存中开辟一个连续的空间。
public static void main(String[] args) {
int[] arr = new int[5];
for(int i=0;i<5;i++) {
arr[i] = i+1;
System.out.println("第"+(i+1)+"个元素的值为"+arr[i]);
}
}
增强型for循环,适合配合数组使用的for循环。在括号中只有两个两个表达式,跟普通的for表达式不同的是中间用冒号隔开,普通的for循环使用分号。第一个表达式跟普通的for循环不一样的地方是定义一个变量,并且不给他初始化。第二个表达式干脆是数组的名字。
public static void main(String[] args) {
int[] arr = new int[5];
Scanner sc = new Scanner(System.in);
for(int x=0;x<arr.length;x++) {
System.out.println("请输入数组的元素");
arr[x] = sc.nextInt();
}
System.out.println("数组的元素内容为");
for(int n:arr) { //此为增强型for循环。
System.out.print(n+" ");
}
int sum = 0;
for(int z=0;z<arr.length;z++) {
sum = arr[z] + sum;
}
System.out.println("");
System.out.println("数组的和为"+sum);
}
冒泡排序,总的来讲就是通过比大小的方式把来把元素进行有序排列。本身不难,难的是写出空间复杂度和时间复杂杜都比较好的冒泡排序。
int[] a = {34,53,12,32,56,17};
System.out.println("排序前的数组元素为");
for(int x:a) {
System.out.print(x+" ");
}
System.out.println();
int temp;
for(int i=0;i<a.length-1;i++) {//外重循环控制循环的次数
for(int j=0;j<a.length-1-i;j++) {
if(a[j]>a[j+1]) {
temp = a[j];
a[j] = a[j+1];
a[j+1] = temp;
}
}
}
for(int y:a) {
System.out.print(y+ " ");
}
}
冒泡排序,两两排序,外重循环最多执行5次,内重循环比外重循环次数小。并且每次循环都比之前的循环次数更少。