文章目录

  • 方法
    • 方法的概念
    • 使用方法的好处
    • 方法的定义格式
      • 完整格式
      • 其他格式
    • 调用方法
    • 方法调用的内存图
    • 方法的参数传递机制
      • 基本类型的参数传递
      • 引用类型的参数传递
    • 方法重载
    • return的用法

方法

方法的概念

方法是一种语法结构,它可以把一段代码封装成一个功能,以方便重复调用。

使用方法的好处

1·提高了代码的复用性和开发效率
2·让程序的逻辑更清晰

方法的定义格式

完整格式

   修饰符          返回值类型            方法名           (形参列表){

public static int add (int a,int b)
int c=a+b; //方法的执行代码
return c; //返回值
注意:形参列表中的参数不能赋予初始值;return语句下面,不能编写代码,因为永远执行不到,是无效代码。

其他格式

public static void print(){System.out.println("hello");System.out.println("hello");
System.out.println("hello");
}

注意:如果方法不需要返回结果,返回值类型必须申明为void,此时方法内部不可以使用return返回数据;方法不需要参数,则形参列表可以不写。

调用方法

public static int a{public static void main(String[] args){int m=add(100,200);
System.out.println(m);
}
public static int add(int a,int b){int c=a+b;
return c;}
}

注意:方法不调用就不执行,且调用时应严格匹配方法的参数情况

方法调用的内存图

1·方法没有被调用时,在方法区中将方法的字节码文件中存放
2·方法被调用时,需要进入到栈内存中运行![在这里插入图片描述]

方法的运行区域:栈内存

方法的参数传递机制

基本类型的参数传递

传递机制:值传递
在传输实参给方法的形参的时候,并不是传输实参变量本身,而是传输实参变量中存储的值
注意:
实参:在方法内部定义的变量
形参:在定义方法时,“()”中所声明的参数

public class a{public static void main(String[] args){int a=10;  //实参int b=20;  //实参change(a);}public static void change(int c){}}

注:int c 为形参

public class Ex{public static void main(String[] args){int a=10;
changge(a);
System.out.println(a);  //10
}
public static void change(int a){System.out.println(a);//10
a=20;
System.out.println(a);//20
}

引用类型的参数传递

public class Ex{public static void main(String[] args){int[] arr=new int[]{10,20,30};
change(arr);
System.out.println(arr[1]);    //222
}
public static void change(int[] arr){System.out.println("方法内部:"+arr[1]);   //20
arr[1]=222;
System.out.println("方法内部2:"+arr[i]);  //222}
}

基本数据类型与引用数据类型参数传递方式的不同:基本类型的参数传输存储是的数据值,引用类型的参数传输存储的是地址值。

方法重载

定义:同一个类中,出现多个方法名称相同,参数列表是不同的方法就是重载方法。

public class a{public static void name(){System.out.println("张三");}public static void nanme(String class){System.out.println(class+"张三");}public static void name(String class,int age){System.out.println(class+"张三的年龄是:"+age);}}

调用方法的时候,会通过参数的不同来区分调用的是哪个方法。
优点:对于相似功能的业务场景,可读性好;方法名称相同提示是同一类型的功能,通过不同实现功能差异化的选择。
形参列表的不同是指:形参的个数,类型,顺序不同,与形参名称无关。

return的用法

return的用法
1.返回方法指定类型的值(这个值总是确定的),如果一个方法的功能是进行一些赋值、打印或修改,那么它可不返回值,
如果这个方法是为了获取某个属性的值的话,那么一般是需要返回值的。
2.结束方法的执行(仅仅一个return语句)

public class a{public static void main(String[] args){int num=add(1,2);System.out.println(num);}public static int add(int a,int b){int c=a+b;return c;}}

java学习——方法相关推荐

  1. Java学习----方法的重载

    一个类中有多个同名的参数不一样的方法. 作用:可以根据不同的条件调用不同的方法. 注意:java不会因为方法的返回类型或者权限的不同而判断为不同的两个方法. public class Student ...

  2. Java学习 -- 方法

    文章目录 方法概述 什么是方法? 方法的结构 方法使用 方法定义和调用 方法调用注意 方法三种调用格式 方法重载 方法重载前 方法重载后 重载练习 练习1 练习2 方法递归 递归常见应用 求n的阶乘 ...

  3. Java学习--方法总结

    Java笔记 2022/03/27 1.类总结 类的组成:属性和方法 属性:成员变量,写在方法之外,类之内,系统会提供默认的初始值 默认初始值: - 整型:0 - 浮点型:0.0 - 字符型:空字符 ...

  4. Java学习----方法的覆盖

    方法的覆盖:子类继承父类,子类重写父类的同名方法. 覆盖的原则: 1. 方法的参数必须跟父类保持一致 2. 子类方法的修饰符的范围必须大于等于父类方法同名的修饰符(public > privat ...

  5. 零基础全方位学习java的方法

    java技术岗是一个就业率非常高的岗位,因此有很多人都想要学习java技术,其中不乏一些零基础同学,零基础小白都不清楚自己该如何学习java,那么下面小编就为大家详细的介绍一下零基础全方位学习java ...

  6. java学习笔记5--类的方法

    接着前面的学习: java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址 ...

  7. Java学习笔记:创建线程的两种方法

    Java学习笔记:创建线程的两种方法 一.预备工作 1.创建Maven项目ThreadDemo 2.在pom.xml里添加依赖 二.继承Thread类创建子线程

  8. Java学习之代码扫描工具的使用方法

    有些刚进行Java学习的小伙伴对Java代码扫描工具还不是很了解,不知道该如何使用,下面千锋重庆的小编就来告诉大家使用方法. 1.插件的安装 由于使用的mac所有以Mac下idea插件安装流程为例,首 ...

  9. Java学习中遇到的中文乱码问题的整理和解决方法

    目录 前言 1. 学习SpringMVC框架的时候遇到的中文乱码(一)  2. 学习SpringMVC框架的时候遇到的中文乱码(二)  3. 学习Servlet的时候可能会遇到的中文乱码(一)  4. ...

最新文章

  1. Java中的String,StringBuilder,StringBuffer三者的区别
  2. React兄弟组件之间通信
  3. viterbi算法_HMM模型和Viterbi算法如何应用于分词
  4. linux printf 刷新,linux下printf中\n刷新缓冲区的疑问(已解决)
  5. POJ-2155 Matrix 二维线段树 | 树状数组
  6. 第一次在Linux系统上操作mysql数据库,看完这篇轻松应对
  7. ☆ 10个小技巧,让你的 Python 代码更加优雅~ ☆
  8. 【算法】N Queens Problem
  9. Strange Partition CodeForces - 1471A
  10. 关于Pac-Man,你所要了解的 一切
  11. android调用摄像头拍照
  12. UVA10178 Count the Faces.【并查集】
  13. 苹果谈iPhone遭CIA攻击:强烈要求用户升级系统
  14. JavaSE_集合_Deque
  15. 飞行射击游戏的C++实现:一次课程作业
  16. 风影ASP.NET基础教学 4 验证控件
  17. CMD命令进入MySQL数据库的方法
  18. 通过ASM1117实现5V转3.3V电路
  19. 回忆录 - IKCEST首届“一带一路”国际大数据竞赛(2019)获奖经历
  20. Docker专题(二)-Docker安装与启动

热门文章

  1. flask中ajax的使用,jquery – 使用ajax时,Flask flash消息不再有效
  2. UnicodeEncodeError: 'gbk' codec can't encode character '\uXXX' in position
  3. 最新版-----新浪微博的第三方登录
  4. bflvphnlrffbdbv
  5. 老马 Markov 其人
  6. 十二星座分手时会怎么说?
  7. 初识html及工具的使用
  8. 《微信小游戏远程服务器本地搭建》——本地搭建IIS静态文件服务器
  9. 情态动词can与could的用法详解
  10. 电容屏物体识别_触摸屏物体识别到底是怎么实现的