二维数组及代码块的概念

二维数组:

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

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

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


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

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

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


例如定义的具体类型:

int x;

int x,y ;

扫描二维码关注公众号,回复: 31082 查看本文章

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 ;

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

 


 

 

猜你喜欢

转载自blog.csdn.net/luzhu1234/article/details/79990828