可变个数形参

 1 package com.cnblogs.java;
 2 /*
 3  * 可变个数形参的使用方法
 4  * 1.格式:对于方法的形参,数据类型 ... 形参名
 5  * 2.可变个数的形参的方法与同名的方法之间构成重载
 6  * 3.可变个数的形参方法在调用时,可以有从0到多个参数
 7  * 4.使用可变个数形参的方法与方法的形参是数组的使用方法一致。
 8  * 一致到认为方法③和⑤是同一个方法的地步,
 9  * 但是方法三是可变个数形参,能包括方法①和②,①②注释掉则自动调用③
10  * 5.若一个方法中存在可变个数形参,则可变个数形参一定要声明在最后如:方法④
11  * 6.在一个方法中最多声明一个可变个数形参
12  */
13 public class TestKeBian {
14     public static void main(String[] args) {
15         TestKeBian kb=new TestKeBian();
16         kb.sayHello();
17         System.out.println();
18         kb.sayHello("@@@");
19         System.out.println();
20         //kb.sayHello(new String[] {"###","$$$","%%%"});//用于数组声明方法的调用
21         kb.sayHello("###","$$$","%%%");//可用于可变形参方法的调用,不可用于数组声明方法
22
23         System.out.println("\n\n");//换行
24         System.out.println(kb.getSum(1, 5));
25         System.out.println(kb.getSum(1, 3, 5));
26         System.out.println(kb.getSum(1,2,3,4,5,6));
27     }
28     //以下的四个方法之间构成重载
29 /*    public void sayHello(){//方法①
30         System.out.println("Hello World!");
31     }
32     public void sayHello(String str){//方法②
33         System.out.println("Hello"+str);
34     }*/
35     //定义可变个数形参String...args
36     //这种声明方法虽与以上两个方法重载,但也包括以上两个方法
37     //若以上两个方法注释掉,则自动调用此方法来完成输出操作
38     public void sayHello(String...args){//方法③
39         System.out.println("调用了可变个数形参:");
40         for(int i=0;i<args.length;i++){
41             System.out.print(args[i]+"\t");
42         }
43     }
44     public void sayHello(int t,String...args){//方法④
45         System.out.println(t);
46         for(int i=0;i<args.length;i++){
47             System.out.print(args[i]+"\t");
48         }
49     }
50 //    public void sayHello(String[] args){//方法⑤
51 //        for(int i=0;i<args.length;i++){
52 //            System.out.print(args[i]+"\t");
53 //        }
54 //    }
55 //使用可变个数形参的方法可以解决计算几个数和的问题
56     /*public int getSum(int i,int j){
57         return i+j;
58     }
59     public int getSum(int i,int j,int k){
60         return i+j+k;
61     }*/
62     //使用可变个数形参可以计算n个数的和,就可以省略以上两个方法
63     public int getSum(int...arr){
64         System.out.println("调用了");
65         int sum=0;
66         for(int i=0;i<arr.length;i++){
67             sum+=arr[i];
68         }
69         return sum;
70     }
71 }

运行结果:

如果C#要实现这个可变个数形参,则要用到“params”这个关键字

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6
 7 namespace ConsoleApplication2
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             Program p = new Program();
14             Console.WriteLine(p.getSum(1,2,3,4,5,5));
15             Console.ReadKey();
16         }
17         /// <summary>
18         /// 可变个数形参,用params来实现
19         /// </summary>
20         /// <param name="arr"></param>
21         /// <returns></returns>
22         public int getSum(params int[] arr) {
23             int sum=0;
24         for(int i=0;i<arr.Length;i++)
25          {
26             sum+=arr[i];
27          }
28         return sum;
29         }
30     }
31 }

运行结果:

20

时间: 2024-10-12 03:49:40

可变个数形参的相关文章

007-Java可变个数形参重载【数组和...】

