java函数改变数组_JAVA--方法(函数)数组

1. 方法[掌握]1.方法的概念及作用

1. 概念:方法,也叫函数,但是一般在java中都叫方法,可以看成是一个可以完成独立功能的代码块,可以反复使用,每次使用都是独立的!存在于类的结构体

1) X + Y = Z;代入不同的值,可以求到不同的结果

2) 函数可以反复使用的!每次使用都是独立的

3) 完成了一个独立的功能

2. 作用:完成功能,数据的处理!方法可以拿来反复使用。每次使用都是独立的2. 认识方法

public static void main(String[] args){

}

1) public static修饰符: 修饰给与特殊意义

2) void:此处位置返回值类型,void 表示没有返回值(没有结果)-->写返回值的类型

3) main:方法名字(自定义名字)

4) (String[] args) : 一个形式参数,String[] 数据类型 args形式参数名字

形式参数: 本质没有值的;可以看成是有值的,在方法的内部完成功能的设计

5) {}:方法的结构体: 完成功能的设计

6) 存在于类的结构体3. 方法的语法:

返回值类型 方法名字( 形式参数 ){

}

1) 返回值: 必须有

2) 方法名字:必须有

3) 小括号: 必须有

4) 形式参数:根据需要设定,也可以没有形式参数

a. 方法可以看成完成功能的代码块

b. 举例说明:代码块看成豆浆机

豆浆机会有入口[ 说明 :放绿豆 黄豆 豆豆 ]

5) 大括号: 必须有: 但是功能语句可以任意写4.设计一个方法

需求:完成两个整数求和:

1.方法语法中,返回值 方法名字,参数列表(根据需要)

2.方法内部完成功能设计[ 求和 ]

例如: static int add(int a,int b){

int sum = a+b;

System.out.println(sum);

return sum;

}5. 方法的使用1. 使用方法的三种方式

1.一个方法在同一个类中,直接使用方法名+参数列表【数据类型,个数,顺序】,调用

2.一个方法如果有static修饰:应该通过类名.方法名++参数列表【数据类型,个数,顺序】

3.一个方法如果没static修饰,应该通过对象名.方法名+参数列表【数据类型,个数,顺序】2. 注意事项:

1) 对于方法的使用者而言,无需关心方法内部的实现

2) 同一个类中:静态方法不能调用非静态的方法

3) 同一个类中:非静态方法可以调用静态方法[ static]6.方法签名:

方法名字+参数列表[类型,顺序,个数]----->在使用一个类中的,一个方法的时候,确定到底使用的是哪个7. 方法重载:

在同一个类中,方法名字相同,参数列表不同

方法名:见名知意:方便我们调用方法8.方法return

① 方式:将方法运算的结果返回给方法调用着,方法内部将运算结果使用语句:

return -->值/变量/表达式;

② 方法返回值的位置,必须写与方法内部返回值的数据一致的数据类型

③ 注意:返回的是数据,不是变量或者表达式

④ 方法返回值的结果,怎么使用?

1.一个方法设计:return的数据类型,必须与方法返回值的类型一致

2.一个方法:内部代码只看结构的,不看值的

结论: ①如果一个方法的返回类型不是void,那么要求[不管方法里面做了什么事情]

都必须返回一个和返回值类型匹配的值

②对于结构体语句中写返回值:编译检查语法,只看结构不看值:

结构体中写了返回值不一定执行的到,编译语法会不通过!9.方法使用的常见问题

1. 忽略方法每次使用都是一次独立的使用

2. 对于执行执行顺序变得模糊

3. 方法调用错误,只使用了方法名字!缺少参数列表

4. 有返回值的方法使用

a) 使用了方法但是没有使用方法的结果值【 打印不出来结果 】

b) 主方法中已经使用方法,打印语句括号中再次调用方法使用结果【方法功能重复使用】

5. 没返回值的方法使用

a) 将没有返回值的方法【void】方法调用放入打印语句小括号

2.数组[掌握]1.什么是数组

可以定义一个变量容器,存放多个数据(连续存储空间)

概念:数组可以理解成在计算机中的多个连续的存储空间,里面可以按顺序存放多个类型相同的数据。1) 数组名 : 数组的名字

2) 数组元素 :就是存放在数组里面的数据

3) 数组索引 :就是数组里面连续存储空间的编号,从0开始

4) length :数组的属性长度 数组名.length拿到数组的长度

2.数组基本的语法

1. 动态创建之声明的同时赋值

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

int[] arr = new int[10];3.如何使用

1. 存值:数组名[索引位置] = 值;

2. 取值-->数组名[索引位置]

数组遍历4.JVM存储数据分析

1. 堆:可以理解为凡是new 出来的东西都放在这里面

2. 栈:主要存放一些变量容器名 (例如局部变量名,还可以存放局部变量 基本类型 数据值),4. 数组特点

1.一个数字一定定义好,数组长度不变

2.一个数组的数据类型,限定了数组存储空间,可以存储数据的类型

3.一个数组的存储空间,根据数据类型,为存储空间分配默认值

4.一个数组可以存储多个元素5.常见问题

1) 数组索引越界【索引,多了或者少了,不在一个数组的索引范围】

2) 空指针错误

3) 如果有返回值,不知道return写在哪6.数组的其他语法补充

1. 动态创建之先声明后赋值

数据类型 [] 数组变量名;

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

2. 静态创建之复杂写法

推荐写法:

1.声明的同时赋值

数据类型 [] 数组变量名 = new 数据类型[] {多个以英文逗号分隔的数据};

2.先声明后赋值

数据类型 [] 数组变量名;

数组变量名 = new 数据类型[] {多个以英文逗号分隔的数据};

3. 静态创建简写方式

1) 声明的同时赋值

数据类型[] 数组变量名 = {多个以英文逗号分隔的数据};--->比较常用的类型

3.打印数组

打印数组:希望可以把一个数组里面的数据都打印出来

1.遍历数组:每次都写代码,遍历数组很恶心

2.设计一个方法【打印数组】[1,2,3,4,5,6,7,8]

方式1.一个一个打印

方式2:先把所有的数据,做字符串拼接,最后在打印字符串就行了

4.方法参数传递[掌握]

什么是方法参数传递1) 值传递:方法传递的是值

a) 形式参数类型是基本数据类型

b) 基本类型数据传递的是值2) 值引用:方法传递的是值得引用

a) 形式参数类型是引用数据类型

b) 引用传递其实传的是地址值,形式参数类型是引用数据类型或数组。

c) 实际参数(数据)是对象(或数组),这时实际参数与形式参数指向同一个地址

d) 在方法执行中,对形式参数的操作实际上就是对实际参数的操作,这个结果在方法结束后被 保留了下来,所以方法执行中形式参数的改变将会影响实际参数。3) 值传递示例: 定义一个change 方法 和 int 形参

4) 注意:方法调用时,实际参数把它的值传递给对应的形式参数,相当于拷贝了一份值给形式参数, 所以方法执行中形式参数值的改变不影响实际参数的值。

a) 基本数据不影响原来的值

b) 引用数据不影响原来的地址值:

引用地址,引用的值,如果被改变,原来引用的的值所引用的值也会被改变,因为都是同一个引用5) 代码图例:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值