方法与数组

本文详细介绍了Java中的方法,包括无参、带参方法的定义与调用,形参与实参的区别,带返回值的方法以及方法重载。此外,还深入讲解了数组的定义、特点、分类,一维数组和二维数组的声明、创建、初始化、遍历以及默认值。通过本文,读者将对Java中的方法和数组有更深入的理解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

方法

将具有独立功能的代码库组织成为一个整体,使其具有特殊功能的代码集

无参方法的定义

方法必须先创建才可以使用。

public static void 方法名称(){
	方法体;
}

无参方法的调用

方法定义之后不能直接运行,需要调用才可以执行。

方法名称();

每个方法在被调用执行的时候,都会被加载到栈内存(包括main方法),并且拥有自己独立的内存空间,方法内部的代码执行完毕之后,会从栈内存中出栈 ,释放空间

带参方法的定义

public  static  void  方法名称(参数类型  参数名称,参数类型  参数名称,······)

带参方法的调用

方法名称(参数1,参数2,参数3,....,参数n)

方法调用时,传入的参数的数量和类型必须和方法定义中的类型和数量相匹配。否则程序就会报错。

形参:方法定义时的参数

实参:方法调用时传递进来的参数

形参和实参的功能就是传递数据,发生方法调用时,实参的值会传递给形参

形参和实参的区别和联系

形参变量只有在方法被调用时才会分配内存,调用结束后就会被立即释放。所以形参变量只在方法内部有效,不能在方法的外部使用。

实参可以是常量 ,变量 ,表达式 ,方法等。无论实参是何种类型的数据,在进行方法的调用时,都必须有确定的值。

实参和形参在数量上 ,类型上,顺序上都必须严格一致。可以从实参类型自动转换成形参类型的除外,比如形参是float,实参是int,这完全是可以的。

方法调用中,发生的数据的传递是单向的。只能有实参传递给形参,而不能把形参反向传递给实参。一旦参数的传递完成,则实参和形参将不会有任何的关系。在方法的调用过程中,形参的值的改变不会影响实参。

带返回值的方法的定义和调用

public  static  返回值类型  方法名称(参数列表){
	······
	return  数据/变量;(类型必须和返回值类型匹配)
}

注意:return 后不要存在任何语句,是执行不到的

当一个方法的返回值类型是void 时可以有返回语句return;相当于返回空

方法使用引用类型作为形参和返回值

方法的参数传递:

值传递: 传递的数据本身

引用传递:传递的地址,传递的是一个引用 ,所以引用的只要是同一个地址空间,那么任何地方对空间内容的修改,都将引起该地址空间上的数据的变化,所有指向此地址的引用都会改变。

方法的重载

  • 形参的个数不同

  • 参数的类型不同

  • 不同类型的参数,如果顺序不同,也构成重载(只是名字不一样不算)

  • 方法的返回值类型不能作为方法是否重载的判断依据

数组

定义

相同类型数据的有序集合。

描述的是相同类型的若干数据。按照一定的先后次序排列组合。其中每一个数据称为元素,每个元素都可以通过数组的索引或者下标(角标)来定位

特点

1 数组本身是引用数据类型,而数组中的元素可以是任意类型(基本类型/引用类型)
2 创建数组对象会在内存中开辟一块连续的空间,而数组名中引用的是这块连续空间的首地址。
3 数组的长度一但确定 就不能修改。想要扩容只能创建一个新的数组。
4 数组中存储的数据的类型必须是相同的。

分类

维度: 一维数组 ,二维数组 ,三维数组 ,多维数组…

数据类型:

  • 基本类型的数组(整形数组,浮点型数组,字符型数组,布尔型数组)
  • 引用类型数组

一维数组

声明

数据类型[]  数组名;或  数据类型 数组名[];

创建数组

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

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

数组初始化

java中的数组必须先初始化,然后才能使用。

初始化:为数组中的元素分配内存空间,并为每一个元素赋值

方式

  • 动态初始化

数组声明和数组元素的分配空间及赋值分开进行。

格式: `数据类型[]  变量名 = new  数据类型[数组的长度]`
  • 静态初始化

在定义数组的同时就位数组元素分配空间并赋值

格式:`数据类型[] 变量名 = new 数据类型[]{数据1,数据2,数据3,...,数据n}`

此时在声明数组的时候 不需要的指定长度系统会根据给出的数据自动分配长度

简化格式:数据类型[] 变量名 = {数据1,数据2,数据3...,数据n}

默认值

byte,shot,int的默认值是 0
long类型的默认值0L
float ,double的默认值是0.0
char类型的默认值是"\u0000"
boolean的默认值是false
String为代表的引用类型的默认值是null

长度

用 数组名.length 获取

遍历

for(int i = 0 ; i < arr.length;i++){
}
for (int a : arr){
            System.out.println(a);
        }

二维数组

声明并创建

数据类型[][] 数组名 ; 或 数据类型 数组名[][]; 数组名 = new 数据类型[第一维长度] [第二维长度];

初始化

同一维数组一样,二维数组在创建的时候也可以初始化

int[][] arr1= {{2,3},{1,5},{3,9}};//初始化一个3行2列的整型二维数组
int[][] arr2= {{1,2,3},{1,5},{3,9}};//初始化一个3行的整型二维数组

遍历

//遍历二维数组的每一行
for (int i = 0; i < 二维数组.length; i++) {
     //遍历每一行中的每一列
    for (int j = 0; j < 二维数组[i].length; j++) {
        //二维数组[i][j]
    }
}

也可以使用增强for循环,与一维数组类似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

( ̄o ̄) =>(= ̄ ρ ̄=)

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值