well Simon Roberts in his book has mentioned, that for Unary operators ,2 rules aply. One of them being that if the operand is byte,short or a char,it is converted to an int. Using this rule When you run this code ,the output should be type mismatch, as we can't convert int value to char type without casting,but surprisingly when you run this code you get the answer as - The value is b Why?
[This message has been edited by dhruv simaria (edited March 26, 2001).] [This message has been edited by dhruv simaria (edited March 27, 2001).]
Hi, welcome to JavaRanch. This particular forum is intended for discussion about JavaRanch itself, not for questions about the Java language. I am moving this post to Java in General (Beginner), which is a good place for your questions about the language.
In your example, when using the "++" operator there is numeric promotion of type char to type int, so the char value is converted to its numeric equivalent and then it is increased. There is also an implicit cast back to type char and it casts the increased numeric value to char which why the char value cahnged.