重载方法时,可变个数形参的方法有两种方式 数组重载 ...重载 对两种方法,其实是一致的,示例如下: 1 public class MethodArgsTest { 2 //可变个数形参的格式:数据类型... 形参名 3 public void show(String ... strs) { 4 //对String...strs传入的参数,将strs当成数组,数组怎么使用就怎么使用. 5 //可变形参个数的方法的形参中,必须声明在末尾 show(int i, String...strs)可以,s

JAVA学习--可变个数的形参的方法

* 可变个数的形参的方法:  * 1.格式:对于方法的形参: 数据类型 ... 形参名  * 2.可变个数的形参的方法与同名的方法之间构成重载  * 3.可变个数的形参在调用时,个数从0开始,到无穷多个都可以.  * 4.使用可变多个形参的方法与方法的形参使用数组是一致的.  * 5.若方法中存在可变个数的形参,那么一定要声明在方法形参的最后.  * 6.在一个方法中,最多声明一个可变个数的形参. public class TestArgs { public static void main(S

JDK新特性之可变个数的形参的方法

可变个数的形参的方法:1.格式:对于方法的形参来说:数据类型...形参名2.可变个数的形参的方法与同名的方法之间可以构成重载3.可变个数的形参在调用时,个数从0开始,到无穷都可以(在调用这个方法时,sayHello后的括号里输入几个值都可以,可以输入0个也可以无穷个)4.使用可变多个形参的方法与方法的形参使用数组是一致的甚至是一个方法,使用要不同的名称5.若方法中存在可变个数的形参,那么一定要声明在方法形参之后(如代码中的sayHello(int i,String... args)中的int是方

可变个数的形参的方法

可变个数的形参的方法: 1.格式:对于方法的形参: 数据类型 ... 形参名 2.可变个数的形参的方法与同名的方法之间构成重载 3.可变个数的形参在调用时,个数从0开始,到无穷多个都可以. 4.使用可变多个形参的方法与方法的形参使用数组是一致的. 5.若方法中存在可变个数的形参,那么一定要声明在方法形参的最后. 6.在一个方法中,最多声明一个可变个数的形参. //如下四个方法构成重载 //在类中一旦定义了重载的可变个数的形参的方法以后,如下的两个方法可以省略 // public void say

[深入学习C#]输入输出安全性——可变类型形参列表的变化安全性

可变类型形参列表(*variant-type-parameter-lists) 可变类型形参列表(variant-type-parameter-lists )只能在接口和委托类型上出现.它与普通的type-parameter-lists的差异在于,它的每个类型形参前面可以加上变化性批注:in和out. 如果前面的变化性批注为out,则该类型形参成为协变类型形参:如果变化批注为in,则该类型形参成为逆变类型形参:如果不存在变化批注,则称该类型形参为固定类型形参. 例如: interface C<o

【宋红康学习日记7】面向对象编程【2】类与方法

1一 匿名类 new Circle();(创建只能使用一次 不可再调用) 二 可变个数形参形式(构成重载) public int getSum(){} public int getSum(int i,int j){} public int getSum(int...args){}=public int getSum(int[] aargs) [注]若方法中存在可变个数的形参,则声明在后 public void sayHello(int i,String...str)(一个方法中最多只有一个可变个

java疯狂讲义笔记整理(第二版第一部分)

第一章    java语言概述 1.1    java语言的发展简史 1990末:    sun公司“Green计划”(James Gosling领导)        ----目的是智能家电编写一个通用嵌入式控制系统,为此创建oak 1992夏天:    "Green计划"完成新平台的部分功能 1992年11月:    "Green计划"被转为"FirstPerson有限公司"-一个sun的全资子公司,致力于创建一个高度互动的设备 1994夏天:

JAVA 面向对象之方法详解

本页面更新日期: 2016年07月18日 前言 方法是类或对象 的行为特征的抽象. 方法是类或对象最重要的组成部分. 所有的方法都必需定义在类里. 方法不能独立存在. 方法在逻辑上要么属于类, 要么属于对象. 方法的所属性 一旦将一个方法定义在某个类的类体内. 如果这个方法使用了static修饰符,则这个方法属于这个类. 否则这个方法属于这个类的实例. Java语言是静态的. 一个类定义完成后,只要不再重新编译这个类文件,该类和该类的对象所拥有的方法是固定的,永远都不会改变. 执行方法时必需使用

JavaSE-07 类

习要点 面向过程 面向对象 抽象 类 类的构造方法 类中常见的关键字 类的成员方法 类的成员变量 面向过程 程序 程序的概念 程序一词来自生活,通常指完成某些事情的一种既定方式和过程. 可以将程序看成对一系列动作的执行过程的描述. 计算机程序 为了执行某些操作或解决某个问题而编写的一系列有序指令的集合. 面向过程程序的定义 程序=数据+算法+文档: 变量 指向一个对象或包含一个值的标识符,都可以称为变量. 当变量的类型为基本型别(short, byte, int, long, float, do