方法、数组以及栈内存和堆内存讲解

方法:

在java中,方法就是用来完成解决某件事情或实现某个功能的办法;被{}包裹起来,便于重复使用。

方法格式:

修饰符  返回值类型 方法名(参数类型 参数名,参数类型 参数名){
方法体;
return 返回值;
}

方法的格式解释:

修饰符:来限制这个方法的访问权限.

返回值类型:就是当你的方法执行完毕之后,需要返回给调用者的一个结果,这个结果需要一个明确的数据类型(其实就是这个方法返回的数据类型)

方法名:其实就是方法的名字,只要符合命名规则都可以(以后我们调用方法其实就是根据名字来调用)

参数:

实际参数:就是进行参与运算的参数

形式参数:一般定义在方法上面,只用于接收实际参数的值

参数类型:就是参数的数据类型,可以理解为变量

参数名:就是参数的名字 也就是变量名

方法体:就是这个方法里面需要执行的代码,可以放任意代码(除了类和方法)

return:结束这个方法

返回值:就是这个功能需要返回的结果,这个结果由return带回,而且结果的数据类型必须和返回值类型匹配

要想写好一个方法,就必须明确两个东西

a.返回值类型

结果的参数类型

b.参数列表

也就是这个方法需要调用者传递几个参数过来

方法的执行特点:不调用,不执行。

如何调用?

a.单独调用,一般来说 没有什么具体意义 因为返回值你没有办法获取到

b.赋值调用,推荐使用 因为获取到的这个返回值 你可以无限使用

c.输出调用

如果没有明确返回值怎么办?

java提供了一个关键字:void

当你的方法没有返回值的时候,写上void即可,那么也不再需要写return带回返回值(当然可以写return来结束方法)。

当你返回值为void的时候,只能使用单独调用来执行方法,输出、赋值调用均不可用。

方法的注意事项:

1.方法不调用不执行

2.方法和方法是平级关系,不能存在嵌套

3.方法在调用的时候,必须要传递相对应的参数

4.如果你的方法有明确的返回值类型,那么你就必须要携带返回值

java方法中形式参数传递的问题:

基本数据类型:形式参数的改变不会影响到实际参数

引用数据类型:形式参数的改变会直接影响到你的实际参数

方法重载:

在讲标识符命名的时候,强调过,我们命名的时候,一定要见名之意。Java提供了一种方法名相同,参数列表不用,与返回值无关的解决方案他有一个专业的叫法:方法重载

在同一个类当中,方法名相同,参数列表不同,与返回值类型无关

参数列表不同

参数个数不同

参数类型不同

数组:

Java提供了一种一个能够存储N个同类型数据的容器,这种容器被称之为数组。

格式:

a.数据类型[] 数组名;

b.数据类型 数组名[];

举例:

a.int[] a;

b.int a [];

注意:上面两种格式的效果都是一样,都是定义了一个int数组,一般我们使用的是第一种

那么数组没有初始化用不了,如何初始化?

a.何谓数组初始化?就是为数组开辟内存空间,并且为每个数组严元素进行赋值

b.初始化方式

a.动态初始化:只给数组指定长度,有系统给予默认值

b.静态初始化:只给出初始化值,由系统来决定长度

动态初始化格式:

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

举例:

int [] arr = new int[20];

静态初始化格式:

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

举例:

int [] arr = new int[] {15,35,36,37};

简化格式:

int [] arr = {15,35,36,37};

Java为了提高程序的执行效率,对数据进行不同的空分配,具体如下:

栈内存:存放Java语言的所有局部变量(方法定义中,或者方法声明上)

堆内存:存放java中所有new出来的东西

方法区:在一个jvm实例的内部,类型信息被存储在一个称为方法区的内存逻辑区中。类型信息是由类加载器在类加载时从类文件中提取出来的。类(静态)变量也存储在方法区中。

本地方法区:由系统进行交互

寄存器:由CPU进行管理

堆内存特点:

1.每个new出来的东西都有地址值

2.每一个变量都会有默认值

变量默认值
float/double0.0
btye/short/int/long0
booleanfalse
引用数据null

3.堆内存是数据使用完毕后会变成垃圾,但是不会立即回收,会在垃圾回收器空闲的时候进行回收

栈内存特点:

栈内存数据使用完毕后,立刻释放

注意事项:

栈内存的多个应用,指向同一个人堆内存。不管是哪个栈内存进行操作,其实指向的都是同一个堆内存

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值