养成良好的编程习惯
1、代码片段:
int a = 1;
int b = 2;
int c = a/b;
System.out.println(c);结果为0
当有若干个变量参与运算时,结果类型取决于这些变量中表示范围最大的那个变量类型。
比如参与运算中有int、double、short,最终运算结果类型为double。
double a = 1;
int b = 2;
int c = a/b;错误,a/b结果为double,不能赋值给int类型变量。
代码片段:
int a = 1;
int b = 2;
double c = (double)a / b;
上面的代码中,a与b都是整型,但是通过(double)a这种转换将a转换为一个匿名的变量,该变量的类型是double,但是要注意:a本身依旧是int类型,而不是double类型,这样,(double)a / b就是double类型除以int类型,结果自然是double类型。
2、取模运算符:使用%表示。
int a = 5;
int b = 3;
int c = a % b;
上面代码的运行结果是2,因为5除以3结果是1余2。
取模的规律:取模的结果符号永远与被除数的符号相同
int a = 5;
int b = -3;
int c = a % b;
被除数是5,那么取模的结果是2
int a = -5;
int b = 3;
int c = a % b;
被除数是-5,那么取模的结果是-2。
3、关系运算符:
大于(>)、小于(<)、等于(==)、不等于(!=)、大于等于(>=)、小于等于(<=),关系运算结果是个boolean值。
4、逻辑运算符:运算本身返回一个boolean值
1)逻辑与:使用&&表示,逻辑与是个双目运算符(即有两个操作数的运算符),只当两个操作数都为真的时候,结果才为真;其余情况结果均为假。逻辑与表示的并且的意思。
2)逻辑或:使用||表示,逻辑或也是个双目运算符,只有当两个操作数都为假的时候,结果才为假;其余情况结果均为真。逻辑或表示或者的意思。
5、关于逻辑运算的短路现象(这个很重要,提高程序性能的一点)
1)代码片段
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int f = 5;
boolean e = (a < b) && ((f = c) < d);
System.out.println(e);
System.out.println(f);
结果为true 和 3
如果这样:boolean e = (a > b) && ((f = c) < d);
结果为false 和 5,boolean e = (a > b) && ((f = c) < d);里的f = c没有执行
逻辑与:如果第一个操作数为false,那么结果肯定就是false,所以在这种情况下,将不会执行逻辑与后面的运算了,即发生了短路。
代码片段改为:
boolean e = (a < b) ||((f = c) < d);
System.out.println(e);
System.out.println(f);
结果为true 和 5,f = c没执行
改为 boolean e = (a>b) ||((f = c) < d);
结果为true 和 3
逻辑或:如果第一个操作数为true,那么结果肯定就是true,所在在这种情况下,将不会执行逻辑或后面的运算了,即发生了短路。
6、关于变量的自增与自减运算。
int a = 3;
a = a + 1; a +=1 ; a++; ++a;
1) 关于int b = a++,作用是将a的值先赋给b,然后再让a自增1.
2) 关于int b = ++a,作用是将a的值先自增1,然后将自增后的结果赋给b。