Java第七章:数组

xiaoxiao2025-10-06  21

一数组的特点: 1.数组是一种引用类型。 2.数组当中的多个数据,类型必须统一。 3.数组的长度在运行期间不可改变

数组的初始化:在内存当中创建一个数组,并且向其中赋予一些默认值

二两种常见的初始化方式 1.动态初始化(指定了长度) 2.静态初始化(指定了内容)

1.动态初始化数组的格式: 数据类型【】数组名称=new 数据类型【数组长度】 解释含义: *左侧数据类型:*也就是数组当中的保存数据,全都是统一的什么 类型。 *左侧的中括号:*代表我是一个数组。 *左侧数组名称:*给数组去一个名字 *左侧的new:*代表创建数组的动作。 *右侧数据类型:*必须和左侧的数据类型保持一致。 *右侧中括号的长度:*也就是数组当中,到底可以保存多少个数据,是一个int数字。

2.静态初始化数组的格式: 数据类型【】数组名称=new 数据类型【】{元素1,元素2,元素…}

简化格式: 数据类型【】数组名称={元素1,元素2,元素…}

注意事项 1.静态初始化数组没有指定长度,但是仍然能自动推算到长度。 2.静态初始化标准格式可以拆分成为两个步骤。 3.动态初始化标准格式也可以拆分成为两个步骤。 4.静态初始化一旦使用简化格式就不能。

使用建议: 如果不确定数组当中的具体内容,用动态初始化。否则:已经确定了具体内容,用静态初始化。

索引值: 就是int数字,代表数组当中的元素编号【注意:索引值从0开始,直到“数组长度-1”为止】

作业 1.显示商品名称: package x303_20181025; import java.util.Scanner; public class num1 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); String[] num1 = new String[5]; for (int i = 0; i < num1.length; i++) { System.out.println(“本次活动特价商品有:”); String commodity = scanner.next(); num1[i] = commodity; } for (int i = 0; i < num1.length; i++) { System.out.println(num1[i]); } } }

2.循环输出数列的值,并进行猜数字游戏。 package x303_20181025; import java.util.Scanner; public class num3 { public static void main(String[] args) { int num1 = 0; Scanner scanner = new Scanner(System.in); int[] num = new int[7]; for (int i = 0; i < num.length; i++) { System.out.print(“请输入数据:”); int data = scanner.nextInt(); num[i] = data; num1 = num1 + data; } System.out.println(""); System.out.print(“猜数字游戏:”); int numbre = scanner.nextInt(); for (int i = 0; i < num.length; i++) { if (numbre == (num[i])) { System.out.println(“数列中包含次数”); break; } } System.out.println(“数列中不包含次数”); } }

3.购物金额结算: package x303_20181025; import java.util.Scanner; public class num2 { public static void main(String[] args) { double num=0; Scanner scanner = new Scanner(System.in); System.out.println(“请输入会员本月的消费记录:”); double[] num1 = new double[5]; for (int i = 0; i < num1.length; i++) { System.out.print(“请输入第” + (i + 1) + “笔购物金额:”); double manny = scanner.nextDouble(); num1[i]=manny; num = num+manny; } System.out.println(""); for (int i = 0; i < num1.length; i++) { System.out.println(“序号:”+(i+1)+""+“消费金额”+(num1[i])); } System.out.println(“总金额是:”+num); } }

4.将一组乱序的字符进行排序,并进行升序和降序。 package x303_20181025; import java.util.Arrays; public class num4 { public static void main(String[] args) { String[] num = { “a”, “c”, “u”, “b”, “e”, “f”, “e”, “z” }; Arrays.sort(num); System.out.print(“升序为:”); for (int i = 0; i < num.length; i++) { System.out.print(num[i]); } System.out.println(""); System.out.print(“降序为:”); for(int i=num.length;i>0;i–){ System.out.print(num[i-1]); } } }

