0
点赞
收藏
分享

微信扫一扫

基础运算符

一天清晨 2022-03-12 阅读 79

基本运算符 优先级()

operator(运算符)

在这里插入图片描述

Ctrl+D:复制当前行到下一行

在这里插入图片描述

创建包,包里存放类

二元运算符

package operator;//包机制,代表当前的包

public class Demo01 {
    public static void main(String[] args) {
        //二元运算符,两个数操作的,a+b
        //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/b);//输出结果为0,虽然两个类型一样,但结果是小数0.5(四舍五入),所以需要强制转换
        System.out.println(a/(double)b);
    }
}

package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a=12123123123L;
        int b=123;
        short c=10;
        byte d=8;

        System.out.println(a-b+c+d);//如果多个操作中有一个为long类型,结果就为long类型,如果一个数是double类型,那么结果以外double类型
        System.out.println(b-c+d);//如果没有long结果就为int类型
        System.out.println(c-d);//没有long类型时,所有非int类型转为int类型
        System.out.println((double)c+d);//cast:转换,
    }
}

关系运算符

package operator;

public class Demo02 {
    public static void main(String[] args) {
        long a=12123123123L;
        int b=123;
        short c=10;
        byte d=8;

        System.out.println(a-b+c+d);//如果多个操作中有一个为long类型,结果就为long类型,如果一个数是double类型,那么结果以外double类型
        System.out.println(b-c+d);//如果没有long结果就为int类型
        System.out.println(c-d);//没有long类型时,所有非int类型转为int类型
        System.out.println((double)c+d);//cast:转换,
    }
}

逻辑运算符

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));//逻辑运算:两个变量有一个为真,结果才为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);

    }
}

### 位运算符

package operator;

public class Demo06 {
    public static void main(String[] args) {
        /*
        A=0011 1100
        B=0000 1101
        --------------------------------------------------
        A&B:0000 1100   两个相同的位如果都为1则为1,否则都为0
        A/B:0011 1101   如果对应位都为0,则为0,否则为1
        A^B:0011 0001   如果两个对应位相同则为0.否则为1
        ~B(取反):1111 0010

        2*8=16  2*2*2*2
        位运算效率高!!!  跟二进制底层打交道
        <<  *2
        >>  /2
        0000 0000    0
        0000 0001    2
        0000 0010    3
        0000 0011    4
        0000 1000    8
        0001 0000    16
         */
        System.out.println(2<<3);
    }
}

赋值运算符

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);

        //字符串连接符  +
        System.out.println(a+b);
        System.out.println(""+a+b);//结果为1020
        System.out.println(a+b+"");//结果为30
        //如果字符串在前面会去拼接,如果字符串在后面前面依旧进行运算
    }
}

三元运算符

package operator;
//三元运算符
public class Demo08 {
    public static void main(String[] args) {
        //x ? y : z
        //如果x为true结果为y,否则结果为z
        int socre=80;
        String type=socre<60 ?"不及格":"及格";
        //if
        System.out.println(type);
    }
}

举报

相关推荐

0 条评论