In the text I have read, it states that for an integer type long, the biggest value it can be given is:- 9223372036854775807; and the smallest value it can be given is:- -9223372036854775808; however in the following program:-
both initialisations return a compiler error - that bigLong is too big and the smallLong is too big : -
Literals are by default ints -- not longs. So, it is complaining that the literal is too big for an int, not that it is too big to be assigned to a long.
There are similar problems with floats, which may require an "f" suffix, and you can suffix "d" to doubles. This is one of the few places where Java is case-insensitive, but always use a capital L, not a small l; I hope the reasons will be obvious.