Java运算符

发布于2020-03-24   795 次阅读


本文最后更新于2022年6月1日,已超过 1 年没更新!内容可能已失效,请自行测试。

运算符简介

运算符

对常量和变量进行操作的符号称为运算符

表达式

用运算符把常量或者变量连接起来符合Java语法的式子就可以称为表达式

不同运算符连接的式子体现的是不同类型的表达式

  • 数学运算符
  • 关系运算符
  • 三目运算符
  • 位运算符
  • 逻辑运算符

数学运算符

案例代码-数学运算符

package YunSuan;

public class MathDemo {
  public static void main(String[] args) {
    // 定义两个变量
    int a = 3;
    int b = 4;
    System.out.println(a + b);
    System.out.println(a - b);
    System.out.println(a * b);
    System.out.println(a / b);
    // 整数相除只能得到整数,要想得到小数,就必须有浮点数参与运算
    System.out.println(3 / 4.0);
    System.out.println(3.0 / 4);
  }
}

案例代码-取余和除法的区别

%:取余运算符得到的是两个相除数据的余数

/:除法运算符得到是两个相除数据的商。

使用场景:%:判断两个数据是否整除

package YunSuan;
/*
 %:用于获取两个数据相除后的余数
 /:用于获取两个数据相除时的商*
*/
public class MathDemo2 {
  public static void main(String[] args) {
    int a;
    int b;
    a = 3;
    b = 5;
    System.out.println(b / a);
    System.out.println(b % a);
  }
}

案例代码-算数运算符++和- - 的用法

package YunSuan;
/*
++,--运算符:对变量做加1或者减1的操作
++或者--既可以放在变量的后面,也可以放在变量的前面
单独使用的时候,++或者--无论是放在变量的前面还是后面,结果一样
参与操作的时候:
如果++或者--在变量的后面,先拿变量参与操作,后变量做++或者--
如果++或者--在变量的前面,先变量做++或者--,后拿变量参与操作*/
public class MathDemo3 {
  public static void main(String[] args) {
    int x = 10;
    int y = 20;
    ++x; // ++x首先需要自增1
    int result = x - y;
    y--; // 执行完之后减1
    System.out.println("x=" + x);
    System.out.println("y=" + y);
    System.out.println("result=" + result);
  }
}

关系运算符

关系运算符的主要特征就是进行大小的比较处理

案例代码-关系运算符

package YunSuan;
/*
 * 关系运算符: ==,!=,>,>=,<,<= 关
 * 系运算符的结果是boolean类型
 *
 * 千万不要把==写成=
 */
public class Demo {
  public static void main(String[] args) {
    int a = 10;
    int b = 20;
    int c = 10;
    System.out.println(a == b);
    System.out.println(a == c);
    System.out.println("-----------------");
    System.out.println(a != b);
    System.out.println(a != c);
    System.out.println("-----------------");
    System.out.println(a > b);
    System.out.println(a > c);
    System.out.println("-----------------");
    System.out.println(a >= b);
    System.out.println(a >= c);
    boolean bb = (a == b);
    System.out.println(bb);
  }
}
package YunSuan;

public class Demo2 {
  public static void main(String[] args) {
    char c = '建';
    boolean flag = 24314 == c;
    System.out.println(flag);
    System.out.println((int) c);
  }
}

三目运算符

案例代码-三目运算符

package YunSuan;
// (关系表达式)?表达式1:表达式2;
public class SanMuDemo {
  public static void main(String[] args) {
    int x = 10;
    int y = 20;
    // 判断x与y的大小
    int max = x > y ? x : y;
    System.out.println(max);
  }
}

位运算符

案例代码-位运算符

package WeiYunSuan;
/*
 * 与:&
 * 或:|
 * 异或:^
 * 取反:~
 */
public class Demo {
  public static void main(String[] args) {
    int x = 2;
    int y = 7;
    System.out.println(x & y);
    System.out.println(x | y);
    System.out.println(x ^ y);
    System.out.println(~x);
    System.out.println(x << 2);
    System.out.println(x >> 2);
  }
}

=

一沙一世界,一花一天堂。君掌盛无边,刹那成永恒。