首页

文章

JAVA中数组的形参和实参

发布网友 发布时间:2022-04-20 00:56

我来回答

3个回答

热心网友 时间:2023-06-24 10:59

package demo;

public class Demo {
private static void f1(int[] array){
for(int i:array){
System.out.println(i);
}
}

public static void main(String[] args) {
int[] array = new int[5];
for(int i=0;i<array.length;i++){
array[i]=i;
}
f1(array);
}
}
//说明:main方法中的array数组即是实参,而方法f1中的数组array则是形参

热心网友 时间:2023-06-24 11:00

问题是说数组作为方法参数的时候,是传值还是传址么?

热心网友 时间:2023-06-24 11:00

形式参数和实际参数
函数的参数分为形参和实参两种。在本小节中,进一步介绍形参、实参的特点和两者的关系。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参的功能是作数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实现主调函数向被调函数的数据传送。
函数的形参和实参具有以下特点:
1. 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
2. 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值,输入等办法使实参获得确定值。
3. 实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。
4. 函数调用中发生的数据传送是单向的。即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。 因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化。

【例】可以说明这个问题。
c++:
main()
{
int n;
printf("input number\n");
scanf("%d",&n);
s(n);
printf("n=%d\n",n);
}
int s(int n)
{
int i;
for(i=n-1;i>=1;i--)
n=n+i;
printf("n=%d\n",n);
}

java:
public static void main(String[] args) throws Exception {
int n;
System.out.println("input number\n");
Scanner sca = new Scanner(System.in);
n = sca.nextInt();
s(n);
System.out.println("n=" + n + "\n");
}

public static void s(int n) {
int i;
for (i = n - 1; i >= 1; i--)
n = n + i;
System.out.println("n=" + n + "\n");
}

本程序中定义了一个函数s,该函数的功能是求∑ni的值。在主函数中输入n值,并作为实参,在调用时传送给s 函数的形参量n( 注意,本例的形参变量和实参变量的标识符都为n,但这是两个不同的量,各自的作用域不同)。在主函数中用printf 语句输出一次n值,这个n值是实参n的值。在函数s中也用printf 语句输出了一次n值,这个n值是形参最后取得的n值0。从运行情况看,输入n值为100。即实参n的值为100。把此值传给函数s时,形参n的初值也为100,在执行函数过程中,形参n的值变为5050。返回主函数之后,输出实参n的值仍为100。可见实参的值不随形参的变化而变化。

如果是数组的话,都是形参,也就所谓的变量地址的引用,而不是值的引用

PS:辨别形参和实参的方法很简单,System.out.println(对象或数字);
输出的不是值,而是对应的地址,那就是形参
结婚后我的恋情维系了十年,怎么做到的? 玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 java 中的实参和形参是什么东西 在java中,什么是形参什么是实参,它们都是什么类... Java 形参 与 实参 java中形参和实参各是什么 java中形参实参各是什么,分别有什么作用? Java中实际参数和形式参数的区别有哪些? JAVA中的形参和实参是什么意思 每天早上只吃两个鸡蛋好吗?为什么? 对于中老年男性来说,每天吃几个鸡蛋合适呢? 每天早上吃两个鸡蛋好吗 每天吃两个水煮蛋好吗 每天吃两个鸡蛋好吗? 每天早上吃两个鸡蛋可以吗 每天吃2个鸡蛋好吗 每天睡觉前吃两个鸡蛋好吗 每天只吃两个鸡蛋会不会对身体不好? 每天吃几个鸡蛋比较好?吃多会有什么坏处? 每天吃两个鸡蛋,对身体好不好 一天吃几个鸡蛋比较合适?为什么? 每天吃两个鸡蛋好吗 JAVA中实参和形参的区别 Java 实际参数和形式参数长度不同 java编译报错:实际参数列表和形式参数列表长度不同 java实际参数列表和形式参数列表长度不同! JAVA实际参数和形式参数列表长度不同 Java代码bug求助,实际参数列表与形式参数列表长度... java中 实际参数列表和形式参数列表长度不同 形式参数列表和实际参数列表不同——Java求解 java 实际参数列表 和形式参数列表 长度不同 如何区分Java中的值传递和引用传递(急) java实际参数列表与形式参数长度不同 股票亏损的钱都去哪了 股市里亏的钱,到底去哪了? 散户炒股亏的钱到底去哪了?钱真会凭空消失吗? 股票输赢的钱什么地方来?是不是与赌博的区别? 股票下跌时,股民亏的钱去哪了? 股票亏 亏的那些钱去哪了? 炒股亏损的钱到哪去了 炒股各个亏损累累,那请问这些炒股亏损的钱到底去... 股市里跌的钱都去了哪里?是谁拿走了这些钱?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com