二元运算符的运算
public class Demo1 {
public static void main(String[] args) {
//二元运算符
int a=10;
int b=20;
int c=25;
int d=25;
System.out.println(a+b);
System.out.println(a-b);
System.out.println(a*b);
System.out.println(a/(double)b);
}
}
运算中,不同类型的数据先转化为同一类型,然后进行计算(向表示范围大的类型转化,相同类型不变)
public class Demo2 {
public static void main(String[] args) {
long a=123434533545334L;
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
}
}
public class Demo3 {
public static void main(String[] args) {
//关系运算符返回的结果:布尔值(true/false)
int a=10;
int b=20;
System.out.println(a>b);
System.out.println(a<b);
System.out.println(a==b);
System.out.println(a!=b);
}
}
public class Demo3 {
public static void main(String[] args) {
//取余/模运算
int a=10;
int b=20;
int c=22;
System.out.println(c%a);//c/a=21/10=2...1
}
}
public class Demo4 {
public static void main(String[] args) {
//自增与自减(一元运算符)
int a=3;
int b=a++; //执行完这行代码后,先将a的值赋给b,a再自增
//a++,a=a+1
System.out.println(a);
//++a,a=a+1
int c=++a; //执行完这行代码后,a先自增,再将a的值赋给b
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
//幂运算 2^3 2^2^2=8
double pow=Math.pow(2,3); //Math.pow()属于工具类
System.out.println(pow);
package operator;
//逻辑运算符
public class Demo5 {
public static void main(String[] args) {
//与(and) 或(or) 非(取反)
boolean a=true;
boolean b=false;
System.out.println("a&&b:"+(a&&b)); //逻辑与运算:两个变量都为真,结果才为真
System.out.println("a||b:"+(a||b)); //逻辑或运算:两个变量有一个为真,结果才为真
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 Demo6 {
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怎么运算最快?
2*8=2*2*2*2=16
<<(左移) 等价于*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 Demo7 {
public static void main(String[] args) {
int a=10;
int b=20;
a+=b; //a=a+b
System.out.println(a);
}
}
//字符串连接符 +
a=10;
b=20;
System.out.println(a+b);
System.out.println(""+a+b); //在+两侧,只要出现String,就会进行连接操作
//""+a+b 与 a+b+"" 的区别
System.out.println(""+a+b);
System.out.println(a+b+""); //若字符串在前,则会进行拼接;若字符串在后,则会先进行运算
package operator;
//三元运算符
public class Demo8 {
public static void main(String[] args) {
//x?y:z
//如果x==true,这结果为y,否则结果为z
int score=80;
String type=score<60?"不及格":"及格";
System.out.println(type);
}
}
! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
重要声明:本篇文章整理自B站狂神说Java
原文:https://www.cnblogs.com/ibelifly/p/15046950.html