java中,args.length == 0 ? 5 :Integer.parseInt(args[0]);应该怎样理解?当args时,其length为多少?

是当没有args时,args.length为多少 ???

整句是不是应该这样理解:
if(args.length==0)xxxx=5;
else xxxx=Integer.parseInt(args[0]);

args 是字符串类型的数组名, 数组中的元素由你在键盘上输入

如果你没有输入,args.length就是数组的长度就是0 。

对,args.length == 0 ? 5 :Integer.parseInt(args[0]);是三目运算符表达式,就是if(args.length==0)xxxx=5;
else xxxx=Integer.parseInt(args[0]);
的意思
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-08-31
举个例子
int temp=args.length == 0 ? 5 :Integer.parseInt(args[0]);
假如args.length为0,即没有在命令行输入值,那么就没有args参数传递
此时args.length为一个空的数组
当args为空时(不为null),temp=5
当args不为空时,temp等于第一个输入值(注意此处,如果输入的第一个值不是数字时,会抛出NumberFormatException,应该用try语句处理)
第2个回答  2010-08-31
没错,条件判断表达式
int xxx=args.length == 0 ? 5 :Integer.parseInt(args[0]);
第3个回答  2010-08-31
为0