Java004

运算符

算数运算符

// 算数运算符:+,-,*,/,%(取余/模运算),++(自增),--(自减)
int a = 10;
int b = 6;
System.out.println(a+b);                // 16
System.out.println(a-b);                // 4
System.out.println(a*b);                // 60
System.out.println(a/(double)b);        // 1.667
System.out.println(a%b);                // 4
System.out.println(a++);                // 10
System.out.println(a);                  // 11
System.out.println(++a);                // 12
System.out.println(a);                  // 12

赋值运算符:=

  • 拓展赋值运算符:+=、-=、*=、/=
// 赋值运算符拓展
int i1 = 10;
int i2 = 20;
i1 += i2;       // i1 = i1 + i2
System.out.println(i1);     // 30

关系运算符

// 关系运算符:>,<,==,>=,<=,!=,instanceof(测试一个对象是否为一个类的实例)
// 返回结果为布尔值
int c = 10;
int d = 20;
System.out.println(c>d);        // false
System.out.println(c<d);        // true
System.out.println(c==d);       // false
System.out.println(c>=d);       // false
System.out.println(c<=d);       // true
System.out.println(c!=d);       // true

逻辑运算符

// 逻辑运算符:&&、||、!
boolean b1 = true;
boolean b2 = false;
System.out.println(b1&&b2);     // false
System.out.println(b1||b2);     // true
System.out.println(!b1);        // false
// 短路运算
int i = 5;
boolean b3 = (i<5)&&(i++<5);    // 后半部分被短路,不执行自增运算
System.out.println(b3);         // false
System.out.println(i);          // 5

位运算符

位运算符:&、|、~、(异或:同0异1)、>>、<<、>>>
A = 0011 1100
B = 0000 1101
A&B:0000 1100
A|B:0011 1101
~B: 1111 0010
A
B:0011 0001
移位运算效率极高
<<:左移(*2)
>>:右移(/2)
>>>:无符号右移,忽略符号位,空位都以0补齐
System.out.println(8<<1); // 16

条件运算符(三元运算符)

condition ? x : y,condition == true,则结果为x,否则结果为y

// 条件运算符(三元运算符)
int score = 80;
String result = score>60 ? "及格" : "不及格";
System.out.println(result);     // 及格

字符串连接符

  • 连接符两边有String的,会转换为字符串进行连接
  • 字符串在前,后面的运算元会转为字符串
  • 字符串在后,前面的运算元先进行运算,再与字符串进行连接
int a = 10;
int b = 20;
System.out.println(""+a+b);     // 1020
System.out.println(a+b+"");     // 30
tag(s):
show comments · back · home