黑马程序员技术交流社区
标题:
char类型和int类型之间的转换问题
[打印本页]
作者:
乔玉吉
时间:
2012-3-17 00:14
标题:
char类型和int类型之间的转换问题
怎样让char类型的转换成int类型,和int类型的转换成char类型?最好举个例子.
作者:
叶绍亮
时间:
2012-3-17 00:22
char c = ‘A’;
int i = c;
//反过来只要作强制类型转换就行了
c = (char) I;
作者:
黑马肖凯骏
时间:
2012-3-17 00:28
char a='a';
int b=100;
int s=(int)a;强制类型转换即可完成
作者:
薛波
时间:
2012-3-17 08:38
关于类型的自动提升,遵循下边的规则:
所有的 byte 、 short 、 char 类型的值将提升为 int 类型;
如果有一个操作数是 long 类型,计算结果是 long 类型;
如果有一个操作数是 float 类型,计算结果是 float 类型;
如果有一个操作数是 double 类型,计算结果是 double 类型;
顺序: byte -> short(char) -> int -> long -> float -> double
当两个类型进行自动转换的时候,需要满足条件:【 1 】这两种类型是兼容的,【 2 】目的类型的数值范围应该比源转换值的范围要大。而拓展范围就遵循上边的自动类型转换树,当这两个条件都满足的时候,拓展转换才会发生,而对于几个原始类型转换过程,根据兼容性 boolean 和 char 应该是独立的,而其他六种类型是可以兼容的,在强制转换过程,唯独可能特殊的是 char 和 int 是可以转换的,不过会使用 char 的 ASCII 码值比如:
int a = (int)'a';
a 的值在转换过后输出的话,值为 97 ;
作者:
杨华威
时间:
2012-3-17 08:53
强转char转换成int使用(int)char;
char x=‘a’;
System.out.println((int)x);
那么a强转成int后结果为97;
反之则依然:
int x=97;
System.out.println((char)x);
把x强转成char类型后结果为a;
具体转换值可以参考ASCII 码表。
作者:
刘_浩
时间:
2012-3-17 09:47
int型转换为char的是(char)+式子。这是强转。char w=a;b=w+1。这里的w就会转换为int和1保持一致,再进行计算。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2