方法是数组类型时候,传入参数的一点小疑问
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | import java.util.Scanner; public class FloatDemo { public int plus( int a, int b) { return a + b; } public double plus( double a, double b) { return a + b; } public int plus( int [] a) { int sum = 0 ; for ( int n : a) { sum += n; } return sum; } public static void main(String args[]) { FloatDemo fd = new FloatDemo(); int m = 10 , n = 15 ; double a = 10.3 , b = 14.7 ; int [] s = { 1 , 2 , 3 , 4 , 5 , 6 }; System.out.println( "整数相加和为:" + fd.plus(m, n)); System.out.println( "浮点数相加和为:" + fd.plus(a, b)); System.out.println(fd.plus( 1 , 2 )); System.out.println(fd.plus( 1.2 , 2.3 )); // System.out.println(fd.plus({1,2,3})); } } |
/最后一句报错,为啥参数是整数或者浮点数的时候,可以不定义变量,直接传入。但是参数的数组的时候,不能将数组直接传入。是因为数组是引用数据类型必须先定义变量才能使用吗?/
11
收起
正在回答
1回答
同学你好,并不是这样的。
数组和整数、浮点数等的数据类型有本质的区别,所以不能互相转化。那么当参数声明为整数的时候,传入数组就会参数不匹配,导致报错。这里与数组存储的数据类型无关,只要是数组,就会报错。这就像参数声明要求传入int类型,但实际想要传入String时是一样的,哪怕这个字符串真的是由纯数字构成,它的本质也是String而不是int,是无法匹配的。数组也是同理。
祝学习愉快~
Java工程师 2024版
- 参与学习 2035 人
- 提交作业 1391 份
- 解答问题 1258 个
2024重磅革新,超百小时内容豪华升级,加速提升高级技能与高薪就业竞争力 课程紧贴企业最新人才需求,历经7年持续迭代,帮助万名学子入行转行 从零起点到高阶实战,学习路径稳健顺滑,成就从小白到工程师高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