黑马程序员技术交流社区
标题:
关于if else 的疑问
[打印本页]
作者:
北极£莜蓝
时间:
2014-6-10 23:24
标题:
关于if else 的疑问
数组遍历 int[] arr = {98,23,16,35,72}; 写一个对象数组操作的功能,实现把数组中的数据按照如下格式返回:
* "[98, 23, 16, 35, 72]"
*/
public static String printArray(int[] arr) {
String s = "";
for (int i = 0; i < arr.length; i++) {
if (i == arr.length - 1) {
s += arr[i];
}
else
s += arr[i] + ",";
}
return "[" + s + "]";
}
如果不加else 输出结果是:"[98, 23, 16, 35, 7272]",求解for循环里if 和else如何是好
作者:
北极£莜蓝
时间:
2014-6-10 23:41
我自己总结是如果条件有交集的话还是加上else .条件没有交集的话就不用加else,感觉不是太形象
作者:
java木
时间:
2014-6-10 23:48
不加else结果应是[98, 23, 16, 35, 7272,]没有else s += arr[i] + ",";语句的执行不在控制之内。
作者:
爨庚轩
时间:
2014-6-10 23:53
s += arr[i] + ",";这句代码 不管是否满足if语句,都会执行,当循环到最后一个元素时,这句代码不需要执行,所以要加else语句,看是否执行这句代码。我感觉判断用不用else要看这句代码是否有时执行,有时不执行。
作者:
love~陌
时间:
2014-6-10 23:59
public static void print(int[] arr) {
// 为了格式,首先打印一个中括号
System.out.print("[");
// 循环走起来~
for (int i = 0; i < arr.length; i++) {
// 判断一下
// 这里判断,无非就是不想让数组最后一个元素后面多出来一个逗号而已
if (i == arr.length - 1)//若是if下面只有一条语句,那么我们可以省略大括号
System.out.println(arr[i] + "]");
System.out.print(arr[i] + ",");
}
}
复制代码
少侠,还有什么疑问么
作者:
北极£莜蓝
时间:
2014-6-11 00:14
love~陌 发表于 2014-6-10 23:59
少侠,还有什么疑问么
巧妙的避开了重点,if语句下面的else省略后,该语句就相当于是一个普通的语句了,当if的判断结构执行完后.要顺序执行下一个语句.而加上else语句后.if与else语句中二选一,当表达式为真时,执行 执行语句.表达式为假,执行else语句,
作者:
北极£莜蓝
时间:
2014-6-11 00:16
love~陌 发表于 2014-6-10 23:59
少侠,还有什么疑问么
辛苦了.感谢大神...交个朋友.:#
作者:
sun_jun
时间:
2014-6-11 21:59
那要看if语句执行后,后面的语句还需不需要只执行一次。
作者:
人心如水
时间:
2014-6-11 22:37
你这代码写的好没阅读性啊{:2_40:}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2