javaSE自学05--运算符和表达式

30.jpg


         Java常用的运算符分为五类:算术运算符、赋值运算符、关系运算符、布尔逻辑运算符、位运算符。位运算符除了简单的按位操作外,还有移位操作。按位操作返回布尔值。
        表达式是由常量、变量、对象、方法调用和操作符组成的式子。表达式必须符合一定的规范,才可被系统理解、编译和运行。表达式的值就是对表达式自身运算后得到的结果。
       根据运算符的不同,表达式相应地分为以下几类:算术表达式、关系表达式、逻辑表达式、赋值表达式,这些都属于数值表达式。
1  算术运算符及算术表达式
    Java中常用的算术运算符如下:

    +        加运算符
    -        减运算符
    *        乘运算符
    /        除运算符
    %        取模运算(除运算的余数)
    ++        增量运算符
    --        减量运算符
 


 

 
【例】测试运算符及表达式,源程序代码如下:

//程序文件名称为NumberOper.java
public class NumberOper
{
    public static void main(String args)
    {
        //变量初始化
        int a = 30;
        int b = 20;
        //定义结果变量
        int r1,r2,r3,r4,r5,r6,r7,r8,r9;
        //计算结果
        r1 = a + b;
    r2 = a-b;
    r3 = a * b;
    r4 = a / b;
    r5 = a % b;
    r6 = a ++;
    r7 = b--;
    r8 = ++ a;
    r9 = -- b;
    //输出结果
    System.out.println("a = " + a + "   b = " + b); //a,b的值
    System.out.println("a+b = " + r1);
    System.out.println("a-b = " + r2);
    System.out.println("a*b = " + r3);
    System.out.println("a/b = " + r4);
    System.out.println("a%b = " + r5);
    System.out.println("a++ =" + r6);
    System.out.println("b-- =" + r7);
    System.out.println("++a =" + r8);
    System.out.println("--b =" + r9);
       }
}


输出结果如下:
a = 32  b = 18   //a和b的值通过一系列运算后有所改变
a+b = 50
a-b = 10
a*b = 600
a/b = 1  //ab都是int型,商取整
a%b =10  //取余数
a++ = 30
b-- = 20
++a = 32
--b = 18
 
2  关系运算符
        关系运算符用于比较两个数据之间的大小关系,关系运算表达式返回布尔值,即“真”或“假”。Java中的常用关系运算符如下:

= =        等于
! =        不等于
>        大于
<        小于
>=        大于等于
<=        小于等于


【例】编写程序,测试关系运算符及其表达式,源程序代码如下:

//程序文件名称为TestRelation.java
public class TestRelation
{
    public static void main(String args)
    {
        //变量初始化
        int a = 30;
        int b = 20;
        //定义结果变量
        boolean r1,r2,r3,r4,r5,r6;
        //计算结果
    r1 = a == b;
    r2 = a != b;
    r3 = a > b;
    r4 = a < b;
    r5 = a >= b;
    r6 = a <= b;
    //输出结果
    System.out.println("a = " + a + "   b = " + b);
    System.out.println("a==b = " + r1); 
    System.out.println("a!=b = " + r2);
    System.out.println("a>b = " + r3);
    System.out.println("a<b = " + r4);
    System.out.println("a>=b = " + r5);
    System.out.println("a<=b = " + r6);
        }
}


 输出结果如下:
a = 30  b = 20
a==b = false
a!=b = true
a>b = true
a<b = false
a>=b = true
a<=b = false
 
 
3  布尔逻辑运算符
 

3.png

 
其中简洁与和简洁或的执行结果分别与非简洁与和非简洁或的执行结果是一致的,不同在于简洁与检测出符号左端的值为假时,不再判断符号右端的值,直接将运算结果置为假;而简洁或与非简洁或的不同在于简洁或检测出符号左端为真时,不再判断符号右端的值,直接将运算结果置为真。
例如:
Boolean a = false;
Boolean b = true;
         a && b检测到a为假,则无需判断b的值,直接将值置为假;而b || a时检测到b为真,则无需判断a的值,直接将值置为真。
 
 
【例】测试布尔表达式,源程序代码如下:
//程序文件名称为TestLogic.java
public class TestLogic
{
    public static void main(String args)
    {
        //变量初始化
        boolean a = false;
        boolean b = true;
        //定义结果变量
        boolean r1,r2,r3,r4,r5,r6;
        //计算结果
        r1 = !a;
        r2 = a & b;
        r3 = a | b;
        r4 = a ^ b;
        r5 = a && b;
        r6 = a || b;
        //输出结果
        System.out.println("a = " + a + "   b = " + b);
        System.out.println("!a = " + r1);        
        System.out.println("a&b = " + r2);
        System.out.println("a|b = " + r3);
        System.out.println("a^b = " + r4);
        System.out.println("a&&b = " + r5);
        System.out.println("a||b = " + r6);
    }
}
 
输出结果如下:
a = false  b = true
!a = true
a&b = false
a|b = true
a^b = true
a&&b = false
a||B = true
 
 
4  位运算符
Java中的常用位运算符如下:

~        位求反
&        按位与
|        按位或
^        按位异或
<<        左移
>>        右移
>>>    不带符号右移


       右移运算符对应的表达式为x>>a,运算的结果是操作数x被2的a次方来除,左移运算符对应的表达式为x<<a,运算的结果是操作数x乘以2的a次方。
 
【例】测试位运算符<<和>>,源程序代码如下:

//程序文件名称为TestBit.java
public class TestBit
{
    public static void main(String args)
    {
        //变量初始化
        int a = 36;
        int b = 2;
        //定义结果变量
        int r1,r2;
     //计算结果
    r1 = a >> b;
    r2 = a << b;
    //输出结果
    System.out.println("a = " + a + "   b = " + b);
    System.out.println("a>>b = " + r1);        
    System.out.println("a<<b = " + r2);
        }
}


 
程序输出结果
a = 36  b = 2
a>>b = 9
a<<b = 144
 
5  赋值运算符
         赋值运算符分为简单运算符和复杂运算符。简单运算符指“=”,而复杂运算符是指算术运算符、逻辑运算符、位运算符中的双目运算符后面再加上“=”。下图列出Java常用的赋值运算符及其等价表达式。


4.png

 
6  其它操作符及其表达式
        三目运算符(?:)相当于条件判断,表达式x?y:z用于判断x是否为真,如果为真,表达式的值为y,否则表达式的值为z。
例如:
int x = 5;
int a = (x>3)?5:3;
则a的值为5。如果x = 2,则a的值为3。
 
对象运算符(instanceof)用来判断一个对象是否属于某个指定的类或其子类的实例,如果是,返回真(true),否则返回假(false)。
  例如:
  boolean b = userObject instanceof Applet
用来判断userObject类是否是Applet类的实例。
 
 
7  优先级

5.png

 
======================================
运算符号是一切编程实现的关键点,要牢记多练。。
 


 
 
 
 
 

1 个评论

异或事涌来

要回复文章请先登录注册

Template error, template file not found