刚才我读到"char是Java中唯一的无符号整数基本类型".这是否意味着char是Java中不可或缺的类型之一?
与C相同,最近我读过C类型包括标量类型,函数类型,联合类型,聚合类型,标量类型包括指针类型和算术类型,然后算术类型包括整数类型和浮点类型,整数类型包括枚举类型和字符类型.
char类型真的可以归类为Java和C中的整数吗?
是的,a char
是所有流行语言中不可或缺的类型."积分"表示其光谱是离散的,任何两个不同值之间的最小差异是1
.与其他整数类型相比,所需的支持值范围通常非常小.计算机硬件传统上将整数视为基本数据类型; 相比之下,算术浮点类型是更新的和更复杂的添加.
类似于@aioobe 的回答
int n = 5;
char ch = (char) '0' + 5; // '5'
Run Code Online (Sandbox Code Playgroud)
或者反过来
char ch = '9';
int i = ch - '0'; // 9
Run Code Online (Sandbox Code Playgroud)
或不寻常的
char ch = 'a';
ch += 1; // 'b';
Run Code Online (Sandbox Code Playgroud)
或奇怪的
char ch = '0';
ch *= 1.1; // '4' as (char) (48 * 1.1) == '4'
ch %= 16; // `\u0004`
int i = ch; // 4
Run Code Online (Sandbox Code Playgroud)
顺便说一句:来自 String.hashCode()
// int h = 0;
char val[] = value;
int len = count;
for (int i = 0; i < len; i++) {
h = 31*h + val[off++];
}
Run Code Online (Sandbox Code Playgroud)