现在的位置: 首页 > 综合 > 正文

3、运算符(operator)

2018年05月26日 ⁄ 综合 ⁄ 共 1415字 ⁄ 字号 评论关闭

养成良好的编程习惯

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;

上面的代码中,ab都是整型,但是通过(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结果是12

取模的规律:取模的结果符号永远与被除数的符号相同

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

抱歉!评论已关闭.