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);
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);
}
报错:
解决:强制转换
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);
}
本节阅读完毕!
(分享)