首页 专题 文章 代码 归档
Java 整数运算
2020.02.25 11:58 2020.02.25 11:58

1. 整数运算

1.1. 四则运算

Java的整数运算遵循四则运算规则,可以使用任意嵌套的小括号。

public static void test01() {
    int a = 12;
    int b = 6;
    int c = a / b;// 除法
    int d = a * b; //乘法
    int e = a + b;//加法
    int f = a - b; //减法
    System.out.println("c = " + c);
    System.out.println("d = " + d);
    System.out.println("e = " + e);
    System.out.println("f = " + f);
}

1.2. 求余

int g = a%b;//取余使用%
System.out.println("g = " + g);

截图-1582545444

1.3. 自增/自减

a += 1; // => a = a + 1;
b -= 1; // => b = b - 1;
System.out.println("a = " + a); // 13
System.out.println("b = " + b); // 5

a--;// => a = a - 1;
b++;// => b = b + 1;

System.out.println("a = " + a); // 12
System.out.println("b = " + b); // 6

1.4. 位运算

位运算是按位进行与、或、非和异或的运算。

与运算

与运算的规则是,必须两个数同时为1,结果才为1:

n = 0 & 0; // 0
n = 0 & 1; // 0
n = 1 & 0; // 0
n = 1 & 1; // 1

或运算

或运算的规则是,只要任意一个为1,结果就为1:

n = 0 | 0; // 0
n = 0 | 1; // 1
n = 1 | 0; // 1
n = 1 | 1; // 1

非运算

非运算的规则是,0和1互换:

n = ~0; // 1
n = ~1; // 0

异或运算

异或运算的规则是,如果两个数不同,结果为1,否则为0

n = 0 ^ 0; // 0
n = 0 ^ 1; // 1
n = 1 ^ 0; // 1
n = 1 ^ 1; // 0

2. 运算优先级

在Java的计算表达式中,运算优先级从高到低依次是:

  • ()
  • ! ~ ++ --
  • * / %
  • + -
  • << >> >>>
  • &
  • |
  • += -= *= /=

3. 类型自动提升与强制转型

Java运算中,当两个变量类型不同时,范围小的总是自动向范围大的转换:

static void test02() {
    short a = 12;
    int b = 1;
    int c = a + b; // a 自动转换成int
    short d = a + b;//编译报错
    System.out.println("c = " + c);
}

报错:

截图-1582546038

解决:强制转换

static void test02() {
    short a = 12;
    int b = 1;
    int c = a + b; // a 自动转换成int
    short d = (short) (a + b);//编译报错
    System.out.println("c = " + c);
        System.out.println("d = " + d);
}

截图-1582546079

本节阅读完毕! (分享
二维码图片 扫描关注我们哟