day9基本运算符

运算符

Java 语言支持如下运算符:优先级()

  • 算术运算符:+,-,*,/,%,++,--
package operator;

public class Demo04 {
    public static void main(String[] args) {
     //++ --  自增,自减  一元运算符
        int a =3;

        int b =a++;//执行完这行代码后,先给b赋值,再自增
        //a = a+1;
        System.out.println(a);
        //a++   a= a+1;
        int c =++a;//执行完这行代码前,先自增,再给c赋值

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);

        //幂运算 2^3(Java中不存在^这样的运算)  2*2*2=8
        //很多运算,我们会使用一些工具类来操作!
        double pow = Math.pow(2, 3);
        System.out.println(pow);

    }
}
package operator;

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符
        //Ctrl +D :复制当行到下一行
        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);
    }
}
  • 赋值运算符=
package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a =123123123123L;
        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   自动升为混合运算类型中最高类型

    }
}
  • 关系运算符:>,<,>=,<=,==,!=(不等于),instanceof
package operator;

public class Demo03 {
    public static void main(String[] args) {
        //关系运算符返回的结果:正确或错误,用布尔值表示

        int a =10;
        int b =20;
        int c =21;

        //取余,模运算
        System.out.println(c%a);//c/a  21/20=2...1

        System.out.println(a>b);
        System.out.println(a<b);
        System.out.println(a==b);
        System.out.println(a!=b);

    }
}
  • 逻辑运算符:&&,||,!
package operator;
//逻辑运算符
public class Demo05 {
    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));//逻辑或运算:两个变量有一个结果为真,则结果为真
        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 Demo06 {
    public static void main(String[] args) {
   /*
   * A =0011 1100
   * B =0000 1101
   * -------------
   * A&B =0000 1100
   * A\B =0011 1101
   * A^B =0011 0001  (相同为0,不相同为1)
   * ~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 Demo08 {
    public static void main(String[] args) {
        //x ? y : z
        //如果x==ture,则结果为y,否则结果为z

        int score =80;
        String type =score <60?"不及格":"及格";//必须掌握,十分常见
        System.out.println(type);
    }
}
  • 扩展赋值运算符:+=,-=,*=,/=
package operator;

public class Demo07 {
    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(在加号两端只要有一端出现字符串类型,就会把另外一个操作数或者其他操作数都转换为String再进行连接)
        System.out.println(""+a+b);
        System.out.println(a+b+"");//(字符串在前面时,数值进行拼接,字符串在后面时,前面依旧运算。)

    }
}

点击跳转到狂神说java

posted @ 2020-11-21 14:45  今晚不熬夜。  阅读(119)  评论(0)    收藏  举报