dedecms织梦内容管理系统    
首页 | java | C/C++ | PHP | 操作系统 | ajax | 脚本编程 | 安全技术 | 本站下载页 | flex | CRM | 专题 | QQ群 | 测试中心 | 会员中心 | 积分规则
  当前位置:主页>java>java基础>文章内容
JAVA运算符
来源:中国 作者:liuyu
Java的大多数运算符在形式上和功能上都与C和C++的运算符非常类似,熟悉C和C++的读者对此不会感到陌生。
    1.算术运算符
    算术运算符包括通常的加(+)、减(一)、乘(*)、除(/)、取模(%),完成整型或浮点型数据的算术运算。许多语言中的取模运算只能用于整型数,Java对此有所扩展,它允许对浮点数进行取模操作。此外,算术运算符还有“++”、“一一”两种,分别表示加1和减1操作。与C++类似,“++i”和“i++”的执行顺序稍有不同,前者在i使用之前加1,后者先使用再加1。“--i”与“i--”的情况与此类似。
    2.关系运算符
    关系运算符用来比较两个值,包括大于(>)、大于等于(>=)、小于(<)、小于等于    (<=)、等于(==)、不等于(!=::)6种。关系运算符都是二元运算符,运算的结果是一个
    逻辑值。  
    Java允许=一和!一两种运算用于任何数据类型。例如,可以判定两个实例是否相等。
    3.逻辑运算符 
    逻辑运算符包撬逻辑与(&&)、逻辑或(||)和逻辑非(!)。前两个是二元运算符,后一个是一元运算符。
    Java对逻辑与和逻辑或提供短路操作功能。进行运算时,先计算运算符左侧表达式的值,如果使用该值能得到整个表达式的值,则跳过运算符右侧表达式的计算,否则计算运算符右侧表达式,并得到整个表达式的值。
    例3-3
    String unset=null l
    if((unset!=null)&&(unset.1ength()>5))(
    //对unset进行某种操作
    }
    空串unset不能使用,因此不能访问unset.1ength(),但该if()语句中的逻辑表达式是合法的·且完全安全。这是因为第一个子表达式(unset!=nulI)结果为假,它马上导致整个表达式的结果为假。所以&%运算符跳过不必要的(unset.1ength()>5)计算,因为没有计算它,避免了空指针异常。
    4.位运算符
    位运算符用来对二进制位进行操作,包括按位取反(~)、按位与(&)、按位或(I)、异或(‘)、右移(》)、左移(《)及无符号右移(>》)。位运算符只能对整型和字符型数据进行操作。
    Java提供两种右移运算符。
    熟悉的运算符“>>”执行算术右移,它使用最高位填充左侧的空位。右移的结果为:每移一位,第一个操作数被2除一次,移动的次数由第二个操作数确定。

    算术右移不改变原数的符号,而逻辑右移不能保证这一点。
    移位运算符约简其右侧的操作数,当左侧操作数是int类型时,右侧以32取模;当左侧是long类型时,右侧以64取模。所以,执行
    int x;
    x>≥>32;后,x的结果不改变,而不是通常期望的0。这样可以保证不会将左侧操作数完全移走。

“》”运算符只用于整型,它只对int或long值起作用。如果用于short或byte值,则在进行“》”操作之前,使用符号扩展将其提升为int型,然后再移位。
    5.其他运算符
    JaVA中的运算符还包括扩展赋值运算符(=、+=、一=、*=√=、9,6=、8L=、I一、
  .=、》=、《=及:>>>=),条件运算符(?:),点运算符(.),实例运算符(instaneeof),(new)运算符,数组下标运算符(口)等。
    扩展赋值运算符是在赋值号(=)前再加上其他运算符,是对表达式的一种简写形式。
  如果有赋值语句:
    var=var op expression;
  其中9var是变量,op是算术运算符或位运算符,expression为表达式。


上一篇:Java虚拟机   下一篇:java中的面向接口编程
[收藏] [推荐] [评论(0条)] [返回顶部] [打印本页] [关闭窗口]  
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
 §最新评论
  热点文章
·JUnit单元测试(2)
·JUnit单元测试(1)
·浅谈在Java语言中究竟是传值还是
·Java 5.0 多线程编程实践
·Java的文件 读和写
·对于JAVA基础测试中常见的异常问
·JAVA程序员面试33问,你能回答多
·Java Reflection (JAVA反射)详解
·JAVA中配置环境变量设置方法大全
·讲述java语言中内部类的研究
·详细解析Java中抽象类和接口的区
·Java开发中的事件驱动模型实例详
  相关文章
·发邮件的JAVA程序
·学习心得:Java为什么支持反射机
·Java中的instanceof运算符
·Java Clone机制
·Log4j的使用
·计算两个时间戳型的时间差
·汉诺塔java算法整理
·mysql修改字段长度(sql)
·java集合类
·java集合类
·初学入门:JAVA里字符编码的探索
·JAVA基础:为Web服务构建Struts
  相关信息
copy right @ 百家拳软件项目研究室 2007 辽ICP备07011763