java中的args
String s = args[0]; 为什么不对 这样写也不对 if(args.length>0){ String s = args[0]; } 这样写就对了: String s = ""; if(args.length>0){ s = args[0]; } 这到底是为什么?
String s = args[0]; 为什么不对 这样写也不对 if(args.length>0){ String s = args[0]; } 这样写就对了: String s = ""; if(args.length>0){ s = args[0]; } 这到底是为什么?
答案:String s = args[0]; 为什么不对
--因为args有可能长度为0,args[0]就出越界错误了。
这样写也不对
if(args.length>0){
String s = args[0];
}
--这里的s被你宣布成一个只有if后面的{}块中才能看见的变量了。
这样写就对了:
String s = "";
if(args.length>0){
s = args[0];
}
--结合上面两点,所以得这么写。
其他:你的args是main方法中的参数吧,这个参数是由运行前给定的参数。直接运行程序不跟参数的话,args为空,所以String s = args[0]; 报错,数组越界!第二种和第三种应该都没有问题吧,
args没有值,长度为0,判断里面根本进不去。 程序运行要跟参数的话,如java HelloWorld args1
多个参数中间用空格隔开! if(args.length>0){
String s = args[0];
}
这样是没有错的,你确定它错了吗?
其他的安千解释了
上一个:在myeclipse10中,c:set标签会报错,其他标签像,c:foreach,c:if等都没问题,这是怎么回事呢?
下一个:如何自动弹出弹出框