让形参可变的方法

  jdk1.5之后,java允许定义形参长度可变的参数,允许为方法指定数量不确定的形参。

package object;

public class VariableParam {
//定义一个形参不固定的方法
public static void sum(int a , int... b) {
int sum = a;
//循环输出可变参数b
for(int i : b){
sum += i;
}
System.out.println(sum);
}
public static void main(String[] args) {
VariableParam.sum(5, 10);
VariableParam.sum(5, 10, 15);
VariableParam.sum(5, 10, 15, 20);
}
}

结果:

  可变参数可以在不确定有几个参数的情况下使用。

  长度可变的形参只能处于形参列表的最后,一个方法中最多只能包含一个长度可变的形参。


递归方法

  一个方法体内调用它自生,被称为方法的递归。

  方法递归包含了一种隐式循环。

package object;

/**
* 我想得到任意一个数的阶乘
* 什么是阶乘呢?
* 就是 n*(n-1)*(n-2)*...*3*2*1
* 从n到1的乘积
* 怎么办呢?可以用递归
*
* */
public class recursion { public static int f(int n) {
if (1 == n)
return 1;
else
return n*f(n-1);
} public static void main(String[] args) {
System.out.println(f(5));
}
}

注意看一下,在方法中 又调用了方法,而且 实参值一直在减少 一直到f(1)有了值,然后再往回返回去...

【java基础】方法2的更多相关文章

  1. Java基础-方法(method)的应用

    Java基础-方法(method)的应用 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 方法就是定义在类中,具有特定功能的一段小程序,方法也称为函数(function),方法可以接 ...

  2. Java基础——方法的调用

    Java基础--方法的调用     总结: 1. 在同一个类中-- 对于静态方法,其他的静态和非静态方法都可以直接通过"方法名"或者"类名.方法名"调用它. 对 ...

  3. 《Java基础——方法的调用》

    Java基础--方法的调用     总结: 1. 在同一个类中-- 对于静态方法,其它的静态和非静态方法都可以直接通过"方法名"或者"类名.方法名"调用它. 对 ...

  4. Java基础-方法重载和方法重写的区别

    什么是java方法重载 (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型. 重载Overloading是一个类中多态性的一种表现. (2)  ...

  5. 三、java基础-方法含义_重载_递归

    1.java中方法: 方法的含义: 就是一个代码片段,可以完后某个特定的功能,可以重复利用: 定义方法的语法: [方法的修饰符列表]   方法的返回值类型   方法名{    java语句; } 注意 ...

  6. [Java 基础]方法

    方法的定义 Java方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 语法 修饰符 返回值类型 方法名 (参数 ...

  7. JAVA基础——方法笔记

    java方法_学习笔记 由于我本人对java方法已经比较熟悉了,java方法的定义和使用也比较简单,这里只列举了基于我自身容易搞错的地方,希望对大家的学习有帮助!! 方法的参数可以是基本数据类型,如 ...

  8. Java基础-方法(07)

    方法的定义 方法其实就是完成特定功能的代码块在很多语言里面都有函数的定义函数在Java中被称为方法 格式: 修饰符 返回值类型 方法名(参数类型 参数名1,参数类型 参数名2…) { 函数体; ret ...

  9. Java基础方法整理

    方法 9.1方法概述 方法就是用来完成解决某件事情或实现某个功能的办法 可以通过在程序代码中引用方法名称和所需的参数,实现在该程序中执行(或称调用)该方法.方法,一般都有一个返回值,用来作为事情的处理 ...

  10. Java基础-方法

    方法 Java方法是语句的集合,它们在一起执行一个功能. 方法是解决一类问题的步骤的有序组合 方法包含于类或对象中 方法在程序中被创建,在其他地方被引用 注意: 在一些其它语言中方法指过程和函数.一个 ...

随机推荐

  1. Oracle中用户的基本操作

    创建用户 1.首先登陆到系统用户sys(sys用户具有创建用户的权限). 2.然后在代码编辑框写入创建用户的代码. 语法:CREATE USER user_name IDENTIFIED BY pas ...

  2. Maven应用

    Maven进行项目管理很方便,下面介绍一下学习maven中的笔记.我是在Windows上运行的          有些知识点没有试,只是收集转载,很可能存在错误 1.安装 解压缩之后,配置环境变量MA ...

  3. DNS子域授权与转发配置

    正向区域SUB_ZONE_NAME IN NS NSSERVER_SUB_ZONE_NAME NSSERVER_SUB_ZONE_NAME IN A IP .com xingxing.com. xin ...

  4. HandlerThread 用法

    HandlerThread最大的优势在于引入MessageQueue概念,可以进行多任务队列管理. HandlerThread背后只有一个线程,所以任务是串行依次执行的.串行相对于并行来说更安全,各任 ...

  5. -XX:-PrintClassHistogram 按下Ctrl+Break后,打印类的信息

    -XX:+PrintClassHistogram –按下Ctrl+Break后,打印类的信息: num     #instances         #bytes  class name ------ ...

  6. org.eclipse.jdi.TimeoutException: Timeout occurred while waiting for packet 421. occured resuming VM.

    环境: 导入excel的时候,会根据路径,读取EXCEL的数据. 原因: 电脑上的防火墙关闭

  7. js setInterval

    var monitorInterval = null;    //检索cs 是否处理完成 开始: monitorInterval = setInterval(function () { CheckCS ...

  8. 指定YUM安装包的体系结构或版本

    在单一体系结构下同时安装32位和64位包echo ‘multilib_policy=all’ >> /etc/yum.conf 指定体系结构 查看当前系统体系结构[root@oracle ...

  9. Fragment的隐藏与显示

    package com.bwie.helpdemo; import com.bwie.fragment.BillFrag; import com.bwie.fragment.IndexFrag; im ...

  10. 开始跟踪Redis啦,开帖

    随着NoSql的流行,对这方面的产品开始关注起来,之前一直只是看看.从昨天开始决定把Redis的实现机制啃下来,毕竟代码量也就2W行. 每天花时间看看,记录下成果. here we go.