字符

發表于:2007-07-14來源:作者:點擊數: 標簽:
在Java 中,存儲字符的數據類型是char 。但是,C/C++ 程序員 要注意:Java 的char與C 或C++ 中的char不同。在C/C++ 中,char的寬是8位整數。但Java 的情況不同。Java 使用Unicode 碼代表字符。Unicode 定義的國際化的字符集能表示迄今為止人類語言的所有字符

在Java 中,存儲字符的數據類型是char 。但是,C/C++ 程序員要注意:Java 的char與C 或C++ 中的char不同。在C/C++ 中,char的寬是8位整數。但Java 的情況不同。Java 使用Unicode 碼代表字符。Unicode 定義的國際化的字符集能表示迄今為止人類語言的所有字符集。它是幾十個字符集的統一,例如拉丁文,希臘語,阿拉伯語,古代斯拉夫語,希伯來語,日文片假名,匈牙利語等等,因此它要求16位。這樣,Java 中的char 類型是16位,其范圍是0~65,536,沒有負數的char 。人們熟知的標準字符集ASCII 碼的范圍仍然是0~127 ,擴展的8位字符集ISO-Latin-1 的范圍是0~255。既然Java 被設計為允許其開發的applet (小應用程序)在世界范圍內使用,因此使用Unicode 碼代表字符是說得通的。當然,Unicode 的使用對于英語、德語、西班牙語或法語的語言是有點低效,因為它們的字符能容易地被包含在8位以內。但是為了全球的可移植性,這一點代價是必須的。

注意:有關Unicode 碼的更多信息可在網址http://www.unicode.org 上找到。

下面的程序示范了char 變量:

// 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);
}
}

該程序的輸出結果如下:ch1 and ch2:X Y

注意變量ch1 被賦值88,它是ASCII 碼(Unicode 碼也一樣)用來代表字母X的值。前面已提到,ASCII 字符集占用了Unicode 字符集的前127個值。因此以前你使用過的一些字符技巧在Java 中同樣適用。

盡管char 不是整數,但在許多情況中你可以對它們進行運算操作就好像他們是整數一樣。這允許你可以將2個字符相加,或對一個字符變量值進行增量操作。例如,考慮下面的程序:

// 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);
}
}

這個程序的輸出結果如下所示:

ch1 contains X
ch1 is now Y

在該程序中,ch1首先被賦值為X。然后變量ch1遞增(自增量1)。結果是ch1 變成了代表Y,即在ASCII (以及 Unicode )字符集中的下一個字符。

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97