日期:2014-05-20  浏览次数:20698 次

java中的简单问题
public class Fol
{
public static void main(String[] args) {
int[] a = {1,4,6,3,8,9};
for(int i = 4;i < 3;i++) {//这样做有错误吗?i = 4时要不要判断i < 3?还是直接执行System语句.
System.out.println(a[4]);
}


}
}

//为什么最后没有输出结果,不是应该输出8吗?

回答一下我这个程序中提出的问题?

------解决方案--------------------
开始就要判断一次,4<3不成立所以没结果
------解决方案--------------------
for(int i = 4;i < 3;i++) //for语句,初始条件;判断条件;循环计数
所以int i = 4是初始化循环变量的值为4,接着进行条件判断 i < 3(此时i的值是4),显然 4 > 3,所以条件不满足,没有进入循环体,所以没有任何输出。

------解决方案--------------------
for的执行顺序为
for(1;2;3){
4
}
1 -> 2 ->4 ->3
所以你的for循环根本就不执行
------解决方案--------------------
for(int i = 4;i < 3;i++),int i = 4这一句是初始化循环控制变量, i < 3这是句是循环控制条件,也就是当i < 3时进入循环!现在i初始值已经是4了,所以不会进循环!
------解决方案--------------------
for(int j = k+1;j<a.length;j++) 

数组中的最后两个数对比不到。
------解决方案--------------------
for循环的第一轮也要判断循环条件的。
------解决方案--------------------
for(int i = 4;i < 3;i++) 根本就无法进入循环