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. CPU消耗,跟踪定位理论与实践

    CPU消耗,跟踪定位理论与实践 一.性能指标之资源指标定位方案 1.打tprof报告方法 抓取perfpmr文件 60秒. perfpmr.sh 60 从结果文件中取出tprof.sum 或直接抓取t ...

  2. C++ 扩展 Op

    C++ 扩展 Op 本文将介绍如何使用 C++ 扩展 Op,与用 Python 扩展 Op 相比,使用 C++ 扩展 Op,更加灵活.可配置的选项更多,且支持使用 GPU 作为计算设备.一般可使用 P ...

  3. Paddle Release Note

    Paddle Release Note 重要更新 飞桨paddle框架2.0.0版本有如下重要更新: 编程范式:默认开启动态图模式进行模型开发和训练,通过动转静的方式进行模型部署和训练加速.如果需要使 ...

  4. 共享CUDA内存

    共享CUDA内存 进程间共享 此功能仅限于Linux. 将设备阵列导出到另一个进程 使用CUDA IPC API,可以与同一台计算机上的另一个进程共享设备阵列.为此,请使用.get_ipc_handl ...

  5. STS或eclipse中导入新项目出现红色感叹号红色叉叉的问题

    maven项目 原因: jar包缺失 没有正确配置Maven仓库 解决: Window->Preferences->Maven->Installations->Add 添加你的 ...

  6. JavaFx 创建快捷方式及设置开机启动

    原文地址:JavaFx 创建快捷方式及设置开机启动 | Stars-One的杂货小窝 原本是想整个桌面启动器,需要在windows平台上实现开机启动,但我的软件都是jar文件,不是传统的exe文件,也 ...

  7. Luat Inside | 多功能YAP物联网终端机,你不会还不知道吧?

    简洁高效是合宙产品的一个重要特点,合宙的工程师们用Demo取代繁杂的说明书,以便于开发者快速上手. 有没有可能把这个学习的过程变得更有趣,并且把技术入门难度进一步降低?作为一名Luat技术爱好者,我对 ...

  8. DOS命令行(2)——Windows磁盘维护与管理

    预备知识 1 -- 磁盘 1.磁盘分区 主磁盘分区.扩展磁盘分区.逻辑分区 主磁盘分区是物理磁盘的一部分,它像物理上独立的磁盘那样工作.对于基本启动记录(MBR)的磁盘,在一个基本磁盘上最多可以创建四 ...

  9. OO unit2 summary

    Unit2 一.第一次作业 1.UML 2.Sequence Diagram 3.同步块设置与锁处理 采用了生产者-消费者模式,用共享对象来连接不同的线程. 第一次作业中,我有三个线程:Receive ...

  10. 从HTTP到HTTPS

    从HTTP到HTTPS HTTP存在的缺陷 通信使用明文(不加密),内容可能会被窃听 不验证通信方的身份,因此有可能遭遇伪装 无法证明报文的完整性,所以有可能已遭篡改 防窃听 通信加密 HTTP 协议 ...