所谓的方法(将方法称为函数)指的就是一段可以被重复调用的代码块。

对于方法的返回值类型有两种使用形式:

· 有数据返回:返回值类型就使用 Java 中定义的数据类型;

· 无数据返回:使用 void 表示;

在 Java 之中如果要定义方法,其命名规则:第一个单词字母全部小写,而后每个单词的首字母大写。

对于什么时候定义方法有以下两点建议:

· 根据你的经验,把可能会被重复执行的操作定义为一个方法;

· 为了保证主方法里的代码量少

定义有参数无返回值的方法:

public class TestDemo {

public static void main(String args[]) {

printInfo(100.0) ;

}

public static void printInfo(double score) {

if (score == 100.0) {

System.out.println("第一名让人铭记!") ;

} else {

System.out.println("其他名次让人遗忘!") ;

}

}

}

定义一个有参数有返回值的方法

public class TestDemo {

public static void main(String args[]) {

int sum = add(10,20) ;

System.out.println(sum) ;

System.out.println(add(100,200)) ;

}

public static int add(int x,int y) {

return x + y ;

}

}

如果方法有返回值类型的声明(不是 void),那么此方法在方法体中必须要使用 return 进行数据的返回处理。对于方法的返回值可以进行接收,也可以直接输出。

在定义方法的时候,如果此方法没有返回值类型(void),那么也可以通过 return 来结束当前方法的调用,这一过程实际上和continue 或 break 类似,都表示结束调用的形式,并且这几种操作使用时都往往结合 if 分支语句完成。

public static void print(int x) {

if (x == 3) {

return ; // 表示此代码之后的程序都不执行,直接返回

}

System.out.println("x = " + x) ;

}

方法重载(Overloading )

方法重载:指的是定义了若干个方法,并且这些方法的方法名称相同,但是这些方法的参数类型或个数不同。

如果现在假如说"add()"方法有可能产生了 100 个定义,那么按照"add1() ~ add100()"的形式调用的话,而使用方法重载的时候就没有必要再去对应参数的个数或类型与方法名称了,一个方法名称全部解决,这样在代码的编写上将会非常的方便。在进行方法重载定义的过程之中,没有一个要求是围绕着返回值来定义的,也就是说定义里面并没有强制性的要求方法的返回值是否会相同。但是从一个正常的方法重载来看:被重载的方法往往都要求其返回值类型保持一致(认为规范,不是语法定义。)

方法的递归调用(理解)

在以后的实际开发过程之中,你自己写的代码里面尽量不要出现递归。因为如果递归处置不当,则会产生堆栈溢出问题。、

所谓的递归操作指的就是一个方法自己调用自己的操作。但是如果要想进行递归操作则必须满足如下几点:

· 所有的递归操作必须有一个明确的结束条件;

· 每次执行递归操作时都必须明确的改变结束条件的内容。

实现递归

public class TestDemo {

public static void main(String args[]) {

System.out.println(sum(100)) ;

}

public static int sum(int x) {

if (x == 1) {

return 1 ;

}

return x + sum(x - 1) ; // 每次改变递归数据

}

 

java中方法的定义的更多相关文章

  1. Java中方法的定义与使用

