JavaSE第五讲:运算符续 Operator cont

来源:互联网 发布:linux mysql 启动超时 编辑:程序博客网 时间:2024/05/22 04:53
1. 关系运算符:大于(>)、小于(<)、等于(==)、不等于(!=)、大于等于(>=)、小于等于(<=),关系运算的结果是个boolean值。

int a = 3;int b = 2; boolean c = (a > b);System.out.println(c);
输出结果:

D:\src>java OperatorTest
true

2. 逻辑运算符(或真且假):重点讲解两个,逻辑运算符本身也返回一个boolean值。

    1) 逻辑与:使用&&表示,逻辑与是个双目运算符(即有两个操作数的运算符),只有当两个操作数都为真的时候,结果才为真;其余情况结果均为假。逻辑与表示的并且的意思。

int a = 1;int b = 2;int c = 3;int d = 4;boolean e = (a < b)&&(c < d);System.out.println(e);
输出结果:

D:\src>java OperatorTest
true


修改程序如下:

int a = 1;int b = 2;int c = 3;int d = 4;boolean e = (a > b)&&(c < d);System.out.println(e);
输出结果:

D:\src>java OperatorTest
false

   2) 逻辑或:使用||表示,逻辑或也是个双目运算符,只有当两个操作数都为假的时候,结果才为假;其余情况结果均为真。逻辑或表示或者的意思。

int a = 1;int b = 2;int c = 3;int d = 4;boolean e = (a < b)||(c < d);System.out.println(e);
输出结果:

D:\src>java OperatorTest
true


修改程序如下:

int a = 1;int b = 2;int c = 3;int d = 4;boolean e = (a < b)||(c > d);System.out.println(e);
输出结果:

D:\src>java OperatorTest
true


3. 关于逻辑运算符的短路特性。

    1) 逻辑与:如果第一个操作数为false,那么结果肯定就是false,所以在这种情况下,将不会执行逻辑与后面的运算了,即发生了短路。

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);
输出结果:

D:\src>java OperatorTest
true
3


继续修改程序:

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);

输出结果:

D:\src>java OperatorTest
false
5

    2) 逻辑或:如果第一个操作数为true,那么结果肯定就是true,所在在这种情况下,将不会执行逻辑或后面的运算了,即发生了短路。

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);
输出结果:

D:\src>java OperatorTest
true
5


继续修改程序:

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);
输出结果:

D:\src>java OperatorTest
true
3


4. 关于变量的自增与自减运算。

int a = 3;//a = a + 1;//a += 1;//等价于 a = a + 1;a++;System.out.println(a);
输出结果:

D:\src>java OperatorTest
4


   1) 关于int b = a++,作用是将a的值先赋给b,然后再让a自增1

int a = 3;int b = a++;System.out.println(a);System.out.println(b);
输出结果:

D:\src>java OperatorTest
4
3

  2) 关于int b = ++a,作用是将a的值先自增1,然后将自增后的结果赋给b。

int a = 3;int b = ++a;System.out.println(a);System.out.println(b);
输出结果:

D:\src>java OperatorTest
4
4


继续修改程序:

int a = 3;int b = ++a;a++;--a;--a;System.out.println(a);System.out.println(b);
输出结果:

D:\src>java OperatorTest
3
4






原创粉丝点击