John Jai wrote:char size is to hold a 16-bit unicode value. If you read this Java tutorial's Primitives you can see it holds till 65535.
Hence till char c=65535; you won't get compiler error.
If you know about char size that is unsigned 65535 then you may also know about integer size that is from -2,147,483,648 to +2,147,483,647.So matter is not that how much range it will allow ,matter is that it is a narrowing conversion and there must be explicit casting .