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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 赵孟恩 中级黑马   /  2012-3-11 10:57  /  2059 人查看  /  4 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

byte  short  int  long    float  double  char   自动转换的顺序  以及byte short char 之间的转换

评分

参与人数 1技术分 +1 收起 理由
老罗 + 1

查看全部评分

4 个回复

倒序浏览
本帖最后由 冯旭君 于 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型的然后运算。

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
本帖最后由 王春祥 于 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为什么平级我找不到答案

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
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”);

评分

参与人数 1技术分 +1 收起 理由
房宝彬 + 1

查看全部评分

回复 使用道具 举报
学习学习!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马