public class Demo06 {
public static void main(String[] args) {
//二元运算符
int i1 = 10;
int i2 = 20;
//Ctrl+D:自动复制当行至下一行
System.out.println(i1+i2); //结果为30
System.out.println(i1-i2); //结果为-10
System.out.println(i1*i2); //结果为200
System.out.println(i1/i2); //结果为0
//照理来说10/20应该是0.5,但因为a、b都是int类型,输出结果为整数,所以自动去掉了0后小数
//所以要用到强制转换,正确写法应是:
System.out.println(i1/(double)i2); //结果为0.5
System.out.println("==============================");
long a = 12345616321L;
int b = 123;
short c = 10;
byte d = 8;
System.out.println(a+b+c+d); //结果为12345616462,是long类型
System.out.println(b+c+d); //结果为141,int类型
System.out.println(c+d); //结果为18,也是int类型
System.out.println("==============================");
//关系运算符返回的结果:正确(true)、错误(false)——>布尔值
int a1 = 10;
int a2 = 20;
System.out.println(a1>a2); //结果为false
System.out.println(a1<a2); //结果为true
System.out.println(a1==a2); //结果为false
System.out.println(a1!=a2); //结果为true
//模运算%,即取余
int a3 = 21;
System.out.println(a3%a1); //结果为1,即21/10=2....1余数为1
System.out.println("==============================");
//++ --即自增、自减运算(一元运算符)
int x = 4;
int y = x++; //执行完这行代码后,先给y赋值,再自增
int z = ++x; //执行这行代码前,先自增,再给z赋值
System.out.println(x); //结果为6,因为这里输出的x是y、z运算完后的值,即自增了两次
System.out.println(y); //结果为4,这里的y是先赋值,这时x的值为4,所以y也是4
System.out.println(z); //结果为6,因为前面的y赋值以后自增,x的值为5了,++x先自增再赋值,所以z为6
System.out.println("==============================");
//幂运算:2^3即2的3次方,再java中无法出现^,还有一些其他无法出现的运算,要使用一些工具类来操作
double pow = Math.pow(2,3);
System.out.println(pow); //结果为8.0
}
}