运算符练习代码

运算符分类

运算符优先级
在这里插入图片描述
补充:在实际运用中最好使用(),避免歧义。
运算符练习eg:

class TestOperator {            
    public static void main(String[] args) {
        //算术运算符
        int a = 3;
        long b = 4;
        //  int  c=a+b;                         
        //Error:(100, 25) java: 不兼容的类型: 从long转换到int可能会有损失
        long c = a + b;   
        System.out.println(c);                       
         //运算规则: 1、两个操作数有一个为long,结果为long数据类型
        //    		 2、没有long时,结果为int类型,即使操作数为byte、short,默认结果也为int类型。
/*  浮点运算:1、如果操作数有一个double,则默认结果为double类型
*            2、只有两操作数都是float,结果才为float类型。
*            补充:默认结果偏向于大的数据类型 */
        int d = 10 % 3;                            //取模运算:操作可以为浮点数,一般为整数类型,结果为余数。
        System.out.println(d);

        //测试自增、自减
        int e = 15;
        e++;
        System.out.println(e);
        e = 15;
        e--;
        System.out.println(e);
        //测试扩展运算符
        int x = 4, y = 6;
        //int y= 6;
        x += y;           //等价于 x=x+y  //中间含有空格则报错
        System.out.println(x);
        x = 4;
        x *= y + 3;            //等价于  x= x*(y+3)
        System.out.println(x);
    }
}

运行结果:

7
1
16
14
10
36

Process finished with exit code 0

关系(比较)运算符eg:

class TestOperator1 {           
    public static void main(String[] args) {
        int x = 4, y = 6;
        boolean a = x < y;
        System.out.println(a);

        char b = 'h';
        System.out.println((int) b);        //char值位于0~655535之间,通过(int)强制转为int类型,可以看到对应的数字。
        System.out.println(b < 100);         //char也能用于关系运算符的比较

        //测试逻辑运算符
        boolean b1 = true;
        boolean b2 = false;

        System.out.println(b1 & b2);        //与: 有一个false,结果为false
        System.out.println(b1 | b2);        //或:有一true,  结果为true
        System.out.println(!b2);          //非:相反的,此结果为true
        System.out.println(b1 ^ b2);         //异或: 相同为false,不同为true,此结果为true

        //短路与,短路或
        //int g = 3/0; //o不能做除数,会报错
        boolean b3 = 1 > 2 && 4 < 3 / 0;            //短路与:只要一个是false,就是false,此表达式前面是false,后面错误直接跳过了
        boolean b4 = 1 < 2 || 4 < 3 / 0;            //短路或:只要前面是true,就是true,后面就直接跳过了
        System.out.println(b3);
        System.out.println(b4);
    }
}

运行结果:

true
104
false
false
true
true
true
false
true

Process finished with exit code 0

位运算符eg:

class TestOperator2 {       
    public static void main(String[] args) {
        int a = 4, b = 5;
        System.out.println(a & b);   //机器编译时按二进制来进行操作    //结果:4
        System.out.println(a | b);   //结果:5
        System.out.println(a ^ b);   //结果:1
        System.out.println(~b);    //结果:-6

        //移位       <左移一位相当于乘以2;
        //           >右移一位相当于除以2。
        int c = 5 << 2;       //等价于 c= 5*2*2
        System.out.println(c);      //20
        System.out.println(40 >> 3);   //等价于40/2/2/2=5
    }
}

运行结果:

4
5
1
-6
20
5

Process finished with exit code 0

三目运算符eg:

class TestOperator4 {         
    public static void main(String[] args) {

        int score = 80;
        String a = score < 60 ? "不及格" : "及格";   //比 if else 更简洁
        System.out.println(a);

        int x = -100;
        int flag = x > 0 ? 1 : (x == 0 ? 0 : -1);
        System.out.println(flag);
    }
}

运行结果:

及格
-1

Process finished with exit code 0

字符串连接符 + eg:

class TestOperator3 {         
    public static void main(String[] args) {

        int a = 3, b = 4;
        System.out.println(a + b);   //7
        String x = "3";               //(字符串)使用双引号,char(字符)使用单引号
        int y = 4;
        System.out.println(x + y);   // 34   此时 + 为连接符,对比上个输出

        //条件是String,不是char,在char中:+依然是相加
        char c1 = 'h';
        char c2 = 'i';
        System.out.println(c1 + c2);    //结果为209,h为104,i为105,字符会被当做整数来运算
        System.out.println("" + c1 + c2);  //小技巧: 通过 ”“+ 使运算变为字符连接
    }
}

运行结果:

7
34
209
hi

Process finished with exit code 0
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值