Java 基础知识总结 (三运算符)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 基础知识总结 (三运算符)相关的知识,希望对你有一定的参考价值。
三、Operators 运算符
Assignment Operators(赋值运算符)
= += -= %= *= /= <<= >>= >>>= &= ^= |=
public class ByteDemo { public static void main(String[] args) { byte b1=2; byte b2=3; b1=(byte)(b1+b2); //加法,转int b1+=b2; //赋值,不转int } }
b1+=b2;与b1=b1+b2;是否完全等价?
答案是否定的。byte类型参数与运算时要先转换为int型,因此要进行强制类型转换。(可以把“b11+=b2;”看做是对“b1=(byte)(b1+b2);”的优化!)
Comparison Operators(比较运算符)
> >= < <= instanceof
Equality Operators(相同运算符)
== !=
Arithmetic Operators(算术运算符)
+ - * / %
Shift Operators(移位运算符)
>> << >>>
public class Test { public static void main(String[] args) { String s1 = Integer.toBinaryString(-1); System.out.println(s1); // 11111111,11111111,11111111,11111111 int i1 = Integer.valueOf("1111111100000000", 2); System.out.println(i1); // 65280 int i2 = i1 >> 1; System.out.println(Integer.toBinaryString(i2)); // 01111111,10000000 int i3 = i1 << 1; System.out.println(Integer.toBinaryString(i3)); // 00000001,11111110,00000000 int i4 = i1 >>> 1; System.out.println(Integer.toBinaryString(i4)); // 01111111,10000000 // 零位扩展和符号位扩展 System.out.println(Integer.toBinaryString(-1 >> 1)); // 11111111,11111111,11111111,11111111 // -1 System.out.println(Integer.toBinaryString(-1 >>> 1)); // 01111111,11111111,11111111,11111111 // 2147483647 } }
Bitwise Operators(位运算符)
& | ^(按位异或) ~(按位取反)
Logic Operators(逻辑运算符)
&& & || | !
Conditional Operators(条件运算符)
?:
public class Test { public static void main(String[] args) { boolean b = true; int i = b ? 1 : 2; System.out.println(i); // 1 } }
Other operators
++ --
public class TestAction { public static void main(String[] args) { int i = 2; System.out.println(i++); // 2 System.out.println(i); // 3 int a = i++ + i; // 3+4=7 System.out.println(a); int b = i++ + ++i; // 3+5=10 i++; System.out.println(b); System.out.println(i); // 7 for (int j = 0; j < 1000; j++) { i = i++; } System.out.println(i); // 7 } }
以上是关于Java 基础知识总结 (三运算符)的主要内容,如果未能解决你的问题,请参考以下文章
🤖全套Java教程_Java基础入门教程,零基础小白自学Java必备教程🙋♂️002 # 第三单元 运算符方法入门 #