JavaSE笔记02:运算符

原文链接:http://blog.csdn.net/u011593278/article/details/9737183

1. 当有若干个变量参与运算时,结果类型取决于这些变量中表示范围最大的那个变量类型。比如,参与运算的

   变量中,有整型int,有双精度浮点型double,有短整型short,那么最后的结果类型就是double

 

2. 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类型。

 

3. 取模运算符(余数):使用%表示。

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。 

 

4. 关系运算符:大于(>)、小于(<)、等于(==)、不等于(!=)、大于等于(>=)、小于等于(<=),

                          关系运算的结果是个boolean

 

5. 逻辑运算符:重点讲解两个,逻辑运算符本身也返回一个boolean

1) 逻辑与:使用&&表示,逻辑与是个双目运算符(即有两个操作数的运算符),只有当两个操作数

                     都为真的时候,结果才为真;余情况结果均为假。逻辑与表示的并且的意思。

2) 逻辑或:使用||表示,逻辑或也是个双目运算符,只有当两个操作数都为假的时候,结果才为假;

                     其余情况结果均为真。逻辑或表示或者的意思。

 

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

1) 逻辑与:如果第一个操作数为false,那么结果肯定就是false,所以在这种情况下,

                     将不会执行逻辑与后面的运算了,即发生了短路。

2) 逻辑或:如果第一个操作数为true,那么结果肯定就是true,所在在这种情况下,

                     将不会执行逻辑或后面的运算了,即发生了短路。

 

代码示例:第一个为true,所以没有短路

      int a = 1;

      int b = 2;

      int c = 3;

      int d = 4;

      int e = 5;

     

      boolean f = (a < b)&&((e = c) < d);

     

      System.out.println(f);

      System.out.println(e);

结果:true  3

 

代码示例:第一个为false,所以短路了

      int a = 1;

      int b = 2;

      int c = 3;

      int d = 4;

      int e = 5;

     

      boolean f = (a < b)&&((e = c) < d);

     

      System.out.println(f);

      System.out.println(e);

结果:false  5

 

分析:(e = c)设置c 赋值给 e ,然后将e 打印出来,是为了观察到该逻辑运算符后面的((e= c) < d)是否被执行,

            如果执行了,则 e = c = 3 ;否则说明发生了短路现象(即((e= c) < d)未执行);

 

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

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

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

       注:上述中a都会自增1,不同的是赋值给b的过程,所以for循环中的a++++a一样

 

8. 条件运算符(三元表达式),其形式为:

   type d = a ? b : c; 具体化形式为:int d = 2 < 1 ? 3 : 4;

   当a为ture时,结果为b;

   当a为false时,结果为c;



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值