double a = 2.5;
int b = (int)a;
与
double a =2.5;
int b = int a;
这二者有什么区别吗?输出结果好像是一样的。
你确定都有输出吗!? 后面的写法可是不合法的!
double a = 2.5; a是个浮点型变量,初值为2.5。
int b = a 和 int b = (int)a 都是定义了一个int型变量b,并且用a来初始化。这两种写法都正确,在赋值(初始化)时两侧变量类型不一致的话,等号右侧的值的类型会临时转换为等号左侧的类型,所以有没有写上强制类型转换都一样,b的初值都是2。
int b = int a 这语句是不合语法的,不能在a前再直接加上int。