导航:首页 > 源码编译 > 可变参数编译成数组

可变参数编译成数组

发布时间:2023-11-18 20:05:45

java中可变参数int nums[] = {1,2,3,4};为什么这样写是不对的,帮忙解释下谢谢!

int nums[] = {1,2,3,4};的写法是对。
首先你要明白“定义”本来就是一个笼统的概念,它可以是1.只声明;2声明并分配内存;3声明,分配内存并初始化。
java中定义数据就那么几种方法:
一:只声明一个数组,声明一个数组不分配内存,所以[ ]中不需要有数字
type arrayName[];或者type[] arrayName;
二:声明并分配内存,这时[ ]中必须有数字以显示数组长度
arrayName=new type[arraySize];或者type arrayName=new type[arraySize];
三:声明,分配内存并初始化,这时必须为数组显式初始化(也就是填写数组元素)
例如:int nums[] = {1,2,3,4};

PS:在(二:声明并分配内存)中,其实系统会默认初始化,int数组默认数组元素都是0,String数组默认数组元素都是空格,布尔数组默认数组元素都是false等等。
比如:int arrayName[4];其实等同于int arrayName[]={0,0,0,0};
至于int nums[ ] 和int[ ] nums本质是没什么区别的,尽量写成后者样式比较合理。

这么说应该很好理解吧!o(╯□╰)o

❷ java中参数变量具体是什么,可以干什么,有什么作用,

参数变量就是一个函数要被调用时候,传进去的那个东西,也叫 形参
留一个可以变化的东西给别人可以根据需要使用,
在JAVA中 参数变量有传值和传引用两种,基本上都是传引用

❸ java 可变参数是什么

java 可变参数是1.5版本的新特性,也就是说用户若是想定义一个方法,但是在此之前并不知道以后要用的时候想传几个参数进去,可以在方法的参数列表中写参数类型或者数组名,然后在方法内部直接用操作数组的方式操作。

(3)可变参数编译成数组扩展阅读

java可变长的形参声明格式:dataType...parameters。

其中,省略号表示数据类型为dataType的parameters参数个数不固定的,可为任意个。此外,在方法调用时,变长形式参数可被替换成1个、2个或多个参数。在编译时,方法的变长参数将被看成具有相同类型的一维数组。

在java语言开发中,从JDK1.5以后,java允许定义形参长度可变的参数从而允许为方法指定数量不确定的形参。

❹ Java中方法内的可变参数怎么使用

Java1.5增加了新特性:可变参数:


适用于参数个数不确定,类型确定的情况,java把可变参数当做数组处理。

注意:可变参数必须位于最后一项。当可变参数个数多余一个时,必将有一个不是最后一项,所以只支持有一个可变参数。因为参数个数不定,所以当其后边还有相同类型参数时,java无法区分传入的参数属于前一个可变参数还是后边的参数,所以只能让可变参数位于最后一项。


可变参数的特点:

(1)、只能出现在参数列表的最后;

(2)、...位于变量类型和变量名之间,前后有无空格都可以;

(3)、调用可变参数的方法时,编译器为该可变参数隐含创建一个数组,在方法体中一数组的形式访问可变参数。

publicclassVarable{
publicstaticvoidmain(String[]args){
System.out.println(add(2,3));
System.out.println(add(2,3,5));
}
publicstaticintadd(intx,int...args){
intsum=x;
for(inti=0;i<args.length;i++){
sum+=args[i];
}
returnsum;
}
}

❺ ...的Java中可变参数的符号

在编写一个方法时,其参数随着程序运行的条件而变化,在编译期间无法确定。具体地讲,例如编写一个打印参加聚会party的程序,其中方法printInvitation()将根据作为参数的参加人姓名,打印邀请卡。但这个参数的数量事先并不确定。当然可以编写许多重载的方法来解决这个问题,如:
void printInvitation(String name);
void printInvitation(String name1, Stringname2);
void printInvitation(String name1, Stringname2, String name3);
问题是编写多少个重载的方法才可以解决给所有参加者打印邀请卡?也许需要改变您的程序设计,而使用数组或者链接表了。
应用可变参数可以方便、灵活地解决这类问题。例如:
void printInvitation(String...names) {
for (String name : names) {
makeCard(name); //调用方法按照姓名打印邀请卡
System.out.println(Recording info: invitation card has been printed for + name);
}
}
这里,(String...names)便是可变参数。它包括从0到任意个相同类型的参数。在编译期间,这个可变参数将被转换为字符串数组形式,即:void printInvitation(String names).
如下是调用这个方法的例子:
printInvitation(李刚, David Smith);
printInvitation(Greg Wu, Paul Nguyen, Liu Wei, 张新);
printInvitation(); //无参数
当在无参数情况下调用这个方法时,将不执行任何这个方法中的代码。
如下是运行结果:
Recording info: invitation card has been printed for 李刚
Recording info: invitation card has been printed for David Smith
Recording info: invitation card has been printed for Greg Wu
Recording info: invitation card has been printed for Paul Nguyen
Recording info: invitation card has been printed for Liu Wei
Recording info: invitation card has been printed for 张新

阅读全文

与可变参数编译成数组相关的资料

热点内容
cad安装卡在解压 浏览:615
编程精灵g540 浏览:256
手机文档解压之后解压包去哪儿了 浏览:923
java中网络编程重要吗 浏览:683
如何登录别人的服务器 浏览:626
调度系统软件python 浏览:205
微信大转盘抽奖源码 浏览:497
压缩机损坏的表现 浏览:862
同步数据服务器怎么用 浏览:634
163邮箱服务器的ip地址 浏览:50
服务器跟域是什么 浏览:128
rails启动命令 浏览:465
logistic命令怎么用 浏览:738
c语言点滴pdf 浏览:747
linuxrtc编程 浏览:258
linux打包并压缩命令 浏览:644
aes加密的证书格式 浏览:99
oracledbcalinux 浏览:844
酬勤任务app怎么被特邀 浏览:199
android应用文件夹 浏览:1002