数组的定义和使用

本文通过三个实验展示了Java中一维数组和二维数组的定义、初始化及使用。实验1涉及一维数组的创建、赋值及输出;实验4介绍了如何通过二维数组存储矩阵并计算对角线元素之和;实验6讲解了静态初始化不同列数的二维数组并输出其行列信息。
摘要由CSDN通过智能技术生成

(一)一维数组的定义和使用

实验1 使用new操作符形式创建数组,要求定义一个ArrayDemo类,在该类的main方法中创建和使用数组,完成一个int型存储1到10的数的10元素的数组,并通过for语句完成1到10的赋值。并按照如下注释行编写代码。

​ //定义一个数组名为a的int型一维数组

​ //通过new操作符完成数组a的空间分配

​ //通过for语句给数组赋值

​ //使用for语句输出数组的值,输出个数使用数组的属性//length,不要直接使用数据

package com.song.array;

import java.util.Scanner;

public class ArrayDemo01 {
   public static void main(String[] args) {
       Scanner s = new Scanner(System.in);
       int[] a;//定义一个数组名为a的int型一维数组
       a = new int[10]; //通过new操作符完成数组a的空间分配
       for (int i = 0; i < a.length; i++) {//通过for语句给数组赋值
           a[i] = i;
       }
       for (int i = 0; i < a.length; i++) {//使用for语句输出数组的值,输出个数使用数组的属性length,不要直接使用数据
           System.out.println(a[i]);
       }
   }
}

(二)二维数组的定义和使用

实验4 求一个3*3矩阵对角线元素之和。

要求:定义一个ArrayDemo4类,在main方法中定义一个3行3列二维数组,然后从标准输入读入9个浮点数,计算输出该矩阵对角线元素(行列相同的元素)之和。

package com.song.array;
import java.util.Scanner;
public class ArrayDemo04 {
    public static void main(String[] args) {
        double[][] a = new double[3][3];
        Scanner sc = new Scanner(System.in);
        double sum1 = 0;
        for (int i = 0; i < a.length; i++) {
            for (int j = 0; j < a[i].length; j++) {
                double n = sc.nextDouble();
                if (i == j)
                    sum1 += n;
            }
        }
        System.out.println("正对角线之和是:"+sum1);
    }
}

(三)数组的静态初始化

实验6 数值类型数组的静态初始化,通过上机实验,分析如下二维数组(数组的数组)行列数,如果每行的列数不同,请分别说明出他的列数。

int[][] a = { { 1, 3, 2 }, { 2}};

int[][] b ={ { 1, 2, 3 }, { 2, 3, 9,4 }, { 1, 3, 4 ,6,8,10} };

要求:定义一个ArrayDemo6类,在main方法中静态定义数组a和b,然后使用数组名输出每个数组的行数和每行的列数,输出效果如下,程序中只能使用数组名,不能使用人工分析的结果:

数组a有2行

数组a的第1行有3列

数组a的第2行有1列

数组b有3行

package com.song.array;

public class ArrayDemo06 {
    public static void main(String[] args) {
        int[][] a = {{1, 3, 2}, {2}};
        int[][] b = {{1, 2, 3}, {2, 3, 9, 4}, {1, 3, 4, 6, 8, 10}};//静态定义数组a和b
        System.out.println("数组a有"+a.length+"行");
        for(int i=0;i<a.length;i++)
        {
            System.out.println("数组a的第"+(i+1)+"行有"+a[i].length+"列");//使用数组名输出每个数组的行数和每行的列数
        }
        System.out.println("数组a有"+b.length+"行");
        for(int i=0;i<b.length;i++)
        {
            System.out.println("数组b的第"+(i+1)+"行有"+b[i].length+"列");
        }
    }
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值