Q:

Looping never happens while the condition is never being satisfied?

Thanks for 000 suggested ans, but im still a newbie, would like to know the concept behind this result.         Anyone can make explicit?
0hi
3hello
3world

instead of 
0hi
0hello
0world

(assumption: num is never be ++ as the value is 0.)
application.args=hi hello world

public static void main (String[] args){
    int num;
    num=0;

    for (String s:args) {
        System.out.println(num+s);
        for(num=0;2>=num;num++);
    }

}

A:

If you want to print all arguments and number with it then modify your loop like 
for (String s:args){
System.out.println(num + " " + s);
num++;  // don't write this if you want 0 as the number every time
}

Edit
If you want to know why num in your code is incremented to 3 then

the control first come to for(String s: args)
Then it copies first value (value at 0 index) of args into s
Then it hits System.out.println(num+s); which print value of num which is still zero and value of s
Now for(num=0;2>=num;num++); it will increment num until num ≤= 2 so after the for statement execute your num value becomes 3
Then it goes for second iteration of outer loop copies second value of args into s
Then print num(which is 3) along with s and this will be repeated until all values in args are not processed

