数组(二维数组)

定义:

二维数组和多于二维数组的数组统称为多维数组.

5.3.1二维数组

1.二维数组的创建

(一)声明二维数组方法:1,数组元素类型 数组名字[][];

                        2,数组元素类型 [][]数组名字;

<例>:int myarr[][];

(二)为二维数组分配内存

<例>:1,    a=new int[2][4];//为二维数组分配内存空间,分配后二维数组a拥有两个长度是4的一维数组.

         2,    a=new int[2][];

                a[0]=new int[2];

                a[1]=new int[3]; 

2.二维数组的初始化

方法与一维数组类似,同样可以使用大括号完成二维数组的初始化.

语法:  type arrayname[][]={value1,value2,```valuen};

*1,type:数组数据类型.

*2,arrayname:数组名称,一个合法的标识符.

*3,value:数组中各元素的值.

<例>:int marr[][]={{12,0},{45,10}};

//12   0

  45   10

对于整个二维数组,创建成功后系统会自动赋给数组中每个元素初始化值0.

3.遍历二维数组

(1)利用for嵌套

(2)利用foreach

foreach简写为for:for(变量类型[]变量名1:数组名)

{

for(变量类型[]变量名2:变量名1)

{

System.out.println();

}

}

package 基本数据类型;

public class 二维数组 {

    public static void main(String[] args) {
        //二维数组        //行 列
        int [][]e=new int [2][3];
        e[0][0]=0;
        e[0][1]=1;
        e[0][2]=2;
        e[1][0]=3;
        e[1][1]=4;
        e[1][2]=5;
        System.out.println("e[0][1]="+e[0][1]);
        System.out.println("e.length="+e.length);
        System.out.println("e[0].length="+e[0].length);
    //遍历二维数组
        //(方法一)
        for(int i=0;i<=1;i++)
        {
            for(int j=0;j<=2;j++)
            {
                System.out.print("e[i][j]="+e[i][j]+" ");
            }
            System.out.println();
        }
        //方法二
        for(int []t:e)
        {
            for(int y:t)
            {
                System.out.print(y+"");
            }
            System.out.println();
        }
        //赋值方式(最常用)
        int[][]k=new int[][]{{1,2,3,4},{5,6,7},{8,9},{0}};
        //遍历不规则的二维数组用foreach简单,for嵌套难处理
        for(int []t:k)
        {
            for(int y:t)
            {
                System.out.print(y+" ");
            }
            System.out.println();
        }
    }

}
答案:
e[0][1]=1
e.length=2
e[0].length=3
e[i][j]=0 e[i][j]=1 e[i][j]=2 
e[i][j]=3 e[i][j]=4 e[i][j]=5 
012
345
1 2 3 4 
5 6 7 
8 9 
0 

 练习:

 1 //练习  创建二维数组,将所有元素之和输出
 2         int arr[][]=new int[][]{{1,2,3},{4,5,6}};
 3         int sum=0;
 4         for(int []i:arr)
 5         {   
 6             for(int j:i)
 7             {
 8                 System.out.print(j+" ");
 9                 sum+=j;
10             }
11         }
12         System.out.println("数组和是:"+sum);
13   
14 
15 
16 输出:1 2 3 4 5 6 数组和是:21

 

转载于:https://www.cnblogs.com/panyiquan/p/5225709.html

MATLAB主动噪声和振动控制算法——对较大的次级路径变化具有鲁棒性内容概要:本文主要介绍了一种在MATLAB环境下实现的主动噪声和振动控制算法,该算法针对较大的次级路径变化具有较强的鲁棒性。文中详细阐述了算法的设计原理与实现方法,重点解决了传统控制系统中因次级路径动态变化导致性能下降的问题。通过引入自适应机制和鲁棒控制策略,提升了系统在复杂环境下的稳定性和控制精度,适用于需要高精度噪声与振动抑制的实际工程场景。此外,文档还列举了多个MATLAB仿真实例及相关科研技术服务内容,涵盖信号处理、智能优化、机器学习等多个交叉领域。; 适合人群:具备一定MATLAB编程基础和控制系统理论知识的科研人员及工程技术人员,尤其适合从事噪声与振动控制、信号处理、自动化等相关领域的研究生和工程师。; 使用场景及目标:①应用于汽车、航空航天、精密仪器等对噪声和振动敏感的工业领域;②用于提升现有主动控制系统对参数变化的适应能力;③为相关科研项目提供算法验证与仿真平台支持; 阅读建议:建议读者结合提供的MATLAB代码进行仿真实验,深入理解算法在不同次级路径条件下的响应特性,并可通过调整控制参数进一步探究其鲁棒性边界。同时可参考文档中列出的相关技术案例拓展应用场景。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值