特别声明:如下内容均来自于不同网络课程视频或书籍,整理合并完成。 如果有整理错误,忘及时指出,共同进步,不胜感激。
整数类型:顾名思义,将值赋予给一个变量,例如将 5 赋值给 int 型变量x。 即 x = 5; 等号右边 的值给等号左边的变量。
一般来讲,运算符左右都有操作数,例如 a + b,我们称 a,b 为操作数。但java中还存在一种情 况,运算符只有一个操作数。例如 -1; 表示负3。
加减乘除。 例如: a + b
等于,不等于,大于,小于,大于等于,小于等于。 例如: a >= 7;
或(&& / &),与(|| / |),非(!)。 例如: a && b。 通常我们使用 &&,|| 这两种形式。 区别:
public static void main(String[] args) { int a = 10; int b = 0; if(a > 0 || (a/0) > 2) { System.out.PRint("Hello World"); }} output: Hello World public static void main(String[] args) { int a = 10; int b = 0; if(a > 0 | (a/0) > 2) { System.out.print("Hello World"); } } output: Exception in thread "main" java.lang.ArithmeticException: / by zero众所周知 0 不能做分母,所以 a/0 是不成立的,但使用 || 时并没有报错,因为计算机执行该语 句时,发现第一个条件a>0 已经正确,或运算要求至少一 个满足条件即可。 但使用 | 时,程序 异常报错,因为 | 判断完第一个条件后,继续判断第二条。因此从这种角度来说 || 提高了程序的 效率。
可以理解为 if…else的快捷方式。
例如:
public static void main(String[] args) { int a = 3; int b = 4; if(a > b) { System.out.print(" a > b"); } else { System.out.print(" a < b"); }} output: a < b public static void main(String[] args) { int a = 3; int b = 4; String result; result = (a > b) ? "a > b":"a < b"; System.out.print(result);} output: a < b这两段代运算的内容一样,但是第二段代码更简练一些。 以第二段代码为例, 我们比较 a,b 如 何为真则 result的字符串内容为问号后第一个,如果为假,则将冒号后内容赋值给result。 三元 运算符局限性在于 只能 比较两个操作数。
因为计算机只能识别 0 与 1. 因此在java中,数据都是以二进制(0 或 1)的形式存在。 例如:
public static void main(String[] args) { int b = 6; System.out.println(Integer.toBinaryString(b));} output: 110这里我们将 int 型的变量 b 转化为二进制数。 因为int型数据长度为 32 位,所有得到如下内 容:
00000000 00000000 00000000 00000110 从左到右计算 0 * 2^0+1 * 2^1+1 * 2 ^2 = 2 + 4 = 6
位运算结果表
| Number A | Number B | (&) | (|) | (^) | |----------|----------|-----------|---------|---------| | 0 | 0 | 0 | 0 | 0 | | 0 | 1 | 0 | 1 | 1 | | 1 | 0 | 0 | 1 | 1 | | 1 | 1 | 1 | 1 | 0 |(&): 操作数全部为 1 则结果为 1, 否则值为 0 (|): 操作数至少有一个值为 1 则结果为 1, 否则值为 0 (^): 操作数值全部相同 则结果为 0, 否则值为 1
换句话说,运算顺序高低,比如在数学书中,乘法,除法 并列 且 高于加减法。但我们加入()时 就可以改变运算顺序。 例如:
public static void main(String[] args) { int a = 1; int b = 2; int c = 3; int d1 = a+b*c; int d2 = (a+b)*c; System.out.print("d1 = "+d1+","+"d2= "+d2);} output:d1 = 7,d2= 9因此不难看出,括号运算符的优先级大于乘除法运算符。下面连接为具体的优先级顺序表
未完待续。。。 更新时间 每周一,三,五,日。
新闻热点
疑难解答