java中方法的定义
所谓的方法(将方法称为函数)指的就是一段可以被重复调用的代码块。
对于方法的返回值类型有两种使用形式:
· 有数据返回:返回值类型就使用 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中方法的定义的更多相关文章
- Java中方法的定义与使用
Java中方法的定义与使用 1.方法的定义: 方法是一段可以被重复调用的代码块. 方法的声明: public static 方法返回值 方法名([参数类型 变量--]){ 方法代码体: return ...
- 深入理解为什么Java中方法内定义的内部类可以访问方法中的局部变量
好文转载:http://blog.csdn.net/zhangjg_blog/article/details/19996629 开篇 在我的上一篇博客 深入理解Java中为什么内部类可以访问外部类的成 ...
- JAVA中方法的定义与使用(课堂学习归纳)
组合数,百度词条是这样解释的:从m个不同元素中取出n(n≤m)个元素的所有组合的个数,叫做从m个不同元素中取出n个元素的组合数(Combination) 对于计算组合数,需要一定的工作量,计算机可以很 ...
- Java中方法的定义与使用,以及对数组的初步了解。
方法 方法的含义 定义: 方法就是用来完成解决某件事情或实现某个功能的办法. 方法实现的过程中,会包含很多条语句用于完成某些有意义的功能——通常是处理文本,控制输入或计算数值. 我们可以通过在程序代码 ...
- Java中返回值定义为int类型的 方法return 1返回的是int还是Integer&&finally中return问题
在Java中返回值定义为int类型的 方法return 1:中返回的是Integer值,在返回的时候基本类型值1被封装为Integer类型. 定义一个Test类,在异常处理try中和finally中分 ...
- 深入理解Java中方法的参数传递机制
形参和实参 我们知道,在Java中定义方法时,是可以定义参数的,比如: public static void main(String[] args){ } 这里的args就是一个字符串数组类型的参数. ...
- java中方法的重载和覆盖
java中方法的重载和覆盖 先来了解一下这两个名词的含义. 重载: 在一个类当中才可以重载,方法名相同,参数个数不同或参数个数相同而参数类型不同. 覆盖: 又称重写,在派生类(子类)中重写基类(父类) ...
- Java中方法的重载
Java 中方法的重载 问: 什么是方法的重载呢? 答: 如果同一个类中包含了两个或两个以上方法名相同.方法参数的个数.顺序或类型不同的方法,则称为方法的重载,也可称该方法被重载了.如下所示 4 个方 ...
- java中方法调用
JAVA中方法的调用[基础] 一.调用本类中的方法 方法一.被调用方法声明为static ,可以在其他方法中直接调用.示例代码如下: public class HelloWord { /** * @p ...
随机推荐
- Configure HttpClient correctly
References: [1] http://dev.bizo.com/2013/04/sensible-defaults-for-apache-httpclient.html We have hit ...
- MYBATIS 简单整理与回顾
这两天简单整理了一下MyBatis 相关api和jar包这里提供一个下载地址,免得找了 链接:http://pan.baidu.com/s/1jIl1KaE 密码:d2yl A.简单搭建跑项目 2.进 ...
- 开涛spring3(12.3) - 零配置 之 12.3 注解实现Bean定义
12.3 注解实现Bean定义 12.3.1 概述 前边介绍的Bean定义全是基于XML方式定义配置元数据,且在[12.2注解实现Bean依赖注入]一节中介绍了通过注解来减少配置数量,但并没有完全 ...
- JAVA网络编程TCP通信
Socket简介: Socket称为"套接字",描述IP地址和端口.在Internet上的主机一般运行多个服务软件,同时提供几种服务,每种服务都打开一个Socket,并绑定在一个端 ...
- HTML5资源教程
新款CSS3按钮组合 5组可爱CSS3按钮 Leave a reply 之前我分享过一些时尚的CSS3动画按钮,比如CSS3渲染Checkbox实现3D开关切换按钮.纯CSS3 3D按钮 按钮酷似牛奶 ...
- 学习笔记TF019:序列分类、IMDB影评分类
序列分类,预测整个输入序列的类别标签.情绪分析,预测用户撰写文字话题态度.预测选举结果或产品.电影评分. 国际电影数据库(International Movie Database)影评数据集.目标值二 ...
- 每天一个Linux命令—— crontab
一.简介 1. Linux中有许多周期性执行的任务,这些任务由cron守护进程完成,因此cron这个系统服务是默认启动的. 2.Linux中调度任务分为两类:系统任务调度和用户任务调度,系统任务调度即 ...
- C++经典绘图工具EasyX
EasyX简介 EasyX 在学习C语言时,很多同学抱怨说C只能写最简单的Demo程序,通过printf在屏幕上打印字符来验证代码.这样的编程很枯燥,一点没觉得自己在设计软件. EasyX是针对C++ ...
- cpp(第五章)
1.副作用,指的是在计算表达式时对某些东西(如存储在变量的值)进行修改:顺序点,是程序执行过程中的一个点,在这里,进入下一步之前将确保对所有的副作用 都进行评估.(分号就是一个顺序点).for exa ...
- Spring学习(8)--- @Autowired注解(一)
可以将@Autowired注解为“传统”的setter方法 package com.mypackage; import org.springframework.beans.factory.annota ...