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

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

· 有数据返回:返回值类型就使用 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. Json及Json字符串

    JSON(JavaScript Object Notation)是一种独立于开发语言的用于存储和交换文本数据的格式,JSON 语法是JavaScript 语法的子集. Json 可以保存数组格式和对象 ...

  2. LR11关联问题

    LR11关联问题       最近,我在录制一份脚本在回放的时候报错,错误图如下: 很自然地我想到了关联,于是我再录制了一份脚本.我对比了一下ActionID=45322984确实是两个脚本不一样的地 ...

  3. 由Find All References引发的思考。,

    今天在研究C#代码问题的时候遇到了一个Visual Studio的小问题.在Visual Studio 2013中,使用Find All References功能不能找到同一类型不同版本的所有引用,具 ...

  4. Heartbeat高可用解决方案

    Heartbeat高可用 Heartbeat作用: 通过heartbeat,可以将资源(ip以及程序服务等资源)从一台已经故障的计算机快速转移到另一台正常运转的机器上继续提供服务,一般称之为高可用服务 ...

  5. sql定时自动备份(定时作业)

    第一步: 右键启动"SQL Server 代理"

  6. Eclipse导入项目常见问题----乱码问题03

    有时打开导入的项目文件时,会出现如下图情况: 解决方法 如下图步骤所示: 此时,我们可以看到文件正常了 jdk版本问题(有个红色感叹号)01:http://blog.csdn.net/baidu_37 ...

  7. [转]tomcat部署(1)

      阅读目录 1 目录结构 2 部署 3 发布 4 测试 本篇参考Tomcat官方文档:<First Webapp>翻译,并结合自己的开发经验介绍关于tomcat部署以及发布的相关内容. ...

  8. Vulkan Tutorial 12 Fixed functions

    操作系统:Windows8.1 显卡:Nivida GTX965M 开发工具:Visual Studio 2017 早起的图形API在图形渲染管线的许多阶段提供了默认的状态.在Vulkan中,从vie ...

  9. APUE-文件和目录(五)函数rename和renameat

    rename和renameat #include <stdio.h> int rename(const char *oldname,const char*newname); int ren ...

  10. html锚点 点击跳转到页面指定位置

    本来是在看阮大神写的ajax教程,突然发现点击目录文字会跳转到相对应的文本内容,于是乎激发了我的兴趣. 这个究竟怎么做的,刚开始看的时候一知半解,找度娘就是:"点击跳转到页面指定位置&quo ...