第三章 004-运算符

  前沿:运算符是一些特殊的符号,主要用于数学函数、一些类型的赋值语句和逻辑比较。Java中提供了丰富的运算符,如赋值运算符、算数运算符、比较运算符等。

1.赋值运算符

  赋值运算符以为符号 “=” 表示,它是一个二元运算符(对两个操作数作处理),其功能是将右方操作数所含的值赋给左边的操作数,例如:

    int a = 100;

  由于赋值运算符 “=” 处理时会先取得右方表达式处理后的结果,因此表达式中若含有两个以上的 “=” 运算符,会从最右方的 “=” 开始处理。

    int a = 100;

    int c = b = a + 4;

  则,b = 104,c = 104。

 

2.算数运算符

  Java中的算术运算符主要有 + 、- 、* 、 / 、%,它们都是二元运算符。

  

3.自增或自减运算符

  自增。自减运算符是单目运算符,可以放在操作元之前,也可以放在操作元之后。操作元必须是一个整型或浮点型变量。自增、自减运算符的作用是使变量的值增1或减1。放在操作元前面的自增、自减运算符,会先将变量的值加1(减1),然后再使该变量参与表达式的计算。放在操作元后面的自增、自减运算符,会先使变量参与表达式的计算,然后再将该变量加1(减1)。例如:

  ++a(--a)

  a++(a--)

  假设 a = 4,那么:

  b = ++a;     先将a的值加1,然后再赋值给b,则 b = 5, a = 5。

  b = a++;     先将a赋值给b,然后a再加上1,则 b = 4, a = 5。

 

4.比较运算符

  比较运算符属于二元运算符,用于程序中的变量之间,变量和自变量之间以及其他类型信息之间的比较。比较运算符的运算结果为boolean型。当运算符对应的关系成立时,运算结果为true,否则为false。所有比较运算符通常作为判断的依据用在条件语句中。

    >  <  ==  >=  <=  !=

 

5.逻辑运算符

   返回类型为布尔值的表达式,如比较运算符,可以被组合在一起构成一个更复杂的表达式。这通过逻辑运算符来实现的。逻辑运算符包括&(&&)(逻辑与)、||(逻辑或)、!(逻辑非)。逻辑运算符的操作元必须是boolean型数据。在逻辑运算符中,除了 “!”是一元运算符之外,其他都是二元运算符。

  

  注意:逻辑运算符 “&&” 与 “&” 都表示“逻辑与”,那么它们之间的区别在哪里呢?

    当两个表达式都为true时,“逻辑与”的结果才会时true。使用逻辑运算符“&”会判断两个表达式;而逻辑运算符“&&”则是针对boolean类型的类进行判断,当第一个表达式为false时则不去判断第二个表达式,直接输出结果从而节省计算机判断的次数。通常将这种在逻辑表达式中从最左端的表达式可以推断出整个表达式的值称为“短路”,而那些始终执行逻辑运算符两边的表达式称为“非短路”。“&&”属于“短路”运算符。“&”属于“非短路”运算符。

 

6.位运算符

  1.“按位与”运算

  2.“按位或”运算

  3.“按位取反”运算

  4.“按位异或”运算

  5.“移位”操作

 

7.三元运算符

  三元运算符的使用格式为:

    条件式?值1:值2

  三元运算符的运算规则:若条件式的值为true,则整个表达式取值1,否则取值2。例如:

    boolean b = 20 < 45?true : false;

  如上面的例子所示,表达式 “20 < 45”的运算结果返回真,那么boolean型变量b取值为true。

 

8.运算符优先级  

  Java中的表达式就是使用运算符连接起来的符合Java规则的式子。运算符的优先级决定了表达式中的运算执行的先后顺序。通常优先级有高到低的顺序依次是:

    增量和减量运算

    算数运算

    比较运算

    逻辑运算

    赋值运算

 

9.数据类型转换

  类型转换是将一个值从一种类型更改为另一种类型的过程。例如,可以将String类型数据“457”转换为一直数值型,而且可以将任意类型的数据转为String类型。

  注:如果从 低精度数据类型 向 高精度数据类型转换,则永远不会溢出,并且总是成功的;而把 高精度数据类型 向 低精度数据类型 转换则必然会有信息丢失,有可能失败。

  1.隐式类型转换

    从低级向高级类型的转换,系统将自动执行,程序员无须进行任何操作。这种类型的转换称为隐式转换。下列基本数据类型会涉及数据转换,不包括逻辑类型和字符类型。这些类型按精度从低到高的排序如下:

      byte < short< int < long < float < double

  2.显示类型转换

    把高精度的变量的值赋值给低精度的变量时,必须使用显示类型转换运算(又称强制类型转换)。

    当执行显示类型转换时可能会导致精度缺失。

 

明天,将总结控制流程的知识内容。

 

posted @ 2017-10-30 18:22  Dean二十七  阅读(244)  评论(0编辑  收藏  举报