1. 方法概述

1.1 什么是方法

将好几串代码组成一个整体,这个整体就是方法。

2. 方法的定义和调用

2.1 方法定义

2.2 方法的调用

方法名()就可以调用方法

代码示例:
必须在main方法中调用方法,因为main是方法的入口。

运行结果:

2.3 方法调用过程

先从main方法开始,找到方法后再调用方法。

执行完第6步方法后,这个方法就算结束了,消失了,然后再执行方法后面的代码,如果没有就结束运行。

2.4 方法练习

3. 带参数方法的定义和调用

3.1 带参数方法定义

3.2 带参数的方法调用

3.3 形参和实参

形参:方法定义中未被赋值的参数。
实参:方法调用中赋值给形参的参数。

代码示例:

运行结果:

3.4 带参数方法练习

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

4.1 带返回值方法的定义

4.2 带返回值方法的调用

代码示例:

4.3 带返回值方法练习

5. 方法的注意事项

5.1 方法注意事项

如果想return返回值,方法中就必须添加数据类型。

5.2 方法的通用格式

6. 方法重载

6.1 方法重载概述

6.2 方法重载特点

方法名相同,参数不同,与返回值无关

代码示例:

运行结果:

注意:
方法重载与返回值无关
在调用的时候,Java虚拟机会通过参数的不同来区分同名的方法

6.3 方法重载练习

7. 方法重载的传递

7.1 方法重载传递(基本类型)

对于基本数据类型的参数,形式参数的改变,不会影响实际参数的值。

先运行main方法,栈内存中存放main方法。

运行 int number = 100; 栈内存中存放。

输出number的值,100;

调用change方法,也会被方法栈内存;

进入number方法,方法中有一个形参int number,栈内存中也会存放一个,新参的值由main方法中的number赋值,所以他也是100。

在进入change方法中,将change的新参number修改为200.

但是main方法中的number还是100,所以,对于基本数据类型的参数,形式参数的改变,不影响实际参数的值

第二次输出还是100.

7.2 方法参数传递(引用类型)

对于引用类型的参数,形式参数的改变,会影响实际参数的值。

我们来看看内存执行流程。
方法从main方法开始执行,存入栈内存。

执行int [ ] arr = {10,20,30}; ,左边放入栈内存,右边放入堆内存
因为,数组还有一种写法是,int [ ] arr = new int [] {10,20,30};,所以 数组为自己new了一块空间存放值。

输出arr[1] 的值,20

然后调用change方法,放入栈内存

运行change方法,将形参int [] arr放入栈内存,将实参arr(arr的内存地址为001)放入新参,

进入change方法,将形参arr[1]的值修改为200(因为main方法和change方法共用一个堆内存地址,所以是可以修改值的)

所以,对于引用类型的参数,形式参数的改变,影响实际参数的值。

7.3 案例

  • 数组遍历

 public static void main(String[] args) {
int arrays[] = {10,3,34,26,57};
getArray(arrays);
} public static void getArray(int arr[]){
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]);
}
}
  • 获取数据最大值

public static void main(String[] args) {
int arrays[] = {10,3,34,26,57};
int maxNum = getMax(arrays);
System.out.println(maxNum);
} public static int getMax(int[] num){
int max = num[0];
for (int i = 1; i < num.length; i++) {
if(max<num[i]){
max = num[i];
}
}
return max;
}

Java基础00-方法10的更多相关文章

  1. Java基础02 方法与数据成员

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 在Java基础01 从HelloWorld到面向对象,我们初步了解了对象(obje ...

  2. Java基础——clone()方法浅析

    一.clone的概念 clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象.所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象.那 ...

  3. Java基础(00)

    Java发展史 Java之父:詹姆斯.高斯林(James Gosling). SUN(Stanford University Network 斯坦福大学网络公司)产物. 1995年5月23日,java ...

  4. Java基础02 方法与数据成员(转载)

    对象中的数据成员表示对象的状态.对象可以执行方法,表示特定的动作. 此外,我们还了解了类(class).同一类的对象属于相同的类型(type).我们可以定义类,并使用该定义来产生对象.   调用同一对 ...

  5. java基础(6):方法

    1. 方法 1.1 方法概述 在我们的日常生活中,方法可以理解为要做某件事情,而采取的解决办法. 如:小明同学在路边准备坐车来学校学习.这就面临着一件事情(坐车到学校这件事情)需要解决,解决办法呢?可 ...

  6. Java基础之方法详解

    方法的所属性 在Java的语言中,方法相当于C语言中的函数,但是它与传统的函数也有着明确的不同:在结构化的语言中,函数是一等公民,整个程序是由一个个函数组成的:但是在面向对象的语言里,类是一等公民,整 ...

  7. 关于java基础_方法的简单习题

    package day05; import java.util.Arrays; /** * 方法作业 * @author ASUS * */ public class Demo6 { /* * 1.定 ...

  8. 【java基础】方法2

    让形参可变的方法 jdk1.5之后,java允许定义形参长度可变的参数,允许为方法指定数量不确定的形参. package object; public class VariableParam { // ...

  9. [ 转载 ] Java基础13--equals方法

    一.equals方法介绍 1.1.通过下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 public class TestEquals { 4 public s ...

  10. java基础—equals方法

    一.equals方法介绍 1.1.通过下面的例子掌握equals的用法 1 package cn.galc.test; 2 3 public class TestEquals { 4 public s ...

随机推荐

  1. Deep Learning部署TVM Golang运行时Runtime

    Deep Learning部署TVM Golang运行时Runtime 介绍 TVM是一个开放式深度学习编译器堆栈,用于编译从不同框架到CPU,GPU或专用加速器的各种深度学习模型.TVM支持来自Te ...

  2. GPU—加速数据科学工作流程

    GPU-加速数据科学工作流程 GPU-ACCELERATE YOUR DATA SCIENCE WORKFLOWS 传统上,数据科学工作流程是缓慢而繁琐的,依赖于cpu来加载.过滤和操作数据,训练和部 ...

  3. CodeGen编写自定义表达式标记

    CodeGen编写自定义表达式标记 CodeGen支持开发人员通过编写plug-in modules插件模块来定义自定义表达式标记的能力,以提供与这些标记相关联的逻辑.这种plug-in module ...

  4. mybatis在动态 SQL 中使用了参数作为变量,必须要用 @Param 注解

    如果在动态 SQL 中使用了参数作为变量,那么就要用 @Param 注解,即使你只有一个参数.如果我们在动态 SQL 中用到了 参数作为判断条件,那么也是一定要加 @Param 注解的,例如如下方法: ...

  5. 如何避免Nginx将url decode

    灵感来自:https://my.oschina.net/jastme/blog/528541 这是最近玩微服务架构遇到的一个情况,因为Spring Boot 1.5的网关不支持websocket的转发 ...

  6. csps考前的一些总结(然而可能并没有用)

    记录考前的一些复习和总结,如果没有特殊情况不再写新的题解了 图论: 一.最短路: 1.spfa算法中的vis数组记录的是有没有入队,防止多次入队,通过松弛操作来达到最优解 2.dijkstra算法的v ...

  7. React-Antd4的Form表单校验

    之前很少用react做项目,最近入职新公司,用的react,在自己的摸索过程中,慢慢会记录一些使用方法.今天简单记录一下使用antd 4.0版本的Form表单校验,直接代码. 需要购买阿里云产品和服务 ...

  8. 不管卷不卷,面试还是得问问你G1原理!

    所有的垃圾回收器的目的都是朝着减少STW的目的而前进,G1(Garbage First)回收器的出现颠覆了之前版本CMS.Parallel等垃圾回收器的分代收集方式,从2004年Sun发布第一篇关于G ...

  9. ASW 工作流最佳实践(二):使用 ASW 并发调用函数

    在音视频转码.ETL 作业处理.基因数据处理等诸多场景中,我们都可以通过工作流并行调用云函数,将任务进行并行处理,大大提高任务处理的吞吐量,满足应用场景的高实时性.高并发能力. 在<使用 ASW ...

  10. NAT网络地址转换技术

    NAT网络地址转换技术 目录 一.NAT概述 1.1.概述 1.2.NAT 的应用场景 二.NAT的类型及配置命令 2.1.静态NAT 2.2.动态NAT 2.3.Easy IP 2.4.NATP 2 ...