zoukankan      html  css  js  c++  java
  • 运算符

    运算符是一种特殊的符号,用以表示数据的运算、赋值和比较等。Java语言使用运算符将一个或多个操作数

    连缀成执行语句,用以实现特定功能。

    Java语言中的运算符可以分为如下几种:
    算术运算符
    赋值运算符
    比较运算符
    逻辑运算符
    位运算符

    类型相关运算符

    算术运算符

    算术运算符包括+、-、*、/、%、++、--。
    /:除法运算符。除法运算符有些特殊,如果除法运算符的两个操作数都是整数类型,

    则计算结果也是整数,就是将自然除法的结果截断取整。如果除法运算符的两个运算符都是整数,

    则除数不能为0,否则将引发除以零异常[java.lang.ArithmeticException: / by zero]。
    但如果除法运算符的两个操作数有一个或两个是浮点数,则计算结果也是浮点数,

    这个结果就是自然除法的结果。而且此时允许除数是0,或者0.0,得到结果是正无穷大或负无穷大。

    ++和--

    %:求余运算符。求余运算的结果不一定总是整数,它的计算结果是使用第一个操作数除以第二个操作数,

    得到一个整除的结果后剩下的值就是余数。
    ++、--:自加、自减。这是个单目运算符,运算符既可以出现在操作数的左边又可以出现在操作数的右边。

    但效果是不一样的。在左边:先把操作数加|减1,然后再放入表达式中运算;在右边:先放入表达式中运算,

    再把操作数加|减1.(自加自减只能用于操作变量,不能用于操作数值、直接量和常量。

    如5++、6—等写法都是错误的。)


    此外:+除了可以作为数学的加法运算符之外,还可以作为字符串的连接运算符。-除了可以作为

    减法运算符之外,还可以作为求负的运算符。
    Java并没有提供其他更复杂的运算符,如果需要完成乘方、开方等运算,则可借助于java.lang.Math类的

    工具方法完成复杂的数学运算。

    赋值运算符 

    赋值运算符用于为变量指定变量值,java使用=作为赋值运算符。通常,使用赋值运算符将一个常量赋给变量。也可以将一个变量的值赋给另一个变量。主要包括(+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>=、>>>= )
    值得指出的是,赋值表达式的值就是右边被赋的值。例如String str2=str表达式的值就是str。因此,赋值运算符支持连续赋值,通过使用多个赋值运算符,可以一次为多个变量赋值。a=b=c=7;
    赋值运算符还可用于将表达式的值赋给变量

    位运算符 

    Java支持的位运算符有如下7个:
    &:按位与 
    |:按位或
    ~:按位非
    ^:按位异或
    <<:左移运算符
    >>:右移运算符
    >>>:无符号右移运算符

    比较运算符 

    比较运算符用于判断两个变量或常量的大小,比较运算的结果是一个布尔值(true或false)。

    Java支持的比较运算符(>、>=、<、<=、==、!=).
    ==:等于,如果进行比较的两个操作数都是数值类型,即使它们的数据类型不相同,只要它们的值相等。

    也都将返回true。如果两个操作数都是引用类型,那么只有当两个引用变量引用相同类的实例时才可以比较,

    而且这两个引用必须指向同一个对象才会返回true。Java也支持两个boolean类型的值进行比较,例如true==false将返回false.
    !=:不等于,如果进行比较的两个操作数都是数值类型,无论它们的数据类型是否相同,只要它们的值不相等,也都将返回true。如果两个操作数都是引用类型,只有当两个引用变量引用的相同类的实例时才可以比较,

    只要两个引用指向的不是同一个对象就会返回true

    逻辑运算符

    逻辑运算符用于操作两个布尔型的变量或常量。逻辑运算符主要有如下6个。
    &&:与,前后两个操作数必须都是true才返回true,否则返回false。
    &:不短路与,作用和&&相同,但不会短路。
    ||:或,只要两个操作数中有一个是true,就可以返回true,否则返回false。
    |:不短路或,作用与||相同,但不会短路。
    !:非,只需要一个操作数,取反。
    ^:异或,当两个操作数不同时才返回1,如果两个操作数相同则返回0。

    三目运算符

    三目运算符只有一个:?:,三目运算符的语法格式如下:
    (expression) ? if-true-statement:if-false-statement;
    三目运算符的规则是:先对逻辑表达式expression求值,如果逻辑表达式返回true,则返回第二个操作数的值,如果逻辑表达式返回false,则返回第三个操作数的值。
    String str = 5>3 ? “5大于3”:”5<3”;
    System.out.println(str);

    运算符的结合性和优先级 

  • 相关阅读:
    阿里消息队列中间件 RocketMQ 源码分析 —— Message 拉取与消费(上)
    数据库中间件 ShardingJDBC 源码分析 —— SQL 解析(三)之查询SQL
    数据库分库分表中间件 ShardingJDBC 源码分析 —— SQL 解析(六)之删除SQL
    数据库分库分表中间件 ShardingJDBC 源码分析 —— SQL 解析(五)之更新SQL
    消息队列中间件 RocketMQ 源码分析 —— Message 存储
    源码圈 300 胖友的书单整理
    数据库分库分表中间件 ShardingJDBC 源码分析 —— SQL 路由(一)分库分表配置
    数据库分库分表中间件 ShardingJDBC 源码分析 —— SQL 解析(四)之插入SQL
    数据库分库分表中间件 ShardingJDBC 源码分析 —— SQL 路由(二)之分库分表路由
    C#中Math类的用法
  • 原文地址:https://www.cnblogs.com/t0404/p/10291112.html
Copyright © 2011-2022 走看看