5.一组有序的字符序列,向次字符序列中插入一个新的字符,要求插入新的之后字符序列仍保持不乱。 package x303_20181025; public class num5 { public static void main(String[] args) { char[] num = new char[9];

num[0] = 'a'; num[1] = 'b'; num[2] = 'c'; num[3] = 'e'; num[4] = 'f'; num[5] = 'p'; num[6] = 'u'; num[7] = 'z'; System.out.print("原字符序列:"); for (int i = 0; i < num.length; i++) { System.out.print(num[i] + " "); } int nuvel = num.length; // 保存新增成绩插入位置 char a = 'm'; System.out.println("\n待插入的字符是: " + a); // 找到新元素的插入位置 for (int i = 0; i <num.length; i++) { if (a < num[i]) { nuvel = i; break; } } // 元素后移 for (int j = num.length - 1; j > nuvel; j--) { num[j] = num[j - 1]; // index下标开始的元素后移一个位置 } num[nuvel] =a;// 插入数据 System.out.println("插入字符的下标是:" + nuvel); System.out.print("插入后的字符序列是: "); for (int k = 0; k < num.length; k++) { // 循环输出目前数组中的数据 System.out.print(num[k] + " "); } }

}

6.求最低价格: package x303_20181025; import java.util.Scanner; public class num6 { public static void main(String[] args) { int[] num = new int[4]; Scanner scanner = new Scanner(System.in); System.out.println(“请输入4家店的价格”); System.out.println(""); for (int i = 0; i < 4; i++) { System.out.print(“请输入” + (i + 1) + “家店的价格:”); int manny = scanner.nextInt(); num[i]=manny; } int min = num[0]; for (int i = 0; i < num.length; i++) { if(num[i] < min){ min = num[i]; } } System.out.println(“最小值是:”+min); } }

课本作业 1.依次输入五句话后将它们逆序输出 package x303_20181025; import java.util.Arrays; import java.util.Scanner; public class num7 { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); char[]num=new char[5]; num[0]=‘青’; num[1]=‘春’; num[2]=‘梦’; num[3]=‘工’; num[4]=‘场’; System.out.println(“逆序输出五句话:”); for(int i=num.length;i>0;i–){ System.out.println(num[i-1]); } } }

2.假设一个长度为5的数组,进行升序排列 package x303_20181025; import java.util.Arrays; public class num8 { public static void main(String[] args) { int[] num = { 1, 3, -1, 5, -2 }; System.out.print(“原数组数为:”); for (int i = 0; i < num.length; i++) { System.out.print(num[i] + " “); } System.out.println(”"); System.out.print(“升序数组为:”); Arrays.sort(num); System.out.println(Arrays.toString(num)); } }

3.用键盘输入十个个位数字,合法数字为1. 2.或3,不是这三个数字则为非法数字,编程统计每个合法数字和非法数字的个数。 package x303_20181025; import java.util.Scanner; public class num9 { public static void main(String[] args) { int one = 0; int two = 0; int three = 0; int illegal = 0; int[] num = new int[10]; Scanner scanner = new Scanner(System.in); System.out.println(“输入的10个个位数为:”); for (int i = 0; i < 10; i++) { int number = scanner.nextInt(); num[i] = number; } for (int i = 0; i < num.length; i++) { System.out.print(num[i] + " “); if (num[i] == 1) { one++; } else if (num[i] == 2) { two++; } else if (num[i] == 3) { three++; } else if (num[i] != 1 && num[i] != 2 && num[i] != 3) { illegal++; } } System.out.println(”"); System.out.println(“数字1的个数为:” + one); System.out.println(“数字2的个数为:” + two); System.out.println(“数字3的个数为:” + three); System.out.println(“非法的个数为:” + illegal); // 简单法:System.out.println(“非法数字为”+(10-one-two-three)); } }

转载请注明原文地址: https://www.6miu.com/read-5037440.html

最新回复(0)