您的位置:首页 > 编程语言 > Java开发

JavaSE笔记02:运算符

2013-08-03 23:32 169 查看
原文链接: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;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: