1、数组有何作用?
数组是一个变量,存储相同数据类型的一组数据,在内存空间划出一串连续的空间。可以更加方便的处理相同数据类型的数据。
2、使用数组的步骤?
1、声明数组:如:int[] a;
2、分配空间:如:a = new int[5];
3、赋值 如:a[0] = 8;
4、处理数据:如:a[0] = a[0] * 10;
3、如何遍历数组?
package com.java1_3; public class BianLiShuZu { public static void main(String[] args) { int[] a = {5,96,8,7,4,5,9}; for(int i=0;i<a.length;i++) { System.out.print(a[i]+" ");//普通for循环实现 } System.out.println(); System.out.println("----------------"); for(int b:a) { System.out.print(b+" ");//使用增强for循环实现 } } }
结果:
4、简述最大值的实现思路是怎么样?
先设置一个最大数,把除非之外的所有数都进行比较,如果比其它数小,其它数当最大数继续作比较,直到所有数都有比较过;
作业:
1、在一个长度为6的数组中,数组中最后一个为空,插入一个数,并降序输出。
方法一:找到这个数在数组中位置插入进去
package com.java1_3; import java.util.Scanner; public class ChaRunShuJu { public static void main(String[] args) { Scanner cxj = new Scanner(System.in); int[] a = new int[6]; a[0] = 56; a[1] = 78; a[2] = 90; a[3] = 12; a[4] = 34; //先对数组中的数据进行降序排列 System.out.println("排序之前的数据顺序是:"); for(int i=0;i<a.length-1;i++) { System.out.print(a[i]+" "); } 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]) { int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } System.out.println(); System.out.println("排序之后的数据顺序是:"); for(int i=0;i<a.length-1;i++) { System.out.print(a[i]+" "); } //插入一个数到数组,并以降序输出 //首先确定要插入的数在数组中应该插在哪个位置,记录下标 System.out.println(); System.out.println("请输入要插入的数:"); int shu = cxj.nextInt(); int index = a.length-1; for(int i=0;i<a.length-1;i++) { if(a[i]<shu) { index = i; break; } } //接下去将这个位置的数和后面所有的数全部往后移动一位 for(int j=a.length-1;j>index;j--) { a[j] = a[j-1]; } //将输入的值赋给下标为index的数组 a[index] = shu; //遍历输出插入后的数组 System.out.println("------------------"); System.out.println("插入后的数据顺序是:"); for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } } }
结果示例:
方法二,直接将要插入的数放在最后一个位置,再对数组进行降序排列
package com.java1_3; import java.util.Scanner; public class ChaRunShuJu2 { public static void main(String[] args) { Scanner cxj = new Scanner(System.in); int[] a = new int[6]; a[0] = 56; a[1] = 78; a[2] = 90; a[3] = 12; a[4] = 34; System.out.println("插入之前的数据是:"); for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } System.out.println(); System.out.println("请输入要插入的数:"); int shu = cxj.nextInt(); a[5] = shu; //对数组中的数据进行降序排列 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]) { int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } } } System.out.println(); System.out.println("插入后的数据情况是:"); for(int i=0;i<a.length;i++) { System.out.print(a[i]+" "); } } }
结果示例: