第六课:操作符
readInt() 和 readDouble()函数,整形与浮点数的除法运算操作符,操作符优先级,类型转换,常量,布尔数据类型,值的比较,布尔表达式,短路求值,语句块,变量的作用域,if套嵌,switch语句,for循环语句,while循环语句
求余运算符只对整数适用,因为求余运算符对实数没有意义。
除法在整数和双精度上运算方法有点不同。当你在做除法时,如果两个参数均为整数,在这种情况下它会做整数除法,就是做除法后丢掉余数,所有你得到的依然是个整数。例如整数5除以整数2,你会得到结果为整数2,随之的余数1就丢掉了。要是其中有一个是实数的话,比如一个双精度实数,那么这里就会做实数除法并返回实数。所有对于这里的例子5除以2改成5除以2.0的话,结果就会得到2.5这个双精度实数而不是一个整数。
P = (x != 1) || (x !=2);
不论x取任何值,P都为真。这是一个典型的漏洞,编写程序的时候如果不考虑清楚逻辑就会出现重大的BUG,而且很容易让人迷惑。
短路计算,在不同情况下他们很是有用的。例如避免除数为0的情况出现,可以写为
P = (x == 0) && ((y/x)==0);
如果x等于0,直接判断为假,不用处理后面的语句。这样你就永远不会有除数为0的情况。
switch条件必须是整数值,不可以是双精度类型。