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.先敲“/”在敲两个**,然后回车 方法 ...
随机推荐
- SAP Display picture
program sap_picture_demo. set screen 200. TYPE-POOLS cndp. ***************************************** ...
- 关于swiper插件在vue2的使用
最近做项目用到了vue-awesome-swiper,总结一下使用方法 第一步:安装依赖 npm install swiper vue-awesome-swiper --save or npm ins ...
- Python列表解析式的正确使用方式
先来逼逼两句: Python 是一种极其多样化和强大的编程语言!当需要解决一个问题时,它有着不同的方法.在本文中,将会展示列表解析式 (List Comprehension).我们将讨论如何使用它?什 ...
- NC24724 [USACO 2010 Feb S]Chocolate Eating
NC24724 [USACO 2010 Feb S]Chocolate Eating 题目 题目描述 Bessie has received \(N (1 <= N <= 50,000)\ ...
- go-zero微服务实战系列(十、分布式事务如何实现)
在分布式应用场景中,分布式事务问题是不可回避的,在目前流行的微服务场景下更是如此.比如在我们的商城系统中,下单操作涉及创建订单和库存扣减操作两个操作,而订单服务和商品服务是两个独立的微服务,因为每个微 ...
- C++对象的应用
本篇文章将介绍对象数组,对象的动态分配以及对象在函数中的应用. 一.对象数组 1.对象数组的定义和初始化 定义对象数组与定义普通数组的语法形式基本相同.如定义一个Square obj[3]:表示一个正 ...
- 可落地的DDD(7)-战术设计上的一些误区
背景 几年前我总结过DDD战术设计的一些落地经验可落地的DDD(5)-战术设计,和一次关于聚合根的激烈讨论最近两年有些新的落地体验,回过头来发现,当初对这些概念的理解还是没有深入,这篇文章重新阐述下. ...
- html + css 01: 3d立方体
html + css实现3d立方体 css代码 /*页面背景色*/ body{ background-color: black; background-repeat:no-repeat; } /*** ...
- maven配置的一个问题
资源导出问题 如果想和dao接口放在一个包下可以做如下配置,但是如果不放在dao接口下,那就会报错,至于为什么,那就得好好学学maven了,因为下面是yaml的,所以需要添加yaml,不然他扫描不到 ...
- 算法竞赛进阶指南0x33同余
定义 如果整数a,b除以正整数m的余数相同,那么a,b模m同余 . 知识点 拓展欧几里得算法 代码 #include <bits/stdc++.h> using namespace std ...