x=0xffffff0;
That's 7 hex digits, so the full value of your int, in hex is
0F FF FF F0
shifted 4 left that becomes
FF FF FF 00
ints are stored as 1 sign bit (0 = positive, 1 = negative) and 31 bits of value.
So on your 4th shift the first bit changes from 0 to 1 and the int gets interpreted as a negative number.

x=0xffffff0;
That's 7 hex digits, so the full value of your int, in hex is
0F FF FF F0
shifted 4 left that becomes
FF FF FF 00
ints are stored as 1 sign bit (0 = positive, 1 = negative) and 31 bits of value.
So on your 4th shift the first bit changes from 0 to 1 and the int gets interpreted as a negative number.

hey! please please explain it more. explain each word more properly please.

if your exam is about to arrive, I doubt this is the first time you've had the option to study this material.
realise that an int is (normally portrayed as) decimal, that what you want is hexadecimal, take a look at the differences and see if you can find the values with the same values in decimal and hexadecimal for

Sorry, that's as clear as I can make it. Just read it slowly and check any words you don't understand by looking on Google or Wikipedia

my second question to u is that "when i say int x=0xffffffff"(8 times f) then it prints only -1.okay why it is negative i know it. but why its value is only "1"? it should be greater than 1 means much greater than 1?

The value part of an int for a negative value is held in "two's compliment" form, in which ffffffff is -1 and 80000000 is the largest possible negative number. It's a bit like inverting all the 1s and 0s for negative numbers, because that makes it much easier to design the hardware for adding numbers. The full story is a bit more complicated, so here's an article that explains it in great detail http://en.wikipedia.org/wiki/Two%27s_complement

public class Main {
public static void main(String[] args) {
long timeCheck;
long periodOfTime;
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(2);
long initialDelay = 0; // ...