java运算符

Java基础(位运算符)_三元运算符

注意在进行加减乘除运算时,如果结果存在小数部分时需要转换成double类型的,否则会被四舍五入为整数

Java基础(位运算符)_赋值_02

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);//结果为不及格