数组的基本要素:
1)标识符:和变量一样,在计算机中,数组也有一个名称,称为标识符,用于区分不同的数组。
2)数组元素:当给出了数组名称,即数组标识符后,要向数组中存放数据,这些数据就称为数组元素。
3)数组下标:在数组中,为了正确的得到数组元素,需要对它们进行编号,这样计算机才能根据编号去存取,这个编号就称为数组的下标。
4)元素类型:存储在数组中的数组元素应该是同一数据类型。
语法:
//语法1)声明数组 数据类型[]数组名; 或 数据类型 数组名[]; //分配空间 数组名=new 数组类型[数组长度]; 或 数据类型[]数组名=new 数据类型[数组长度]; //赋值 数组名[下标值]; 或 数据类型[]数组名={值1,值2,值3,...值n};
举例说明:
// 初始变量 String[] goods = { "Nike背包", "Adidas运动衫", "李宁运动鞋", "Kappa外套", "361腰包" }; System.out.println("本次的特价商品有:"); for (int i = 0; i < goods.length; i++) {// for 循环 System.out.println(goods[i]); }
// 0.1初始变量 double[] moneys = new double[5];// 声明并开空间 System.out.println("请输入会员本月的消费记录:"); Scanner input = new Scanner(System.in);// 用户输入 导入Scanner for (int i = 0; i < moneys.length; i++) {// 第一个for循环输出金额 System.out.print("请输入第" + (i + 1) + "笔购物金额:"); moneys[i] = input.nextDouble(); } System.out.println("序号 金额(元)"); for (int i = 0; i < moneys.length; i++) {// 第二个输出序号和金额 System.out.println((i + 1) + " " + moneys[i]); } System.out.print("总金额 "); double sum = 0;// 存储总金额 for (int i = 0; i < moneys.length; i++) {// 第三个循环输出总金额 sum = sum + moneys[i]; } System.out.println(sum);
数组排序:(Arrays.sort(数组名);)
// 导入Scanner Scanner input = new Scanner(System.in); String[] word = new String[5];// 定义数组 开空间 System.out.println("请输入五句话");// 输入 for (int i = 0; i < word.length; i++) { System.out.print("第" + (i + 1) + "句话:"); word[i] = input.next(); } System.out.println(); System.out.println("逆序输出5句话为:");// 逆序 for (int j = word.length - 1; j >= 0; j--) { System.out.println(word[j]); }
// 定义数组 char[] world = { 'a', 'c', 'u', 'b', 'e', 'p', 'f', 'z' }; System.out.print("原字符序列:");// 原字符顺序 for (int j = 0; j < world.length; j++) { System.out.print(world[j]); } System.out.println(); Arrays.sort(world); System.out.print("升序排序后:");// 升序排列 for (int i = 0; i < world.length; i++) { System.out.print(world[i]); } System.out.println(); System.out.print("逆序输出为:");// 逆序 for (int k = world.length - 1; k >= 0; k--) { System.out.print(world[k]); }
打擂算法:
Scanner input = new Scanner(System.in); // 声明 int min = 0;// 最低 int[] price = new int[4];// 价格 System.out.println("请输入4家店的价格"); for (int i = 0; i < price.length; i++) { System.out.print("第" + (i + 1) + "家店的价格:"); price[i] = input.nextInt(); min = price[0];// 计算最小值 for (int j = 0; j < price.length; j++) { if (price[j] < min) {// 作比较 min = price[j]; } } } System.out.print("最低价格是:" + min);
插入字符:
public static void main(String[] args) { String[] musics = new String[]{"Island","Ocean","Pretty","Sun"}; String[] newMusics = new String[musics.length+1];//新歌曲数组 String music = ""; //保存用户输入的歌曲名称 int index = musics.length; //保存新歌插入位置 //输出插入前的结果 System.out.print("插入前的数组为:"); for(int i = 0; i < musics.length ; i++){ System.out.print(musics[i]+" "); } //将数组musics中的元素复制到新歌曲数组newMusics中 for(int i = 0; i < musics.length; i++){ newMusics[i] = musics[i]; } //输入歌曲名称 Scanner input = new Scanner(System.in); System.out.print(" 请输入歌曲名称:"); music = input.nextLine(); //找到新元素的插入位置 for(int i = 0; i < musics.length; i++){ if(musics[i].compareToIgnoreCase(music) > 0){ index = i; break; } } //元素后移 for(int i = newMusics.length-1; i > index; i--){ newMusics[i] = newMusics[i-1]; //index下标开始的元素后移一个位置 } newMusics[index] = music; //新元素放在index的位置 //输出插入后的结果 System.out.print("插入后的数组为:"); for(int i = 0; i < newMusics.length; i++){ System.out.print(newMusics[i]+" "); }