Characters
In Java, the data type used to store characters
is char. However, C/C++ programmers
beware: char in Java is not the same
as char in C or C++. In C/C++, char is 8 bits wide. This is not the case in Java. Instead, Java uses
Unicode to represent characters.
Unicode defines a fully international character set that can represent all of
the characters found in all human languages. It is a unification of dozens of
character sets, such as Latin, Greek, Arabic, Cyrillic, Hebrew, Katakana,
Hangul, and many more. At the time of Java's creation, Unicode required 16
bits. Thus, in Java char is a 16-bit
type. The range of a char is 0 to
65,536. There are no negative chars.
The standard set of characters known as ASCII still ranges from 0 to 127 as
always, and the extended 8-bit character set, ISO-Latin-1, ranges from 0 to
255. Since Java is designed to allow programs to be written for worldwide use,
it makes sense that it would use Unicode to represent characters. Of course,
the use of Unicode is somewhat inefficient for languages such as English,
German, Spanish, or French, whose characters can easily be contained within 8
bits. But such is the price that must be paid for global portability.
NOTE More information about Unicode can be found at http://www.unicode.org.
Here is a program that demonstrates char variables:
//
Demonstrate char data
type.
class CharDemo {
public
static void main(String args[]) {
char
ch1, ch2;
ch1 =
88; // code for X
ch2 =
'Y';
System.out.print("ch1
and ch2: "); System.out.println(ch1 + " " + ch2);
}
}
This program displays the following output:
ch1 and
ch2: X Y
Notice that ch1 is
assigned the value 88, which is the ASCII (and Unicode) value that corresponds
to the letter X. As mentioned, the
ASCII character set occupies the first 127 values in the Unicode character set.
For this reason, all the “old tricks” that you may have used with characters in
other languages will work in Java, too.
Although char is
designed to hold Unicode characters, it can also be used as an integer type on
which you can perform arithmetic operations. For example, you can add two
characters together, or increment the value of a character variable. Consider
the following program:
// char
variables behave like integers.
class
CharDemo2 {
public
static void main(String args[]) {
char
ch1;
ch1 =
'X';
System.out.println("ch1
contains " + ch1);
ch1++;
// increment ch1
System.out.println("ch1
is now " + ch1);
}
}
The output generated by this program is shown here:
ch1
contains X
ch1 is
now Y
In the program, ch1 is
first given the value X. Next, ch1 is incremented. This results in ch1 containing Y, the next character in the ASCII (and Unicode) sequence.
NOTE In the formal specification for Java, char is referred to as an integral type, which means that it is in the same general category as int,
short, long, and byte. However, because its principal use is for representing
Unicode characters, char is commonly considered to be in a category of its own.
Related Topics
Privacy Policy, Terms and Conditions, DMCA Policy and Compliant
Copyright © 2018-2023 BrainKart.com; All Rights Reserved. Developed by Therithal info, Chennai.