The loop never enters because the condition 0 < (byte)255 is not met. Try this: System.out.println((byte)255); and you will see that it is always less than zero (the initial value).

"how can we know that 11111111 is equlant to -1 ..how do u calculate..?"

For bytes, shorts, ints, and longs, negative numbers are represented using 2's-complement notation. To take the negative of a number, invert all the bits and then add 1. (Don't worry if there's overflow.) So to take the negative of 1, start with

00000001

Then invert all bits:

11111110

And add 1:

11111111

Note that if you invert all these bits and add 1, you've taken the negative of -1, and you're back at +1. There's an animated illustration that lets you play with this mechanism in Chapter 2 of "Ground-Up Java".

And you're right that bv<125 is ok.

Consultant to SCJP team.<br />Co-designer of SCJD exam.<br />Co-author of "Complete Java 2 Certification Study Guide".<br />Author of "Ground-Up Java".

amit taneja
Ranch Hand

Joined: Mar 14, 2003
Posts: 806

posted

0

so u have written the book java groundup.. and thats y naming it... any way... thanx and goodluck for ur book

is there is some pdf version available or any part of it u give for publicity ...so we can atleast get some info about book and to review the book regards, [ June 05, 2005: Message edited by: amit taneja ]