7月30日

方法的定义

修饰符 返回值类型 方法名(参数列表,参数列表){
代码
return 结果;
}

修饰符:目前固定写成我们的public static。

返回值类型:表示方法运行的结果,方法执行后将结果返回给调用者。

参列表:方法运行过程中的未知数据,调用者调用方法时传递。

return:表示将执行结果返回给我们的调用者,也表示我们方法的结束。

定义方法的两个明确

需求:

定义一个方法实现两个整数的和:

明确返回值类型:方法计算整数和,结果必然是整数,返回值类型确定了,是int类型

明确参数:计算哪两个整数和,并不知道,但是可以确定是两个整数,所以参数列表是两个int类型:
在这里插入图片描述

定义方法的注意事项

定义位置:类中方法的外边

返回值类型:必须要和return语句返回的类型相同,否则编译出错。

调用方法的三种形式:

第一种

直接方法名调用:
在这里插入图片描述
第二种

赋值调用,调用方法,在方法面前定义变量,接受方法的返回值:
在这里插入图片描述
第三种

输出语句中调用:
在这里插入图片描述
注意:输出语句调用方法,方法必须有返回值。

方法的重载(Overload)

方法的重载:就是在一个类中,方法的名字一样,但是他们的参数列表不一样,就可以。(与返回值和修饰符没关系)。

参数列表:个数不一样,数据类型不一样,顺序不一样。

重载方法的底层:jvm通过方法的参数列表,去调用不同的方法。
在这里插入图片描述

数组定义和访问

容器的概念

是将多个数据存储在一起,每个数据称为该容器的元素。

数组的概念

数组就是存储数据长度固定的容器,保证多个数据的数据类型一致。

定义数组

格式:

数组存储的数据类型 [] 数组的名字=new 数组存储的数据类型[数组的长度];

数组存储的数据类型:创建的数据容器可以存放的数据类型。

[]:表示我们的数据。

数组名字:为定义的数组起个变量名,满足标识符规则就可以。

new :关键字,创建数据使用的关键字。

[数组的长度]:能够在容器存放的数据的大小。

//数组有特定长度,长度一旦指定,不能更改

定义数组的方法

第一种(偏多)
在这里插入图片描述
第二种

数据类型 [] 数组的名字=new 数据类型[]{1,2,3,4,5,6,7};
在这里插入图片描述
第三种(偏多)

数据类型 [] 数组名={元素1,元素2,元素3};
在这里插入图片描述

数组的访问

索引:每一个存储到数组的元素,都会自动拥有一个编号,从0开始,这个自动编号成为数组的下标(索引),可以通过数组的索引去访问我们的数组中的元素。

格式:数组名[索索引值]。

数组的长度的特性:每一个数组都具有长度,而且是固定,java中赋予了数组一个属性,可以获取我们的数组的长度,语法:数组名.length ,属性length的执行结果是数组的长度,由此可以推断,我们的数组的最大索引值就是我们的数组名.length-1。

数组原理的内存图

内存概念

内存是计算中重要的原件,临时存储区域,作用就是运行程序,我们的编写的程序存放在硬盘中,在硬盘中程序是不能运行,必须放进我们的内存中才能运行,运行完毕后会清除内存。

java虚拟机(jvm)中的内存划分

为了提高效率,就对空间进行了划分,每一个区域都有特定的处理数据的方式和内存管理方式。

jvm内存划分:

寄存器:给cpu使用,和我们开发没啥关系

本地方法栈:jvm在使用操作系统功能的时候使用,与开发也没关系。

方法区:存储运行的class文件

堆内存:存储对象或者数组,new出来的都放在那个里面。

方法栈:方法运行时使用的内存,比如main运行时,进入我们方法栈。

数据结构:

栈:先进后出(子弹)

队列:先进先出

一个数组的内存图
在这里插入图片描述
1、main方法进入我们的方法栈。

2、创建数组,jvm在我们的堆内存中开辟空间。

3、数组在我们堆内存当中会有一个地址。

4、数组中有3个元素,默认值是0。

5、jvm将数组的内存地址赋值给变量arr。

6、变量arr保存的是数组内存中的地址,而不是一个具体的数值,因此称为引用数据类型。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数组作为方法参数和返回值

以前我们方法中有参数和方法返回值,但是使用的都是基本类型,那么我们引用类型的数组作为我们的方法的参数应该怎么办。

1.数组作为我们的参数去传递,传递的参数是数组的内存地址。
在这里插入图片描述
2.数组作为我们的返回值。
在这里插入图片描述
例子
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值