Java方法总结
什么是方法
何谓方法
就是一个方法只完成一个功能,这样利于后期的扩展
例子:
public static void main(String[] args) {
System.out.println(add(1, 2));
}
public static int add(int a,int b){
return a+b;
}
方法的定义及调用
用来完成特定功能的代码片段
方法包含一个方法头和一个方法体
修饰符
返回值类型
方法名
参数类型
形式参数:
实参:
例:
public static void main(String[] args) {
//实际参数:实际调用传递给他的参数
System.out.println(add(1, 2));
}
//形式参数,用来定义作用的
public static int add(int a,int b){
return a+b;
}
方法体
public static void main(String[] args) {
int i = max(20, 20);
System.out.println(i);
}
public static int max(int a, int b) {
int result = 0;
if (a == b) {
System.out.println("两数字相等");
return 0;//终止方法
}
if (a > b) {
result = a;
} else {
result = b
}
return result;
}
方法重载
方法可以无限重名但是参数类型得不同
重载规则(面试笔试题)
方法名称必须相等
参数类别必须不同
方法的返回类型可以相等也可以不想等
仅仅返回类型不同不足以成为方法重载
public static int max(int a, int b) {
int result = 0;
if (a == b) {
System.out.println("两数字相等");
return 0;//终止方法
}
if (a > b) {
result = a;
} else {
result = b;
}
return result;
}
//重载
public static double max(double a, double b) {
double result = 0;
if (a == b) {
System.out.println("两数字相等");
return 0;//终止方法
}
if (a > b) {
result = a;
} else {
result = b;
}
return result;
}
命令行传参
可变参数
public static void main(String[] args) {
Demo03 demo03 = new Demo03();
demo03.test(1,2,3);
}
public void test(int...i){
System.out.println(i[0]);
System.out.println(i[1]);
System.out.println(i[2]);
}递归(笔试里面的高频问点)
A方法调用B方法,我们很容易理解
递归就是:A方法调用A方法,自己调自己
利用递归可以用简单的程序来解决一些复杂的问题。它通常把一个大型复杂的问题层层转化为一个与原问题相似的规模较小的问题来求解,递归策略只需少量的程序就可描述出解题过程所需要的多次重复计算,大大地减少了程序的代码量。递归的能力在于用有限的语句来定义对象的无限集合。
递归结构分为两部分:
a.递归头:什么时候不调自身方法。如果没有头,将陷入死循环
b. 递归体:什么时候需要调用自身方法
public static void main(String[] args) {
int f = f(5);
System.out.println(f);
}
//2!-------2*1
//3!-------3*2*1
public static int f(int n){
if (n==1){
return 1;
}else {
return n*f(n-1);
}
}
Java方法总结的更多相关文章
- C++调用JAVA方法详解
C++调用JAVA方法详解 博客分类: 本文主要参考http://tech.ccidnet.com/art/1081/20050413/237901_1.html 上的文章. C++ ...
- JNI中C调用Java方法
背景需求 我们需要在JNI的C代码调用Java代码.实现原理:使用JNI提供的反射借口来反射得到Java方法,进行调用. JNI关键方法讲解. 1. 在同一个类中,调用其他方法 JNIEXPORT v ...
- Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针
Atitit java方法引用(Method References) 与c#委托与脚本语言js的函数指针 1.1. java方法引用(Method References) 与c#委托与脚本语言js ...
- C#调用Java方法(详细实例)
C#可以直接引用C++的DLL和转换JAVA写好的程序.最近由于工作原因接触这方面比较多,根据实际需求,我们通过一个具体例子把一个JAVA方法转换成可以由C#直接调用的DLL C#调用c++ C#调用 ...
- Android C代码回调java方法
本文将讲述下列三种C代码回调java方法 1.c代码回调java空方法 2.c代码回调java int类型参数方法 3.c代码回调javaString类型参数方法 方法都差不多,先看c代码回调java ...
- oracle调用java方法的例子(下面所有代码都是在sql/plus中写)
在Oracle中调用Java程序,注意:java方法必须是static类型的,如果想在JAVA中使用system.out/err输出log. 需要在oracle 中执行"call dbms_ ...
- Js调用Java方法并互相传参
Js通过PhoneGap调用Java方法并互相传参的. 一.JAVA代码 写一个类,该类继承自Plugin并重写execute方法. import org.json.JSONArray; import ...
- HAL中通过JNI调用java方法【转】
转载请注明本文出处:http://www.cnblogs.com/xl19862005 作者:Xandy 由于工作的需要,最近一直在研究HAL.JNI.Java方法之间互调的问题,并做了如下一些记录和 ...
- wrong number of arguments,java方法反射时数组参数的坑
java方法中只有一个参数是数组,反射的时候我们不能想当然的传歌数组进去,传数组进去的时候表示多个参数. 两个数组不是一个意思啊. 我们应该把数组转为objet,这样才表示一个参数. import j ...
- JAVA 方法或者类的注释快捷键
JAVA 方法或者类的注释快捷键 /*** 登录验证* @param 传入的* @return* @throws Exception*/这种注释效果 方法: 1.先敲“/”在敲两个**,然后回车 方法 ...
随机推荐
- Redis 中的事务分析,Redis 中的事务可以满足ACID属性吗?
Redis 中的事务 什么是事务 1.原子性(Atomicity) 2.一致性(Consistency) 3.隔离性(Isolation) 4.持久性(Durability) 分析下 Redis 中的 ...
- 前端学习 linux —— 第一篇
前端学习 linux - 第一篇 本文主要介绍"linux 发行版本"."cpu 架构"."Linux 目录结构"."vi 和 v ...
- ngRoute 配置路径不能跳转问题
1.原因:AngularJS 版本更新至1.6后对地址做了特别处理.如:<a hret="#/someurl"> 在浏览器中被解析为"#!%2Fsomeurl ...
- LayUI+SSM实现一个简单的后台管理系统
该后台管理系统是用于管理视频网站数据的,目前分5个菜单项,这篇博客主要讲述[影片管理]的具体功能和实现 后台代码结构和[影片管理]的界面如下图 该界面分为上下2部分,[搜索条件]和[影片列表],2部分 ...
- 【黑马pink老师的H5/CSS课程】(一)基本介绍
视频P4~P6 黑马程序员pink老师前端入门教程,零基础必看的h5(html5)+css3+移动 1.网页 1.1 什么是网页 网站是网页的集合,网页是构成网站的基本元素,常用html格式文件 1. ...
- CompletableFuture的入门
runAsync 和 supplyAsync runAsync接受一个Runable的实现,无返回值 CompletableFuture.runAsync(()->System.out.prin ...
- .NET ORM框架HiSql实战-第一章-集成HiSql
一.引言 做.Net这么多年,出现了很多很多ORM框架,比如Dapper,Sqlsugar,Freesql等等.在之前的项目中,用到的ORM框架也大多数是这几个老牌的框架. 不过最近园子关于.NET ...
- 解决方案:可以ping别人,但是别人不能ping我
背景:我在写分布式爬虫项目时遇到了slave端无法ping通我的master,我的master可以ping通slave.我将master的防火墙关闭后slave可以ping了,但是这不是解决办法.于是 ...
- centos7解决无法上网的问题
问题:centos7出现无法进行联网,如下图所示,执行该命令: ping qq.com 出现如下情况: 解决方法: 首先cd到需要修改文件的所在目录下: [root@localhost ~]# cd ...
- 017(Power Strings二刷)(KMP)
题目:http://ybt.ssoier.cn:8088/problem_show.php?pid=1466 题目思路:不知道大家在KMP算法里有没有看见这么个句子 while(j<len) 这 ...