二维数组及代码块的概念

二维数组:

数据类型] [ ] 数组名 = new 数据类型[m][n] ;

m:代表当前二维数组中有多少个一维数组

n:代表每一个一维数组中的长度


定义的方式还有以下两种情况

数据类型[ ] 数组名[ ] = new 数据类型[m][n]

数据类型 数组名[ ][ ] = new 数据类型[m][n]


例如定义的具体类型:

int x;

int x,y ;

int[ ] x ;

int [ ] x,y[ ];

二维数组定义的第二种格式:

数据类型[ ][ ] 数组名 = new 数据类型[m][ ];

只给定有m个一维数组,每一个一维数组长度动态给定

 

二维数组的格式3

静态初始化

数据类型[ ][ ] 数组名称 = {{元素1,元素2,元素3},{....}};

 

给定一个二维数组,静态初始化,遍历其中每个元素

    for(int x = 0 ; x < arr.length ; x ++) {

        for(int y = 0 ; y < arr[x].length ; y++) {

            System.out.print(arr[x][y]+" ");

                    }

  }

 

关于代码块的概述:

{ }括起来的代码,统称为代码块;

根据其位置以及声明不同,分为以下分为以下:

    局部代码块:main()里面,给变量限定它的生命周期

    构造代码块:在一个类中的成员位置中,用{}括起来,

    作用:可以将多个构造方法中的相同的代码放到构造代码块中,对对象进行初始化.在每次执行构造方法之前,先执行构造代码块

    静态代码块:在一个类的成员位置,也是用{}包起来,但是他被static修饰

    作用:一般情况它的作用给类进行初始化

这里有一个面试题:

构造代码块,构造方法,静态代码的优先级?

静态代码块>构造代码块>构造方法

静态代码:只能执行一次

构造代码块在每次执行构造方法之前都会被执行

 

方法重写:

由于子类继承父类的时候,提供一模一样的方法声明,所以会将父类该方法覆盖掉(重写,复写)

有时候(具体的需求),不需要子类重写父类的功能,针对这种情况,Java提供了一个关键字:final最终的,终态的意思


final不仅可以修饰基本数据类型,还可以修饰引用类型

如果final修饰的是一个基本数据类型: 基本数据类型的值不能再改变了

如果final修饰的是一个引用类型数据: 引用类型的地址值不能再改变了,但是堆内存中的成员变量的值可以改变。

final的初始化时机:

1)被final只能被赋值一次(final int a = 10 )

final int a ;

在使用之前进行初始化,赋值(在构造方法之前赋值) (非静态的...)

 


 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值