Java学习——运算符的相关知识

发布时间 2023-06-28 11:30:31作者: 菲菲公主的博客

运算符

优先级:使用()来改变运算符的优先级

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);//double转换类型
        System.out.println(c%a);//取余 模运算

        long x=123123123123123L;
        int y=123;
        short z=10;
        byte j=8;
        System.out.println(x+y+z+j);//Long
        System.out.println(x+y+z);//int
        System.out.println(z+j);//int
        //注意:在运行的过程中 有Long类型,最后的结果也是Long类型
        //有double类型,最后的结果也是double类型

//关系运算符的结果 正确 错误
        int q=10;
        int o=20;
        System.out.println(q<0);
        System.out.println(q>0);
        System.out.println(q==0);
        System.out.println(q!=0);
}
//++ -- 自增 自减 一元运算符
        int a = 3;
        int b = a++;//执行完这行代码后,先给b赋值 再自增
        //a=a+1 隐藏了这一行代码
        System.out.println(a);//4

        int c = ++a;//执行完这一行后 先自增 再给b赋值
        System.out.println(a);//5
        System.out.println(b);//3
        System.out.println(c);//5

//幂运算 2^3 2*2*2=8
        //很多运算 会用到一些工具类在操作Math类中有很多
        System.out.println(Math.pow(2,3));
//逻辑运算符 与(and) 或(or) 非(取反)
        boolean a = true;
        boolean b = false;

        System.out.println("a && b:" + (a && b));//逻辑与运算:两个变量都为真 结果才为true
        System.out.println("a || b:" + (a || b));//逻辑或运算:两个变量有一个为真,则结果则为true
        System.out.println("!(a &&b):"+!(a&&b));//如果是真 则变为假 如果是假 则变为真

        //短路运算 前面有错误 则后面不再执行
        int c=5;
        boolean d=(c<4)&&(c++<4);
        System.out.println(d);
        System.out.println(c);
//位运算符
        /*
        A= 0011 1100
        B= 0000 1101
        //上下进行比较 0假1真 11为真 其他都是假
        A&B:0000 1100
        //上下进行比较 有一个1则为真
        A|B:0011 1101
        //相同为0 不同为1
        A^B:0011 0001
        //相同为1 不同为0
        ~B:1100 1110

        怎样计算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);//16
	    int a = 10;
        int b = 20;
        a += b;//a=a+b
        a -= b;//a=a-b
        System.out.println(a);

//字符串链接符   +  ,String
        System.out.println(a+b);
        System.out.println(""+a+b);//字符串在前面 会进行拼接
        System.out.println(a+b+"");//字符串在后面 会先进行运算

//三元运算符
        //x ? y : z
        //如果x==true, 则结果为y,否则结果为z

        int score=60;
        String type=score<70? "不及格":"及格";//必须掌握
        //if运算
        System.out.println(type);

包机制

  1. 一般利用公司域名倒置作为报名:例如com.feistudy.www
  2. import 包名 导入包