注意在进行加减乘除运算时,如果结果存在小数部分时需要转换成double类型的,否则会被四舍五入为整数
long a=123131321135246813L; int b=1232; short c=1221; byte d=21; System.out.println(a+b+c+d);//如果加减过程中有一个变量为long 结果long类型 System.out.println(b+d+c);//其他都为int类型 结果int类型 System.out.println(c+d);//其他都为int类型 结果int类型 int a=10; int b=22; //取余,也叫模运算(22除以10然后再取余数2为结果== 22%10=2) System.out.println(b%a);//输出结果为2
自增 自减
//一元运算符 自增 自减
int aa=5;
int bb=aa++;//先赋值bb,后自增(aa=aa+1)
System.out.println(aa);//输出结果为6
int cc=++aa;//先加后赋值
System.out.println(aa);//这里输出结果为7 因为这里的aa自增两次
System.out.println(bb);//这里输出结果为5 因为这里aa先把值赋予bb之后再自增所以bb=5
System.out.println(cc);//输出结果为7
与(and) 或(or) 非(取反)
// 与(and) 或(or) 非(取反)
boolean zz=true;
boolean xx=false;
System.out.println("zz&&xx:"+(zz&&xx));//&连接的两个变量两个都为真,结果才为真
System.out.println("zz||xx:"+(zz||xx));// |(或)连接的两个变量其中有一个为真,结果为真
System.out.println("!(zz&&xx):"+!(zz&&xx));//如果是真则为假,如果是假则为真
短路运算
//短路运算
int z=5;
boolean x=(z<5)&&(z++<5);
System.out.println(z);//这里的z是5的原因是第一个判断为假,所以后面那个根本不会被执行
System.out.println(x);// &连接的两个变量只有两个都为真的时候,结果才为真
boolean x2=(z<6)&&(z++<5);
System.out.println(z);//这里结果是6,因为先赋值后子增
System.out.println(x2);//所以在比较的时候z++ =5所以不大于5为false
System.out.println(2<<3);//(<<)表示乘的意思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
*/
//a+=b 等于a=a+b
//a-=b 等于a=a-b
int qq=10;
int ww=20;
System.out.println(""+qq+ww);//String类型在前面会自动转化为string类型 结果:1020
System.out.println(qq+ww+"");//String类型在后面前面的会相加不影响 结果:30
三元运算符
//三元运算符 x ? y : z //如果x==ture,这结果为y,否则为z int score=50; String type=score>60?"及格":"不及格"; System.out.println(type);//结果为不及格