黑马程序员技术交流社区

标题: char类型怎么转换成int类型 [打印本页]

作者: asvsass    时间: 2014-3-3 19:00
标题: char类型怎么转换成int类型
本帖最后由 asvsass 于 2014-3-3 19:10 编辑

有人知道吗
一个char 是5
不是转换成差编码表的 就转成int的5

作者: l939    时间: 2014-3-3 19:24
char a = 5;
int y = (int) a;
好像是这样的。。。老毕的基础视频里有说的吧。。进制转换的时候。十进制转十六进制是,大于了9强制转换
作者: chaos    时间: 2014-3-3 19:35
char c= 5;
int i=(char)c;//强制转换
作者: 乔青山    时间: 2014-3-3 19:41
char c = '5';
String str = String.valueOf(c);
int i =  new Integer(str).intValue();
作者: mohuancaizi    时间: 2014-3-3 20:05
char c = ‘A’;
作者: mohuancaizi    时间: 2014-3-3 20:06
char c = ‘A’;

int i = c;

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

c = (char) i;
作者: osully    时间: 2014-3-3 20:52
其实有个最简单的办法
char c = '5';
int x ='5'+1-1;

自动转换.. 低级往高级自动转换
作者: 方青木    时间: 2014-3-3 22:16
osully 发表于 2014-3-3 20:52
其实有个最简单的办法
char c = '5';
int x ='5'+1-1;

int x='5'+0;
作者: 吴涛    时间: 2014-3-4 11:53
本帖最后由 吴涛 于 2014-3-4 11:55 编辑

数字字符转成对应的整数,我想到的有:‘5’-‘0’,可以查看ASCII表,就知道了:‘0’-‘9’对应于十六进制的:30-39,对应与十进制48-57还有就是,上面帖子说到的,Java中存在强制转换:int x=int( ch) 或 int x = (int) ch;

作者: victorsun    时间: 2014-3-4 13:12
做墙纸转换吧,char a= 5; int b=(char)a;就在int型变量b中存入被强制转换成int型的char型变量a。
作者: ixiangfeng    时间: 2014-3-4 13:57
chaos 发表于 2014-3-3 19:35
char c= 5;
int i=(char)c;//强制转换

强转不是这样用的、、、、、
作者: ixiangfeng    时间: 2014-3-4 13:58
victorsun 发表于 2014-3-4 13:12
做墙纸转换吧,char a= 5; int b=(char)a;就在int型变量b中存入被强制转换成int型的char型变量a。 ...

回去看看强转吧 你这哪里有用强转了啊 把自己强转成自己吗?
作者: 织语不如书    时间: 2014-3-4 14:45
char c = '5';
int i = Integer.parseInt(c + ""); //利用Interger.parseInt(String s)
作者: 行如止水    时间: 2014-3-4 15:44
通过String类来转换!
作者: victorsun    时间: 2014-3-4 15:54
ixiangfeng 发表于 2014-3-4 13:58
回去看看强转吧 你这哪里有用强转了啊 把自己强转成自己吗?

我写错了,是int b=(int)a

作者: centian2005    时间: 2014-3-4 16:26
本帖最后由 centian2005 于 2014-3-4 17:10 编辑

字符型常量也可以采用16进制编码方式表示,范围是'\u0000'-'\uFFFF',一共可以表示65535个字符,其中前256个字符和ASCII码中的字符完全重合(java采用Unicode字符码系统,它为每个字符制订了一个唯一的数值
不仅如此,char类型的值也可直接作为整数型的值来使用,但它是一个16位无符号整数,即全部是整数,范围是0-65535.如果把一个在0-65535内的int整数赋值给char类型的变量,系统会自动把这个int整数当成char来处理
希望能帮助你更好的理解:victory:
作者: 郝大龙0104    时间: 2014-3-4 17:21
Integer.parseInt('5'+"")

调用 Integer类的静态方法  parseInt

parseInt
public static int parseInt(String s)
                    throws NumberFormatException将字符串参数作为有符号的十进制整数进行解析。除了第一个字符可以是用来表示负值的 ASCII 减号 '-' ('\u002D') 外,字符串中的字符都必须是十进制数字。返回得到的整数值,就好像将该参数和基数 10 作为参数赋予 parseInt(java.lang.String, int) 方法一样。

参数:
s - 包含要解析的 int 表示形式的 String。
返回:
用十进制参数表示的整数值。
抛出:
NumberFormatException - 如果字符串不包含可解析的整数。

作者: 郭黎明    时间: 2014-3-4 19:37
char a =5 ;int i = Integer.parseInt(a+""); 把char类型当成一个字符串进行处理,然后用Integer.parseInt()进行转换,希望能帮到你
作者: 三眼皮    时间: 2014-3-5 14:32
基本数据类型转成字符串(也可以是char),常用的有两种方式:1、基本数据类型+"",例如:string 5+“”;2、基本数据类型.toString(基本数据类型值),例如: Integer.toString(5);//将5整数变成"5";
字符串转成基本数据类型:int a = Integer.parseInt("5");




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2