首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java基本门类的转换

2013-02-03 
java基本类型的转换今天遇到一个很奇葩的程序:public class Llandaff{public static void main(String arg

java基本类型的转换
今天遇到一个很奇葩的程序:

public class Llandaff{
public static void main(String argv[]){
Llandaff h = new Llandaff();
h.go();
}
public void go(){
char c = 'c';
int i = 10;
c += i;//ok
c = c + i;//编译错误
}
}

为嘛前面的没有编译错误? java
[解决办法]
java的语法规则,
c += i;//ok
凡是使用+=这样的方式都默认自动转换了。。
想更明白一下的话你输出一下c的类型看看
[解决办法]
 c += i;//ok    +=默认自动转换了    
 c = c + i;//编译错误 因为char型和int相加会提升到int型
[解决办法]
你可以试试short i;也是一样的,int 的一个数与之进行运算,也是+=可以,自动转换类型。

热点排行