    Java中方法的定义与使用 1.方法的定义: 方法是一段可以被重复调用的代码块. 方法的声明: public static 方法返回值 方法名([参数类型 变量--]){ 方法代码体: return ...

  2. 深入理解为什么Java中方法内定义的内部类可以访问方法中的局部变量

    好文转载:http://blog.csdn.net/zhangjg_blog/article/details/19996629 开篇 在我的上一篇博客 深入理解Java中为什么内部类可以访问外部类的成 ...

  3. JAVA中方法的定义与使用(课堂学习归纳)

    组合数,百度词条是这样解释的:从m个不同元素中取出n(n≤m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数(Combination) 对于计算组合数,需要一定的工作量,计算机可以很 ...

  4. Java中方法的定义与使用,以及对数组的初步了解。

    方法 方法的含义 定义: 方法就是用来完成解决某件事情或实现某个功能的办法. 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本,控制输入或计算数值. 我们可以通过在程序代码 ...

  5. Java中返回值定义为int类型的 方法return 1返回的是int还是Integer&&finally中return问题

    在Java中返回值定义为int类型的 方法return 1:中返回的是Integer值,在返回的时候基本类型值1被封装为Integer类型. 定义一个Test类,在异常处理try中和finally中分 ...

  6. 深入理解Java中方法的参数传递机制

    形参和实参 我们知道,在Java中定义方法时,是可以定义参数的,比如: public static void main(String[] args){ } 这里的args就是一个字符串数组类型的参数. ...

  7. java中方法的重载和覆盖

    java中方法的重载和覆盖 先来了解一下这两个名词的含义. 重载: 在一个类当中才可以重载,方法名相同,参数个数不同或参数个数相同而参数类型不同. 覆盖: 又称重写,在派生类(子类)中重写基类(父类) ...

  8. Java中方法的重载

    Java 中方法的重载 问: 什么是方法的重载呢? 答: 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方 ...

  9. java中方法调用

    JAVA中方法的调用[基础] 一.调用本类中的方法 方法一.被调用方法声明为static ,可以在其他方法中直接调用.示例代码如下: public class HelloWord { /** * @p ...

随机推荐

  1. 数据结构与算法系列研究七——图、prim算法、dijkstra算法

    图.prim算法.dijkstra算法 1. 图的定义 图(Graph)可以简单表示为G=<V, E>,其中V称为顶点(vertex)集合,E称为边(edge)集合.图论中的图(graph ...

  2. 修改别人写的利用AOP实现日志监控的问题

    原文链接 http://blog.csdn.net/jaune161/article/details/51476138 想法 看到原文博主写的这篇文章,我感觉写的很好,可以在我们的项目中使用AOP来监 ...

  3. jsp中的request.setAttribute的使用

    1.第一个jsp页面 <form id="form1" method="post" action="first.jsp"> &l ...

  4. MyBatis起步

    作用:封装了JDBC操作,简化数据库访问代码.封装的功能:1.获取连接,执行SQL,释放连接2.SQL参数设置(可以直接传入对象,Mybtis会将对象的属性传入SQL语句) #{属性值}取代JDBC的 ...

  5. python 计算两个日期相差多少个月

    近期,由于业务需要计算两个日期之前相差多少个月.我在网上找了很久,结果发现万能的python,居然没有一个模块计算两个日期的月数,像Java.C#之类的高级语言,都会有(date1-date2).mo ...

  6. ArrayList源码解析(四)

    这篇文章主要看ArrayList的Iterator和ListIterator的实现. 1.Iterator和类Itr 当我们调用iterator方法时返回一个Iterator. /** * Retur ...

  7. C#码农的大数据之路 - HDP SandBox配置及VS连接.md

    在进行HDInsight的开发测试之前,搭建一个测试环境是很重要的. 由于微软与Hortonworks合作开发了HDInsgiht,如果不方便建立Azure账号使用Azure HDInsight进行开 ...

  8. 一天搞定CSS:层级(z-index)--18

    因为定位的出现,所以有了元素重叠的情况,此时就出现了显示谁的情况.在多层布局时,容易出现这种情况 定位position见:http://blog.csdn.net/baidu_37107022/art ...

  9. Docker-compose实战——Django+PostgreSQL

    今天我们来用docker-compose 快速安装一个Django+PostgreSQL的开发环境. Compose简介 Compose 定位是“defining and running comple ...

  10. easygen通用代码生成框架[开源]

    什么东东 用过mybatis的同学都知道,手工写mapper和xml是一件很痛苦的事儿,幸好官方提供了Mybatis-Generator,但是这家伙生成的东西不开放不方便修改,而且项目中的代码生成需求 ...