• 3. Java运算符


    1. 算术运算符

    运算符运算
    +正号
    -负号
    +
    -
    *
    /
    %取模(取余)
    ++自增
    自减
    +字符串拼接

    除法(/):Java中,整型数据除法运算结果的舍入规则与C语言中相同,都是向0舍入。

    int a = 3/2;  //float除法应该为 1.5
    int b = 5/3;  //float除法应该为 1.666
    int c = 5 /4;  //~~~~~~~~~~~~  1.25
    
    int d = -3/2; //~~~~~~~~~~~~  -1.5
    int e = -5/3; //~~~~~~~~~~~~~~  -1.66
    int f = -5/4; //~~~~~~~~~~~~~~  -1.25
    
    System.out.printf("a is %d\nb is %d\nc is %d\n" +
                      "d is %d\ne is %d\nf is %d\n",
                       a, b,c,d,e,f);
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    输出结果:

    a is 1
    b is 1
    c is 1
    d is -1
    e is -1
    f is -1
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    浮点型数据除法运算结果小数部分的位数:若能整除,显示整数+“.0”(如2.0);若能除尽且有小数,显示有效的位数,小数末尾的0不显示;若不能除尽,显示该数据类型能保留的位数。

    float a = 10F;
    System.out.println(a / 2);//5.0
    System.out.println(a / 4);//2.5
    System.out.println(a / 8);//1.25
    System.out.println(a / 16);//0.625
    System.out.println(a / 3);//3.3333333
    System.out.println(a / 7);//1.4285715
    
    double b = 10;
    System.out.println(b / 2);//5.0
    System.out.println(b / 4);//2.5
    System.out.println(b / 8);//1.25
    System.out.println(b / 16);//0.625
    System.out.println(b / 3);//3.3333333333333335
    System.out.println(b / 7);//1.4285714285714286
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    取模(%):a % b 的本质是 a - a / b * b

    System.out.println(10 % 3); //1
    System.out.println(-10 % 3); // -10 - (-10) / 3 * 3 = -1
    System.out.println(10 % -3); // 10  - 10 / (-3) * (-3) = 1
    System.out.println(-10%-3);  // -10 - (-10) / (-3) * (-3) = -1
    
    • 1
    • 2
    • 3
    • 4

    自增(++)/ 自减(- -)
    作为独立语句使用时:i++ 和 ++i 都完全等价于 i = i + 1;
    作为表达式使用时:++i 先自增后赋值;i++ 先赋值后自增。

    int i = 10;
    i++;
    ++i;
    System.out.println("i=" + i); //12
    
    int j = 8;
    int k = ++j; //等价于j=j+1; k=j
    System.out.println("k = "+ k + " j=" + j);//9 9
    
    k = j++;	 //等价于k =j; j=j+1;
    System.out.println("k = "+ k + " j=" + j);//9 10
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    练习题:

    int i = 1;
    i = i++;
    System.out.println(i); // 输出1
    
    • 1
    • 2
    • 3

    上面的代码做了这样的工作:temp = i; i = i + 1; i = temp;

    int i = 1;
    i = ++i;
    System.out.println(i); // 输出2
    
    • 1
    • 2
    • 3

    上面的代码做了这样的工作:i = i + 1; temp = i; i = temp;

    2. 关系运算符(比较运算符)

    关系运算的结果都是boolean型,或者为true,或者为false。

    运算符运算范例结果
    ==等于8 == 7false
    !=不等于8 != 7true
    <小于8 < 7false
    >大于8 > 7true
    <=小于等于8 <= 7false
    >=大于等于8 >= 7true
    instanceof检查是否是类的对象“hsp” instanceof Stringtrue
    int a = 9; 
    int b = 8;
    System.out.println(a > b); //T
    System.out.println(a >= b); //T
    System.out.println(a <= b); //F
    System.out.println(a < b);//F
    System.out.println(a == b); //F
    System.out.println(a != b); //T
    boolean flag = a > b; //T
    System.out.println("flag=" + flag) ;
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3. 逻辑运算符

    aba & ba && ba | ba || b!aa ^ b
    truetruetruetruetruetruefalsefalse
    truefalsefalsefalsetruetruefalsetrue
    falsetruefalsefalsetruetruetruetrue
    falsefalsefalsefalsefalsefalsetruefalse

    异或(^): 相同为false,不同为true(求异)。

  • 相关阅读:
    数据库高级 III
    Android Gradle插件对应的Gradle脚本所需版本
    【笔试强训选择题】Day47.习题(错题)解析
    云计算之分布式计算
    git常见使用 --实习中用到的
    【Spring Boot】实战:实现Session共享
    Python语言学习实战-内置函数filter()的使用(附源码和实现效果)
    go 热重载工具air
    html将复选框变为圆形样例
    item_search - 根据关键词获取义乌购商品列表
  • 原文地址:https://blog.csdn.net/qq_44378854/article/details/125564610