• Java的运算符,Java的表达式


    Java的运算符,包括

    • 赋值运算符
    • 算术运算符
    • 关系运算符
    • 逻辑运算符

    Java算术运算符除了通常的

    • 加(+)
    • 减(-)
    • 乘(*)
    • 除()

    还包括

    • 取模运算(%)
    • 自增(++)
    • 自减(--)

    运算。+,-,*,/ 比较简单,实验一下即可。

    取模运算(%)意为取余数,只能适用于整数及char类型

    i++ 和 ++i 在理论上的区别是

    • i++:是先把i拿出来使用,然后再+1;
    • ++i :是先把i+1,然后再拿出来使用;

    如 a= b + + 相当于a = b;b=b+1,即将b没有加1之前的值赋给a, 之后b 才加 1 ,此时a=b

    如 a = ++b 相当于b=b+1,a=b 即b先加1,再将加1后的值赋给a, 此时a=b+1

    赋值运算符分为两类

    一类是简单赋值

    • “=”

    一类是复合赋值

    • +=  >> a+=3 || a = a +3
    • -=  >> a-=3  ||  a = a -3
    • *=  >> a*=3 || a = a * 3
    • /=  >> a/=3 || a = a / 3
    • %=  >> a%=3 || a =  a % 3

    关系运算符

    关系运算符也是双目运算符,用于关系表达式。
    关系运算符对两个操作数进行比较,并返回比较结果,比较结果的值为一个布尔值(true或false)

    关系运算符有6种

    • “==”
    • “!=”
    • ">"
    • "<"
    • ">="
    • "<="

    逻辑运算符

    逻辑运算符“&&”是双目运算符
    逻辑运算符“||”是双目运算符
    逻辑运算符“!”是单目运算符

    位运算符

    int a =10,b=5;
    System.out.println("&:" + (a & b));
    System.out.println("^:" + (a ^ b));
    
    输出的结果是
    0
    15
    
    10的二进制是1010
    5的二进制是  0101
    
    位运算与结果是0000,也就是0
    位运算或结果是1111, 也就是15

    表达式是由变量、常量和运算符的组合

    求圆面积的公式就是一个表达式,

    S =π* r *r;

    • 其中S、r为变量
    • π为常量
    • *为运算符

    表达式执行计算并返回计算结果。在表达式中运算符作用的变量或常量称为操作数。

    在求圆面积的表达式中,乘号(*)为运算符,π和r为操作数。

    在一些复杂的运算中,简单的表达式可以组合为复杂的表达式,其操作数本身可能就是一个表达式。例如:

    (num1+num2)*(x+y)

    上面的表达式中,运算符乘号(*)两边的操作数(num1+num2)和(x+y)本身就是一个表达式。
    表达式的计算结果一般为数值,如果表达式是一个关系表达式或逻辑表达式,表达式会返回一个布尔值,即真或假。

    根据运算符的不同,可以把表达式分为

    • 赋值表达式
    • 算术表达式
    • 关系表达式
    • 逻辑表达式

    赋值表达式用于把等号右边的操作数赋值给等号左边的变量;
    算术表达式用于数值运算;其结果是数值
    关系表达式用于条件判断;其结果是true,flase
    逻辑表达式用于逻辑操作。其结果是true,flase

    逻辑运算符“!”是单目运算符

    表达式的类型转换

    只要坚持"以不流失数据为前提"的大原则,既可以进行不同的类型转换
    使用不同的类型的数据,表达式都能继续存储

    规则:
    占用字节较少的数据类型转换成占用字节较多的数据类型,如字符类型转换成 int类型,int类型会转换成 float类型
    表达式中若某个操作数的类型为 double,则另一个操作数也会转换成double类型
    布尔类型不能转换成其他类型

    三目运算符

  • 相关阅读:
    SSH、SCP和SFTP 解析(转)
    SQL Server数据库partition by 与ROW_NUMBER()函数使用详解 (转载)
    Git版本控制与工作流详解(转)
    IQueryable,IEnumberable,.AsEnumerable() 和 .AsQueryable() (转载)
    ASP.NET 中Http处理流程与 HttpModule,HttpHandler学习之初步认知
    xml Node 是否存在
    MVC-前台调用后台action 传递upload file 参数问题
    ResXResourceWriter 与ResourceWriter
    "= ="与 equals 的区别 摘录
    jpg文件格式分析
  • 原文地址:https://www.cnblogs.com/faberbeta/p/java-003.html
Copyright © 2020-2023  润新知