黑马程序员技术交流社区
标题:
关于函数传入参数的问题
[打印本页]
作者:
yan
时间:
2013-8-1 22:27
标题:
关于函数传入参数的问题
例:
class Demo
{
public static void main(String[] args)
{
int [] java ={34,23,56,45};
print(java);
}
public static void print(int [] arr)
{
for(int i=0;i<arr.length;i++)
{
System.out.print(arr[i]+"\t");
}
}
}
我的问题是为什么在传入实参的时候,前面不能加参数类型呢?如 print(int [] java);
求高手帮忙
作者:
abian
时间:
2013-8-1 22:35
因为函数在调用的时候,传递的参数不必要指明参数类型,但是在定义的时候必须指明参数类型。因为没有必要再指明数据类型。
作者:
肥猫
时间:
2013-8-1 23:03
本帖最后由 肥猫 于 2013-8-1 23:04 编辑
因为没必要,前面加类型那相当于声明,已经声明过一次了还要再次声明么?
比如你定义一个int a = 5;
你下面要调用赋值的时候难道还要在int a =10?
作者:
狼牙
时间:
2013-8-2 08:42
在函数调用时,无需再传递参数的数据类型,因为在函数定义时,已经声明过数据类型,在程序执行时编译器会根据传入的参数类型不同,去调用不同的函数。
形参和实参的区别
英文名字不同:形参是parameter,实参是argument。
本质不同:形参的本质是一个名字,不占用内存空间。实参的本质是一个变量,已经占用内存空间。
在Javadoc或MSDN中的地位不同:Javadoc和MSDN提到一个方法有哪些参数,往往用parameter这个词。只有到程序员真正使用这个方法,才是argument。
在调试的时候,parameter就转变成argument,这时也往往不使用argument一词,而是称之为variable(变量),因为实参本质上就是一个变量,在内存中占用一块空间。
作者:
李健09
时间:
2013-8-2 10:49
因为我们已经定义了参数的类型了,在传入的时候只能传入相应类型的参数,如我们后来传入的参数类型不同要转换成相同的类型才可以传入。
作者:
天涯海角
时间:
2013-8-7 18:39
因为在定义的时候已经说明了参数类型,所以传入参数的时候不必再加参数类型。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2