扩展赋值运算符:+=,-=,*=,/=package operator;
public class Demo01 {
public static void main(String[] args) {
//二元运算符
int a = 10;
int b = 20;
int c = 25;
int d = 35;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
}
}
package operator;
public class Demo02 {
public static void main(String[] args) {
long a = 12545646545665L;
int b = 123;
short c = 10;
byte d = 8;
double e = 0.2516456;
System.out.println(a+b+c+d); //long
System.out.println(b+c+d); //int
System.out.println(c+d); //int
System.out.println(d+e); //double
//运算中如果有一个数值是long类型,那么结果也为long,如果是double类型,那结果也是double,如果没有比int高的,那么结果都为int类型
}
}
package operator;
public class Demo03 {
public static void main(String[] args) {
//关系运算符的返回结果:正确,错误 布尔值
int a = 10;
int b = 20;
int c = 21;
System.out.println(a>b);
System.out.println(a
package operator;
public class Demo04 {
public static void main(String[] args) {
// ++ -- 自增,自减
int a = 3;
int b = a++; //a++ a = a + 1,执行完这行代码后,先给b赋值,赋值完后再自增
System.out.println(a);
int c = ++a; //++a a = a + 1,执行完这行代码前,先自增,再给c赋值
System.out.println(a);
System.out.println(b);
System.out.println(c);
//幂运算 2^3 2*2*2 = 8 很多运算,我们会使用一些工具类来操作
double pow = Math.pow(2,3);
System.out.println(pow);
}
}
package operator;
//逻辑运算符
public class Demo04 {
public static void main(String[] args) {
//与(and) 或(or) 非(取反)
boolean a = true;
boolean b = false;
System.out.println("a&&b:"+(a&&b)); //逻辑与运算,两个变量都为真,结果才为true
System.out.println("a||b:"+(a||b)); //逻辑或运算,两个变量有一个为真,则结果才为true
System.out.println("!(a&&b):"+!(a&&b)); //如果是真,则变为假,如果是假则变为真
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);
}
}
package operator;
public class Demo04 {
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 0010
2 * 8 = 16 2*2*2*2
<< >> 左移,右移 效率高
<< *2
>> /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);
}
}
package operator;
public class Demo04 {
public static void main(String[] args) {
int a =10;
int b =20;
a+=b; // a=a+b
a-=b; // a=a-b
System.out.println(a);
//字符串连接符 + ,String
System.out.println(a+b);
//字符串型(字符串写在前面)和其他类型做加减,都会将其他类型默认转为字符串类型
System.out.println(""+a+b);
//字符串型写后面就会以前置的数值加减为默认计算
System.out.println(a+b+"");
}
}
package operator;
//三元运算符
public class Demo04 {
public static void main(String[] args) {
//x ? y : z
//如果x==true,则为结果y,否则为结果z
int score = 50;
String type = score <60 ? "不及格" : "及格"; //必须掌握
//类似if,可以提升代码的可读性
System.out.println(type);
}
}