ArrayDemo1

本文介绍了Java中数组的两种初始化方式:动态初始化和静态初始化,并通过示例代码展示了如何创建和访问数组元素。
package java基础知识.数组和常用算法;

public class ArrayDemo1 {

	/**
	 * @param 内存演示案例和数组的第二种格式
	 * 元素类型[] 数组名 = new 元素类型 []{元素,元素,元素....}
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int []arr1 = new int [3];
		arr1[1]=23;
		int []arr2 =arr1;
		arr2[2]=35;
		System.out.println(arr1[0]);
		System.out.println(arr1[1]);
		System.out.println(arr1[2]);
		int []arr =new int [] {1,2,3,4,5};
		/*
		 * 给出了元素,并且知道了元素个数
		 * 元素是有限个,采用这种方式,这种方式称之为静态初始化
		 * 第一种方法是叫动态初始化
		 * */
		//访问数组中的元素
		System.out.println(arr[0]);
		System.out.println(arr[1]);
		System.out.println(arr[2]);
		System.out.println(arr[3]);
		System.out.println(arr[4]);
	}

}

一、实验名称 Java数组的使用 二、实验目的 掌握Java中数组的定义与初始化方法 理解数组的内存分配机制 学会使用数组进行数据的存储和访问 掌握数组的基本操作(遍历、排序、查找等) 了解多维数组的使用方法 培养解决实际问题的数组应用能力 三、实验步骤 实验步骤1:一维数组的基本操作 代码示例1:数组的定义与初始化 java public class ArrayDemo1 { public static void main(String[] args) { // 1. 静态初始化数组 int[] staticArray = {10, 20, 30, 40, 50}; // 2. 动态初始化数组 int[] dynamicArray = new int[5]; dynamicArray[0] = 1; dynamicArray[1] = 3; dynamicArray[2] = 5; dynamicArray[3] = 7; dynamicArray[4] = 9; // 3. 打印数组内容 System.out.println("静态初始化数组:"); printArray(staticArray); System.out.println("\n动态初始化数组:"); printArray(dynamicArray); } // 辅助方法:打印数组 public static void printArray(int[] arr) { for (int i = 0; i < arr.length; i++) { System.out.print(arr[i] + " "); } } } 实验要求: 编写上述代码并运行 观察数组长度与元素数量的关系 尝试访问数组越界元素(如staticArray[5]),观察异常信息 实验步骤2:数组的遍历与操作 代码示例2:数组的常见操作 java import java.util.Arrays; public class ArrayDemo2 { public static void main(String[] args) { int[] numbers = {5, 2, 8, 1, 9, 3}; // 1. 计算数组元素总和 int sum = 0; for (int num : numbers) { sum += num; } System.out.println("数组元素总和: " + sum); // 2. 查找最大值 int max = numbers[0]; for (int num : numbers) { if (num > max) { max = num; } } System.out.println("数组最大值: " + max); // 3. 数组排序 Arrays.sort(numbers); System.out.println("排序后数组: " + Arrays.toString(numbers)); // 4. 数组复制 int[] copy = Arrays.copyOf(numbers, numbers.length); System.out.println("复制后的数组: " + Arrays.toString(copy)); } } 实验要求: 实现上述代码 尝试使用不同方法实现数组排序(如冒泡排序) 编写方法实现数组反转 实验步骤3:多维数组的使用 代码示例3:二维数组操作 java public class MultiArrayDemo { public static void main(String[] args) { // 1. 定义并初始化二维数组 int[][] matrix = { {1, 2, 3}, {4, 5, 6}, {7, 8, 9} }; // 2. 打印二维数组 System.out.println("二维数组内容:"); print2DArray(matrix); // 3. 计算对角线元素和 int diagonalSum = 0; for (int i = 0; i < matrix.length; i++) { diagonalSum += matrix[i][i]; } System.out.println("主对角线元素和: " + diagonalSum); // 4. 动态创建不规则二维数组 int[][] jaggedArray = new int[3][]; jaggedArray[0] = new int[2]; jaggedArray[1] = new int[3]; jaggedArray[2] = new int[4]; // 填充不规则数组 int count = 1; for (int i = 0; i < jaggedArray.length; i++) { for (int j = 0; j < jaggedArray[i].length; j++) { jaggedArray[i][j] = count++; } } System.out.println("\n不规则二维数组:"); print2DArray(jaggedArray); } // 辅助方法:打印二维数组 public static void print2DArray(int[][] arr) { for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[i].length; j++) { System.out.print(arr[i][j] + "\t"); } System.out.println(); } } } 实验要求: 实现上述代码 尝试实现矩阵转置 编写方法计算二维数组中所有元素的和 实验步骤4:数组应用实例 代码示例4:学生成绩统计系统 java import java.util.Scanner; public class StudentScoreSystem { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print("请输入学生人数: "); int studentCount = scanner.nextInt(); // 存储学生成绩 double[] scores = new double[studentCount]; // 输入学生成绩 for (int i = 0; i < studentCount; i++) { System.out.print("请输入第" + (i+1) + "个学生的成绩: "); scores[i] = scanner.nextDouble(); } // 计算平均分 double sum = 0; for (double score : scores) { sum += score; } double average = sum / studentCount; // 找出最高分和最低分 double max = scores[0]; double min = scores[0]; for (double score : scores) { if (score > max) max = score; if (score < min) min = score; } // 输出统计结果 System.out.println("\n成绩统计结果:"); System.out.println("学生人数: " + studentCount); System.out.println("平均分: " + String.format("%.2f", average)); System.out.println("最高分: " + max); System.out.println("最低分: " + min); scanner.close(); } } 实验要求: 实现上述代码 扩展功能:添加成绩排序功能 扩展功能:统计各分数段人数(如90-100, 80-89等) 根据以上写出示例
06-11
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值