可变形参 Day07
package com.sxt.kebianxingcan;
/*
* 可变形参
* 声明:数据类型...标识符
* 作用:将实参作为数组处理
* 规则:一个方法只能有一个可变形参并且作为最后一个形参
*
*/
public class Test1 {
public static void main(String[] args) {
double sum = add(3.14,2,3,4,5,6,7);
System.out.println(sum);
System.out.println("--------------------");
int[]arr1 = {1,2,3,4};
int[]arr2 = {2,3,4,5,6};
int sum1 = add(arr1,arr2);
System.out.println(sum1);
}
// 不采用可变形参
// private static int add(int[] arr1, int[] arr2) {
// int sum = 0;
// int sum1 = 0;
// for(int num: arr1){
// sum += num;
// }
// for(int num1: arr1){
// sum1 += num1;
// }
// return sum+sum1;
// }
//采用数组类型的可变形参
private static int add(int[]...a){//将实参作为一个数组处理 原来是一维 现在是二维
// System.out.println(a[0][0]);//第一个数组的第一个元素
int sum = 0;
for(int[] arr: a){
for(int num: arr){
sum += num;
}
}
return sum;
}
// 不采用可变形参的方式 缺点:对于不同的形参类型都要写对应的方法 形参个数太多
// private static int add(int i, int j, int k, int l, int m, int n, int o) {
// return i+j+k+l+m+n+o;
// }
//采用可变形参的方式
private static double add(double d,int...a){//可变形参:将实参作为数组处理
int sum = 0;
for(int num: a){
sum += num;
}
return sum+d;
}
}
可变形参 Day07的更多相关文章
- C语言中可变形参简单实例
以下程序主要包括三个主要函数: 一个最简单的可变形参函数实例: 一个简单的printf功能的实例: 一个打印字符串函数(辅助): 其中myPrintf函数,实现了printf的部分简单功能,并没有去实 ...
- 关于函数传参的其他问题(const形参实参/可变形参)
const 形参和实参 当形参是 const 变量时,实参是 const 或者不是 const 变量都可以. 实参初始化形参时会忽略掉顶层 const: void gel(const int a){ ...
- USB CDC & 可变形参
控制台的三种连接方式: 1.IP网络 2.USB 3.UART 一:介绍USB CDC方式: 1.控制台配置如下: 2.USB Product ID 可以是:0x0000/0x5300/0x0238 ...
- Java 类的重载/匿名类的使用/可变形参
/** *1.类的方法的重载 *2.匿名类对象的传递和引用 *3.可变个数的形参(格式:1/对于方法的形参: 数据类型...形参名 * 2/可变个数的形参与同名的方法之间构成重载 * 3/可变个数的形 ...
- 再学Java 之 形参个数可变函数
自Java 5后,Java允许定义形参个数可变的方法,从而允许运行过程中,为方法指定不确定个数的形参. 其定义方法的格式如下: void function_name ( type ... variab ...
- java之可变个数的形参
//采用数组形参来定义方法 public static void test (int a, String[] books); //采用可变个数形参来定义方法 public static void te ...
- 007-Java可变个数形参重载【数组和...】
重载方法时,可变个数形参的方法有两种方式 数组重载 ...重载 对两种方法,其实是一致的,示例如下: public class MethodArgsTest { //可变个数形参的格式:数据类型... ...
- java 面向对象(五):类结构 方法(二) 关键字:return;方法的重载;可变个数形参的方法
return关键字:1.使用范围:使用在方法体中2.作用:① 结束方法 * ② 针对于返回值类型的方法,使用"return 数据"方法返回所要的数据.3.注意点:return关键字 ...
- 转载:老生常谈C++中实参形参的传递问题
以下文章转载自:http://www.jb51.net/article/108390.htm 函数中参数的传递 这里说的传递当然是指 实参是如何传递给形参的啦 还挺复杂的~~~~~~~~⊙﹏⊙b汗,这 ...
随机推荐
- 用localStorage在页面间传值
注意:要在同一域名下的页面才有效 在需要存储数据页面用localStorage设置数据 localStorage.setItem(key,value);//key要用单引号或者双引号包括着,value ...
- Spring MVC中获取当前项目的路径
Spring MVC中获取当前项目的路径 在web.xml中加入以下内容 <!--获取项目路径--> <context-param> <param-name>web ...
- 关于CE的反思
当你注视着你的分数, 眼眶倏地猛睁. 不会做的题血红一片, 认真做了的题一点墨蓝. 你知道, 你CE了, 你挂了, 你倒数第一了, 你当场去世了. 两小时的努力付诸东流, 线段树的碎片历历在目. 思考 ...
- 关于 matplotlib
注意,需要 zlib, 需要 Tkinter pip install matplotlib import numpy as np import matplotlib.pyplot as plt plt ...
- 使用Python进行文件操作
作为高级语言,对文件进行操作时必不可少的功能.那么,Python是怎么对文件进行操作的呢? 1.什么是文件? 文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容. 文件包括两种类型:文本文件 ...
- CentOS7使用iptables防火墙开放端口
背景:在CentOS上面安装了mysql.svn.tomcat等软件,发现访问不了,用telnet命令查看端口,发现都不通: telnet IP 端口 CentOS7 默认使用firewalld防火墙 ...
- 前端怎么传一个map给JAVA
var map = {}; map['key1']=value1; map['key2']=value2; map['key3']=value3; map['key4']=value4; map['k ...
- 【JZOJ3601】【广州市选2014】Tree(tree)
╰( ̄▽ ̄)╭ 每个非叶子节点,其左右子树叶子节点的权值之和相等.我们称这种二叉树叫平衡二叉树. 我们将一棵平衡二叉树叶子节点的权值从左到右列出来,假如这个权值序列是另一个序列A的子序列,我们称这棵平 ...
- 用蒙特卡罗方法解非线性规划MATLAB
共需要三个M文件,主程序为randlp.m randlp.m: function [sol,r1,r2]=randlp(a,b,n) %随机模拟解非线性规划 debug=1; a=0; %试验点下界 ...
- PYTHON网络爬虫与信息提取[scrapy框架应用](单元十、十一)
scrapy 常用命令 startproject 创建一个新的工程 scrapy startproject <name>[dir] genspider 创建一个爬虫 ...