java Int类型的值 转换成ascii 值对应的字符

例如 int a=65;
char b;
...;
System.out.println(b);
要b的值为A;
...处应该怎样写;

1、将数值 “22545” 转换成 char 类型,然后运行, 控制台得到的结果是 中文“堑”.

char b = (char)22545;
System.out.println(b);

2、将中文 “一” 转换成 int 类型,然后运行, 控制台得到的结果是 19968.

int b = '一';
System.out.println(b);

扩展资料:

1、字面值赋值

在使用字面值对整数赋值的过程中,可以将int literal赋值给byte short char int,只要不超出范围。这个过程中的类型转换时自动完成的,但是如果你试图将long literal赋给byte,即使没有超出范围,也必须进行强制类型转换。例如 byte b = 10L;是错的,要进行强制转换。

2、表达式中的自动类型提升

除了赋值以外,表达式计算过程中也可能发生一些类型转换。在表达式中,类型提升规则如下:

所有byte/short/char都被提升为int。

如果有一个操作数为long,整个表达式提升为long。float和double情况也一样。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-10-07
直接”int b=(char)a; “即可实现。
解释:上面”a“的值就是int类型的数值,b就是转换后的数值,如a =0;那么 b的值就是30;
备注:assic中”0“对应的就是”30“,”1“对应的是”31“,依次类推。但是大于9的就会没有对应的值,输出结果也就是为空。
第2个回答  2009-07-19
/**
* @author slieer
* @date
*/
public class CharTest {
public static void main(String args[]) {
for (int i = 0; i <= 255; i++) {
// 字符串连接尽量采用concat 或动态字符串
System.out.print(convertIntToAscii(i) + " ");
}
}

/**
*注: java 只有unicode编码,无ascii码。不过ascii对应于unicode编码的前256个编码。
* @return int类型的值 转换成ASCII值对应的字符, 如果 a 超过char的范围,则返回'\0'
*/
public static char convertIntToAscii(int a) {
return (a >= 0 && a <= 255) ? (char) a : '\0';
}
}

也望大家指正。。。。。。。。。。。。
第3个回答  2009-07-19
public class Test{
public static void main(String args[]){
//System.out.println("ttttttttttttttttttt");
int a=65;
char b;
b=(char)a;
System.out.println(b);
}

}
第4个回答  2019-03-14
int index = input.nextInt();
char c = (char) (index + '0' + '0');

至于为啥要加两个'0',我也不是很清楚,反正加了就通过了,当然这里index要在[0, 255]之间
相似回答