数组与方法

一、数组
1. 定义
数组是存储多个相同类型数据的集合。

2. 格式
数据类型 [ ] 变量名
示例:int [] arr

3. 数组初始化的方式
(1)动态初始化
定义:在初始化数组时只给定数组的长度,不给定具体的数值。

格式:数据类型[] 变量名=new 数据类型[数组长度]
代码如下(示例):

int[] arr=new int[5];
1
(2)静态初始化
定义:在初始化数组时不给定数组的长度,给定具体的数值,让计算机自己算出长度。通常会用到length,具体用法见下面。

代码如下(示例):

int[] arr={1,2,3,4,5,6};
int a=arr.length;//这个就是求长度的代码
1
2
两者初始化的区别:在定义的时候是否写出具体的长度。

4. 数组的元素访问
数组变量访问:数组名
数组內部数据的访问:数组名[索引]

索引是数组中数据的编号方式
作用:索引用于访问数组中的数据使用,数组名[索引]等同于变量名,是一种特殊的变量名
特征①:索引从0开始
特征②:索引是连续的
特征③:索引逐一增加,每次加1

5. 内存分配
栈内存:存储局部变量,定义在方法中的变量,例如:arr;使用完毕,立即消失

堆内存:存储new出来的内容(实体,对象)
数组在初始化时,会为存储空间添加默认值
整数:0
浮点数:0.0
布尔:false
字符:空字符
引用数据类型:null
每一个new出来的东西都有一个地址值
使用完毕,会在垃圾回收器空闲时被回收

6. 数组操作的两个常见小问题
(1)索引越界
代码中访问的索引超出范围;
代码如下(示例):

int[] arr={1,2,3,4,5,6};
int a=arr[6];错误
int b=arr[1];//0~5都可以
1
2
3
(2)空指针异常
访问的数组已经不指向之前的堆内存的数据
代码如下(示例):

int[] arr = new int[3];
System.out.println(arr[2]);//把 null赋值给数组
arr = null;//输出元素         
System.out.println(arr[0]);
1
2
3
4
二、二维数组
1. 定义
存储多个一维数组。

2. 格式
数据类型 [ ][ ] 变量名
示例:int[][] arr
二维数组的声明有多种;例如,int[][] y;int[] y[]; int y[][]

3. 输出二维数组
代码如下(示例):

int[][] arr={{1,2,3},{4,5,6}};
for(int i=0;i<arr.length;i++){
    for(int j=0;j<arr[i].length;j++){
        System.out.print(arr[i][j]+"\t");
    }
    System.out.println();//换行
}
1
2
3
4
5
6
7
4. 二数组的动态初始化
格式:数据类型 [ ][ ] 变量名=new 数据类型[ ][ ]

代码如下(示例):

int[][] arr=new int[5][5];
1
注意:每次都要判断(int[ x ][ y])中x是否存在。判空的操作。

5. 实例:杨辉三角
代码如下(示例):

public class project1 {
    public static void main(String[] args) {
        int yanghui[][]=new int[10][];
        for (int i=0;i<yanghui.length;i++){
            yanghui[i]=new int[i+1];
            for (int j=0;j<yanghui[i].length;j++){
                if (j==0||j==yanghui[i].length-1){
                    yanghui[i][j]=1;
                }else {
                    yanghui[i][j]=yanghui[i-1][j]+yanghui[i-1][j-1];
                }
            }
        }
        for (int i=0;i<yanghui.length;i++){
            for (int j=0;j<yanghui[i].length;j++){
                System.out.print(yanghui[i][j]+" ");
            }
            System.out.println();
        }

    }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
三、方法
1. 定义
将具有独立功能的代码组织成为一个整体,使其具有特殊功能的代码集。

2. 格式
public static void 方法名(){
//方法体
}

3. 方法的调用
格式:方法名();
例如:arr();
方法必须是先定义后调用,否则程序报错。

(1)带参数的方法
格式:
public static void 方法名(参数){…}
单个参数:public static void 方法名(数据类型 变量名){…}
多个参数:public static void 方法名(数据类型 变量名1,数据类型 变量名2,…){…}
调用:方法名(参数)

(2)带返回值的方法
格式:
public static 数据类型 方法名(参数){
return 数据;
}
调用:数据类型 变量=方法名(参数);

3. 方法重载
(1)定义
方法重载是指在一个类中定义多个同名的方法,但要求每个方法具有不同的参数的类型或参数的个数。 

(2)方法重载的运用:
多个方法在同一个类中。 
多个方法具有相同的方法名。 
多个方法的参数不相同,类型不同或者数量不同。
————————————————
版权声明:本文为CSDN博主「^_^白心火龙果」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/m0_51064043/article/details/120145178

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
实验目的:掌握Java数组方法的使用方法,并能够编写简单的程序进行综合应用。 实验内容: 1.数组的使用 数组Java中最基本的数据结构之一,它可以存储一系列相同类型的数据。Java中的数组是一个对象,可以通过new操作符进行创建。数组的长度在创建时就已经确定,并且不能改变。Java中的数组可以是一维的,也可以是多维的。 数组的使用步骤: (1)声明数组 语法:数据类型[] 数组名; 例如:int[] arr; (2)创建数组 语法:数组名 = new 数据类型[数组长度]; 例如:arr = new int[10]; (3)给数组元素赋值 语法:数组名[下标] = 值; 例如:arr[0] = 1; (4)访问数组元素 语法:数组名[下标]; 例如:int a = arr[0]; 2.方法的使用 方法Java中的一个重要概念,它可以将一段代码封装成一个单元,使得代码更加模块化和易于维护。Java中的方法分为两种:静态方法和实例方法。静态方法属于类,可以通过类名直接访问,而实例方法属于对象,需要先创建对象才能访问。 方法的使用步骤: (1)声明方法 语法:修饰符 返回值类型 方法名(参数列表) { 方法体 } 例如:public static void printHello() { System.out.println("Hello"); } (2)调用方法 语法:方法名(参数列表); 例如:printHello(); 实验步骤: 1.创建一个一维整型数组,用来存储5个学生的成绩,然后计算平均分并输出。 代码实现: ```java public class ArrayDemo { public static void main(String[] args) { int[] scores = {90, 85, 92, 88, 95}; int sum = 0; for (int i = 0; i < scores.length; i++) { sum += scores[i]; } double avg = (double) sum / scores.length; System.out.println("平均分为:" + avg); } } ``` 2.创建一个方法,用来计算两个整数的和,并在主函数中调用该方法并输出结果。 代码实现: ```java public class MethodDemo { public static int add(int a, int b) { return a + b; } public static void main(String[] args) { int result = add(5, 3); System.out.println("5 + 3 = " + result); } } ``` 实验结果: 平均分为:90.0 5 + 3 = 8 结论: 通过本次实验,我掌握了Java数组方法的基本用法,并成功编写了相应的程序进行综合应用。在实际开发中,数组方法是非常常用的数据结构和代码封装方式,能够提高程序的可读性和可维护性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值