java学习——方法
文章目录
- 方法
- 方法的概念
- 使用方法的好处
- 方法的定义格式
- 完整格式
- 其他格式
- 调用方法
- 方法调用的内存图
- 方法的参数传递机制
- 基本类型的参数传递
- 引用类型的参数传递
- 方法重载
- 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学习——方法相关推荐
- Java学习----方法的重载
一个类中有多个同名的参数不一样的方法. 作用:可以根据不同的条件调用不同的方法. 注意:java不会因为方法的返回类型或者权限的不同而判断为不同的两个方法. public class Student ...
- Java学习 -- 方法
文章目录 方法概述 什么是方法? 方法的结构 方法使用 方法定义和调用 方法调用注意 方法三种调用格式 方法重载 方法重载前 方法重载后 重载练习 练习1 练习2 方法递归 递归常见应用 求n的阶乘 ...
- Java学习--方法总结
Java笔记 2022/03/27 1.类总结 类的组成:属性和方法 属性:成员变量,写在方法之外,类之内,系统会提供默认的初始值 默认初始值: - 整型:0 - 浮点型:0.0 - 字符型:空字符 ...
- Java学习----方法的覆盖
方法的覆盖:子类继承父类,子类重写父类的同名方法. 覆盖的原则: 1. 方法的参数必须跟父类保持一致 2. 子类方法的修饰符的范围必须大于等于父类方法同名的修饰符(public > privat ...
- 零基础全方位学习java的方法
java技术岗是一个就业率非常高的岗位,因此有很多人都想要学习java技术,其中不乏一些零基础同学,零基础小白都不清楚自己该如何学习java,那么下面小编就为大家详细的介绍一下零基础全方位学习java ...
- java学习笔记5--类的方法
接着前面的学习: java学习笔记4--类与对象的基本概念(2) java学习笔记3--类与对象的基本概念(1) java学习笔记2--数据类型.数组 java学习笔记1--开发环境平台总结 本文地址 ...
- Java学习笔记:创建线程的两种方法
Java学习笔记:创建线程的两种方法 一.预备工作 1.创建Maven项目ThreadDemo 2.在pom.xml里添加依赖 二.继承Thread类创建子线程
- Java学习之代码扫描工具的使用方法
有些刚进行Java学习的小伙伴对Java代码扫描工具还不是很了解,不知道该如何使用,下面千锋重庆的小编就来告诉大家使用方法. 1.插件的安装 由于使用的mac所有以Mac下idea插件安装流程为例,首 ...
- Java学习中遇到的中文乱码问题的整理和解决方法
目录 前言 1. 学习SpringMVC框架的时候遇到的中文乱码(一) 2. 学习SpringMVC框架的时候遇到的中文乱码(二) 3. 学习Servlet的时候可能会遇到的中文乱码(一) 4. ...
最新文章
- Java中的String,StringBuilder,StringBuffer三者的区别
- React兄弟组件之间通信
- viterbi算法_HMM模型和Viterbi算法如何应用于分词
- linux printf 刷新,linux下printf中\n刷新缓冲区的疑问(已解决)
- POJ-2155 Matrix 二维线段树 | 树状数组
- 第一次在Linux系统上操作mysql数据库,看完这篇轻松应对
- ☆ 10个小技巧,让你的 Python 代码更加优雅~ ☆
- 【算法】N Queens Problem
- Strange Partition CodeForces - 1471A
- 关于Pac-Man,你所要了解的 一切
- android调用摄像头拍照
- UVA10178 Count the Faces.【并查集】
- 苹果谈iPhone遭CIA攻击:强烈要求用户升级系统
- JavaSE_集合_Deque
- 飞行射击游戏的C++实现:一次课程作业
- 风影ASP.NET基础教学 4 验证控件
- CMD命令进入MySQL数据库的方法
- 通过ASM1117实现5V转3.3V电路
- 回忆录 - IKCEST首届“一带一路”国际大数据竞赛(2019)获奖经历
- Docker专题(二)-Docker安装与启动
热门文章
- flask中ajax的使用,jquery – 使用ajax时,Flask flash消息不再有效
- UnicodeEncodeError: 'gbk' codec can't encode character '\uXXX' in position
- 最新版-----新浪微博的第三方登录
- bflvphnlrffbdbv
- 老马 Markov 其人
- 十二星座分手时会怎么说?
- 初识html及工具的使用
- 《微信小游戏远程服务器本地搭建》——本地搭建IIS静态文件服务器
- 情态动词can与could的用法详解
- 电容屏物体识别_触摸屏物体识别到底是怎么实现的