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 ...
随机推荐
- 001---Hibernate简介( 开源O/R映射框架)
该系列教程是使用hibernate3,hibernate4和3有区别(集成spring,使用等),请注意 001---Hibernate简介(开源O/R映射框架) ORM(Object Relatio ...
- JavaScript中的该如何[更好的]做动效
在用js写动画的时候,无非使用 setTimeout/setInterval 或者 requestAnimationFrame 来处理动画(在jquery的代码里也是这么干的),本文主要为了记录下两者 ...
- 总结scala(一)
由于笔记太多,分为了几部分,进入我的博客,查看其它的笔记 scala:面向对象,函数式编程 一.声明变量 1.变量的类型 Byte,Char,Short,Int,Long,Float,Double,B ...
- 在chrome下鼠标拖动层变文本形状的问题
学JQ也有一段时间了,想自己写个鼠标拖动层移动的效果(很简单,只是为了练习而已)于是就写下了下面的代码 <!DOCTYPE html> <html> <head> ...
- openjdk7之编译和debug
大家也可以看我的博客: openjdk7之编译和debug,这里格式更好. 为了更好的学习JDK.HotSpot等源码,需要能debug JDK.HotSpot等源码.本文主要讲述,怎么编译open ...
- 提高java编程质量 - (四)i++ 和 ++i 探究原理
先看一个例子: package com.test; public class AutoIncrement { public static void main(String[] args) { int ...
- elememtui(有关权限的那些事)
前言:关于权限路由的那些事儿…… 业务情景描述:现有一个后台管理系统,共存在三种类型的人员,①超级管理员(称作1):②组别管理员(2):③普通用户(3):每种类型的人看到的操作栏并不一样,可以进行的操 ...
- Nginx学习笔记1-Nginx功能模块以及进程管理
1. 功能 1.1. 功能描述 使用缓存加速反向代理,简单负载均衡和容错: 使用缓存机制加速远程FastCGI服务器的访问: 模块化结构: 基本的HTTP功能: 邮 ...
- python 标准库 -- multiprocessing
multiprocessing 与 threading.Thread 类似 multiprocessing.Process 创建进程, 该进程可以运行用 python 编写的函数. multiproc ...
- An abandoned sentiment from past
An abandoned sentiment from past time limit per test 1 second memory limit per test 256 megabytes in ...