12月4日-12月7日复习数组,方法,二维数组及多维数组

数组

数组指的是一种容器,可以用来存储同种数据类型的多个值,需要结合隐式转换考虑。

例如 double类型的数组可以存(byte,short,int,long,float,double)类型的值。

格式一:

数据类型[] 数组名

例 int[] array

格式二:

数据类型 数组名[]

例 int array[]

数组的静态初始化

初始化:就是在内存中,为数组容器开辟空间,并将数据存入容器中的过程

完整格式:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,......};

直接打印数组时,打印的是数组的地址值而不是元素

        索引

索引也叫做下表,角标。

索引的特点:从0开始,逐个加1增长,连续不间断。

获取数组里面的元素

格式:数组名[索引]

赋值 例 arr[0] = 100把100赋值给0索引对应的元素

关于数组的长度属性 length

调用方法:数组名.length

数组动态初始化:初始化时,只指定数组长度,由系统为为数组分配初始值。

格式:数据类型[] 数组名 = new 数据类型[数组长度];

例: interesting[] arr = new int[3];

        生成随机数

Random r = new Random();

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

int number = r.nextInt(x(上界))+1;

arr[i] = number;

}

当两个数组同时指向同一个空间时,其中一个数组对小空间的值发生了改变,那么其他数组再次访问的时候都是修改之后的结果了。

方法

是程序中最小的执行单元,重复的的代码,具有独立功能的代码可以抽取到方法中。

方法定义:把一些代码打包在一起,该过程成为方法定义

方法调用:方法地影后并不是直接运行的,需要手动调用才能执行,该过程成为方法调用。

方法定义格式:

public static void 方法名(){       public static void playgame(){

方法体(打包起来的代码);                   System.out.println();

}                                                         }

调用格式:

方法名();

带参数的方法

例 public static void method(int num1,int num2){

int result = num1+num2;

System.out,println(result);

}

调用时 method(10,20);method(20,30);

形参和实参

形参:全称形式参数,是方法定义中的参数。

实参:全称实际参数,方法调用中的参数。

带返回的方法定义及调用

格式: public static 返回值类型 方法名(参数){ 例:public static int getSum(int a,int b){

方法体:                                                                                int c = a+b;

return 返回值;                                                                        return c;

}                                                                                                }

1.直接调用:方法名(实参);

2.赋值调用:整数类型 变量名 = 方法名(实参);

3.输出调用:System.out.println(方法名(实参));

方法与方法之间是平级关系,不能互相嵌套定义;

方法的返回值类型为void,表示该方法没有返回值没有返回值的方法可以省略return语句。如果要编写return,后面不能跟具体的数据。

return表示结束程序(方法)。

方法的重载

在同一个类中,定义了多个同名的方法,这些同名的方法具有同种功能。每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系。

        伪造索引

把原始数组从x到y上对应的元素拷贝到新数组中。

int index = 0;

for(int i=from;i<to;i++){

newArr[inndex] = arr[i];

index++;//index即为伪造的索引

}

        方法的内存

传递基本数据类型时,传递的是真实的的数据,形参的改变,不影响实际参数的值。(需要添加返回值)

传递引用数据类型时,传递的是地址值,形参的改变,影响实际参数的值。(数组属于引用类型)

二维数组及多维数组

二维数组其实是数组中存数组

当我们需要把数据分组管理的时候,就需要用到二维数组

格式:数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2},{元素1,元素2}};

简化格式:数据类型[][] 数组名 = {{元素1,元素2},{元素1,元素2}};

int[][] arr = new int[][]{{1,2,3},{4,5,6,7,8}};

arr[0]:二维数组中的第一个一维数组

arr[0][0]:获取第一个一维数组中0索引的元素。

动态初始化

int[][] arr = new int[3][5];(3:3个一维数组,5:每个一维数组都有五个元素)

arr[0][0] = 10;把10赋值给第一个一维数组的第一个元素

特殊情况一:

int[][] arr = new int[2][];仅定义两个一维数组,未定义一维数组长度。

int[] arr1 = {11,22};

int[] arr2 = {44,55,66};

arr[0] = arr1;

arr[1] = arr2;

特殊请何况2:

int [][] arr = new int [2][3];

int [] arr1 = {11,22};

int[] arr2 = {44,55,66};

arr[0] =arr1;

arr[1] = arr2;

此时原来的二维数组中的一维数组将被新的数组覆盖。

多维数组和二维数组原理相同都是存储数组。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值