黑马程序员技术交流社区

标题: 关于数据类型转换 [打印本页]

作者: 赵孟恩    时间: 2012-3-11 10:57
标题: 关于数据类型转换
byte  short  int  long    float  double  char   自动转换的顺序  以及byte short char 之间的转换
作者: 冯旭君    时间: 2012-3-11 11:02
本帖最后由 冯旭君 于 2012-3-11 11:06 编辑

byte、short、int、char型进行运算是,都是转换为int型。如char c ='a'; int d = c + 20;这种会先把c转换为int即转换为c对应的ASCII码进行运算。foalt会转换成double型。还有就是数据“类型小的”跟数据“类型大的”想运算时,会把小的数据类型转换为数据类型大的然后运算。如:long big = 100;int small = 100; long sum = big + small;运算时会先把small转换为long型的然后运算。

作者: 王春祥    时间: 2012-3-11 11:31
本帖最后由 王春祥 于 2012-3-11 11:32 编辑

楼上说的挺清楚了,这些数据类型由低到高就是
(byte,short,char); int;long;float;double
多种类型数据混合运算是,系统首先将所有数据类型转换为容量最大的那种数据类型在计算。
java中涉及byte,short和char类型数据的运算,首先会把这些数据转换为int型,计算结果是int型数据。例如两个byte型相加结果是int型
char型数据向整型转换时,是转换为对应的ASCII代码值。
char c=‘c’; int i=c;System.out.println("i="+i);  结果i=99
而byte,short,char三种数据是平级的,之间的转换要用强制转换

但关于优先级的判定方法还请高手帮忙作答,byte,short,char为什么平级我找不到答案
作者: baypm_jy    时间: 2012-3-11 12:51
Java中几种常用的数据类型之间转换方法:

1. short-->int 转换

exp: short shortvar=0;

int intvar=0;

shortvar= (short) intvar


2. int-->short 转换

exp: short shortvar=0;

int intvar=0;

intvar=shortvar;


3. int->String 转换

exp: int intvar=1;

String stringvar;

Stringvar=string.valueOf (intvar);


4. float->String 转换

exp: float floatvar=9.99f;

String stringvar;

Stringvar=String.valueOf (floatvar);


5. double->String 转换

exp double doublevar=99999999.99;

String stringvar;

Stringvar=String.valueOf (doublevar);


6. char->String 转换

exp char charvar=’a’;

String stringvar;

Stringvar=String.valueOf (charvar);


7 String->int、float、long、double 转换

Exp String intstring=”10”;

String floatstring=”10.1f”;

String longstring=”99999999”;

String doubleString=”99999999.9”;


Int I=Integer.parseInt (intstring);

Float f= Integer.parseInt (floatstring);

Long lo=long. parseInt (longstring);

Double d=double. parseInt (doublestring);


8 String->byte、short 转换

Exp String s=”0”;

Byte b=Integer.intValue(s);

Short sh=Integer.intValue(s);


9 String->char 转换

Exp String s=”abc”;

Char a=s.charAt(0);

返回字符a


10 String-->boolean 转换

String s=”true”;

Boolean flag=Boolean.valueOf (“s”);


作者: 黑马张平    时间: 2012-3-11 14:57
学习学习!




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