Java基础语法5-运算符

运算符 基本运算符(算术、赋值、关系、逻辑等)不再赘述
位运算符
位运算符&|^~<<>>
&
|
~
^异或
<<左移
>>右移

package main.java.operator; public class Test1 {public static void main(String[] args) { /* A = 0011 1100 B = 0000 1101 ------------------- A&B = 0000 1100 A|B = 0011 1101 A^B = 0011 0001 ~B= 1111 00102*8怎样运算最快? 2*8 = 162*2*2*2 左移<<相当于“*2” 右移>>相当于“/2”*/ System.out.println(2<<3); } }

结果如图:
Java基础语法5-运算符
文章图片

扩展运算符
+=-=/=*=
package main.java.operator; public class Test2 {public static void main(String[] args) {int a = 10; int b = 20; a+=b; //a = a + bSystem.out.println(a); a-=b; //a = a - bSystem.out.println(a); } }

结果为:
Java基础语法5-运算符
文章图片

其他类比。
字符串连接符 +
package main.java.operator; public class Test3 {public static void main(String[] args) {int a = 10; int b = 20; System.out.println("" + a + b); //比较这两种方式的不同 System.out.println(a + b + ""); } }

结果为:
Java基础语法5-运算符
文章图片

如果字符串在前面,后面的自动转化为字符串类型,然后拼接在一起。
如果字符串在后面,前面的运算保持,再拼接字符串。
条件运算符
?:
package main.java.operator; public class Test4 {public static void main(String[] args) {/* x ? y : z 如果x == true,则结果为y,否则为z */int score = 50; String type = score < 60 ? "不及格" : "及格"; System.out.println(type); } }

结果为:
Java基础语法5-运算符
文章图片

运算符的优先级
Java基础语法5-运算符
文章图片

补充:
//有long时,运算自动转换为long,没有long时所有非int类型都转为int类型进行计算,double同理 public static void main(String[]args){long a = 123123123123123123L; int b = 123; short c = 10; byte d = 8; System.out.println(a+b+c+d); //Long System.out.println(b+c+d); //int System.out.println(c+d); //int }

结果:
【Java基础语法5-运算符】Java基础语法5-运算符
文章图片

    推荐阅读