zoukankan      html  css  js  c++  java
  • JAVA 基本运算符(摘)

    (搞自:Java经典入门教程)

    http://wenku.baidu.com/link?url=IoWI58cD5vzeHN-NL4pN7Gren-RfzydrhjDlETAByC9L-9ANinyLwuWChpWiYC3hQhzpws5fV2fuH-k1zp4iXh6AFVkpibvtDfLpBvwp1tC

    六:运算符

    1:算术运算
    算术运算是指:+、-、*、/ 等基本运算
    需要注意的是:
    %是求mod运算;
    整数的除法要小心:
    5/2 = 2 // 不是 2.5


    2:比较运算
    比较运算是指:>、<、>=、<=、==、!= 等类似运算
    需要注意的是:
    字符可以比较大小;(用它们的ascii 码,化为整数)
    小心浮点数的相等比较
    instanceof也是一个比较运算,用来判断一个对象是否属于某个类。(以后介绍)
    ==运算中,对于基本类型是比较的“内容”,而对于引用类型,比较的是地址。(小心)


    3:逻辑运算
    运算符&& (定义为“与”)和||(定义为“或”)执行布尔逻辑表达式。请看下面的例子:
    MyDate d = null;
    if ((d != null) && (d.day() > 31)) {
    // 利用d 执行些什么
    PDF 文件使用 "pdfFactory Pro" 试用版本创建www.fineprint.cn
    Java私塾跟我学系列——JAVA 篇网址:http://www.javass.cn 电话:010-86835215

    形成if ()语句自变量的布尔表达式是合法且安全的。这是因为当第一个子表达式是假
    时,第二个子表达式被跳过,而且当第一个子表达式是假时,整个表达式将总是假,所以不
    必考虑第二个子表达式的值。类似的,如果使用||运算符,而且第一个表达式返回真, 则
    第二个表达式不必求值,因为整个表达式已经被认为是真。
    4:++、---运算
    ++运算相当于:运算的变量加1,如:x++ 等同于x=x+1;
    --运算恰好相反,相当于运算的变量减1
    注意:x++ 和 ++x 并不是一回事情。x++是先使用,然后再加;++x是先加然后再使用。
    5:=赋值运算
    x=5 相当于把5 这个值赋给变量x


    6:位运算
    位逻辑运算符(Bitwise Logical Operations)。
    算术逻辑运算符&(与),|(或),~(补码Complement),^(异或);
    位运算示例


    7:移位运算
    Java 编程语言提供了两种右移位运算符和一种左移运算符,右移一位( >> )相对于
    除以2:左移( <<)相对于乘以2。
    (1):运算符>>进行算术或符号右移位。移位的结果是第一个操作数被2的幂来除,而
    指数的值是由第二个数给出的。例如:
    128 >> 1 gives 128/21 = 64
    256 >> 4 gives 256/2
    4
    = 16
    -256 >> 4 gives -256/2
    4
    = -16
    (2):逻辑或非符号右移位运算符>>>主要作用于位图,而不是一个值的算术意义;它
    总是将零置于符号位上。例如:
    1010 ... >> 2 gives 111010 ...
    1010 ... >>> 2 gives 001010 ...
    在移位的过程中, >>运算符使符号位被拷贝。
    PDF 文件使用 "pdfFactory Pro" 试用版本创建www.fineprint.cn
    Java私塾跟我学系列——JAVA 篇网址:http://www.javass.cn 电话:010-86835215
    (3):运算符<<执行一个左移位。移位的结果是:第一个操作数乘以2 的幂,指数的值
    是由第二个数给出的。例如:
    128 << 1 gives 128*21 = 256
    <<2 gives 16*22 =64
    (4):负数等于正数取反加一。
    示例:


    注意:
    (1):移位运算符将它们右侧的操作数模32简化为int类型左侧操作数, 模64简化为long
    类型右侧操作数。因而, 任何int x, x >>> 32 都会导致不变的x 值, 而不是你可能预计的
    零。
    (2):值得称赞的重要一点是: >>>运算符仅被允许用在整数类型, 并且仅对int 和long
    值有效。如果用在short或byte值上, 则在应用>>>之前, 该值将通过带符号的向上类型转
    换被升级为一个int。有鉴于此,无符号移位通常已成为符号移位。


    8:用加号(+)进行串链接
    运算符 + 能够进行String 对象的链接并生成一个新的String:
    String salutation = "Dr. ";
    String name = "Jack " + "Arthur";
    String title = salutation + name;
    最后一行的结果是:
    Dr. Jack Arthur
    如果+运算符中有一个自变量为String 对象,则其它自变量将被转换成String。所有
    对象都可被自动转换成String,尽管这样做的结果可能是意义含糊的。不是串的对象是通
    过使用toString() 成员方法而转换成串的等价物的。


    9:三目运算?:
    三目运算符?:表达的是:判断问号前面的条件表达式是否为真,如果为真,返回冒号前
    面的值,否则返回冒号后面的值。
    例如:
    PDF 文件使用 "pdfFactory Pro" 试用版本创建www.fineprint.cn
    Java私塾跟我学系列——JAVA 篇网址:http://www.javass.cn 电话:010-86835215
    public class Test {
    public static void main(String[] args) {
    int i = (5>3) ? 6 : 7;
    System.out.println("the i="+i);
    }
    }
    运行结果为:the i=6
    其实三目运算符的基本功能相当于if-else(马上就要学到了),使用三目运算符是因为
    它的表达比相同功能的if-else更简洁。上面的例子改成用if-else表达如下:
    public class Test {
    public static void main(String[] args) {
    int i = 0;
    if (5 > 3) {
    i = 6;
    } else {
    i = 7;
    }
    System.out.println("the i=" + i);
    }
    }
    运行结果为:the i=6

  • 相关阅读:
    Android中Handler原理
    微软柯塔娜(Cortana)的一句名言
    C# 单例模式的五种写法
    HTTP Status 404
    PLSQL中显示Cursor、隐示Cursor、动态Ref Cursor差别
    Android 开发之集成百度地图的定位与地图展示
    iOS知识点汇总
    优化报表系统结构之报表server计算
    淘宝中间的一像素线(手机端)
    解决yum升级的问题“There was a problem importing one of the Python modules”
  • 原文地址:https://www.cnblogs.com/jenson138/p/4043635.html
Copyright © 2011-2022 走看看