A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 乔玉吉 中级黑马   /  2012-3-17 00:14  /  2931 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

怎样让char类型的转换成int类型,和int类型的转换成char类型?最好举个例子.

6 个回复

倒序浏览
char c = ‘A’;

int i = c;

//反过来只要作强制类型转换就行了

c = (char) I;
回复 使用道具 举报
char a='a';
                       int b=100;
                       int s=(int)a;强制类型转换即可完成
回复 使用道具 举报
 关于类型的自动提升,遵循下边的规则:
    所有的 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 18:06
回复 使用道具 举报
强转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 码表。
回复 使用道具 举报
int型转换为char的是(char)+式子。这是强转。char w=a;b=w+1。这里的w就会转换为int和1保持一致,再进行计算。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马