//最基本的运算符是我们熟悉的+、-、*、/,它们是双目运算符
//逻辑运算符&&(逻辑与)、||(逻辑或)、!(逻辑非)是对boolean类型进行运算的运算符,其中&&、||是双目,!是单目
//a&&b中只要a、b任何一个变量为false,运算结果就为false,否者为true
//a||b中只要任意一个为true,预算结果就为true。
//!a,当a为true是运算结果为false,当a为false时运算结果为true
//位运算符~(取否)、&(按位与)、|(按位或)、^(异或)是针对位的运算符
//如a=001,~a运算后就会变成110;&、|、^都是双目运算符
//在&运算符下任何一个为0,则结果为0,否则为1,如a=1001,b=1000,则a&b的结果为1000
//在|运算符下任何一个为1,则结果为1,否则为0,如a=1001,b=1000,则a&b的结果为1001
//在^运算符下两个位值相同,则结果为1,否则为0,如a=1001,b=1000,则a&b的结果为1110
//>>(右移)<<(左移),左移相当于乘2,左移1为乘以一个2,。右移相当于除以2,右移一位除以一个2
//扩展运算符
//a += b 等同于 a=a+b
//a -= b 等同于 a=a-b
//a *= b 等同于 a=a*b
//a /= b 等同于 a=a/b
//字符串连接符+,两个字符串之间用+符号时,+的作用就变成连接两个字符串了
//三目运算符
// 写法 逻辑?a:b,当逻辑为true时,运算结果为a。当逻辑为false时,运算结果为b
//运算符 public class Operator { public static void main(String[] args) { int a = 1,b = 2; System.out.println("a+b="+a+b);//加法运算 boolean c = false,d = true; System.out.println("c&&d="+(c&&d));//逻辑与运算 //二进制1000的十进制为8,1001的十进制为9 int e = 8&9; System.out.println("1000&1001="+Integer.toBinaryString(e));//位运算符,toBinaryString将结果转化成二进制方便我们查看 int f = 2<<3;//位移运算2<<3相当于2*2^3 System.out.println("2<<3="+f); int g = 1<2?5:6;//三目运算符,1<2逻辑的结果为true,所以运算结果为5 System.out.println("1<2?5:6="+g); } }
运行结果