java整形数据问题

来源:百度知道 编辑:UC知道 时间:2024/05/15 18:08:22
只有int 定义的整形数据才能使用自加(++)自减(--)运算么
今天上课老师说自加自减运算只能用于整形数据,自加自减只是真对最低位进行,也就是说float型是在小数位自加或自减,那for循环初始值的定义只能是int型了。我怎么也想不通,请问大家是这样么

for循环可以用于所有的基本数据类型,即int float double 等等,只是自加自减的部分是整数部分,小数部分不变,所以我们通常把循环定义为整形,因为定义其它数据类型效果一样。你们老师给你讲错了。

给你举个例子你就能更加明白楼上这位说的意思:
float f = 3.0;
for( ; f>0.0 ; ){
//TODO
f-=0.1;
}
我们看这段代码,for条件语句里我们所定义的条件,只要是返回boolean类型的表达式就行,
如果f值不在循环体里有所变化,这个循环就是个死循环。
当然,上面那段代码是不会死的,因为在循环体里f的减量为0.1。

上面的代码等同于:
for(int i = 30 ; i > 10 ;i-- ){
//TODO
}
从代码可读性上讲,用for括号里用整形作为变量是更为合适的。

你实践下就知道了么!!!