java笔记5----java运算符

java运算符

​ java提供了多种运算符,这些运算符除了数学上的运算,还可以进行逻辑运算、地址值的运算。

​ 常见的运算符包括算术运算符、关系运算符、逻辑运算符、三目运算符、赋值运算符。

​ 使用运算符进行运算时,注意运算符的优先级,先算什么再去算什么

  1. 算术运算符

    运算符解释
    +加法运算(字符串连接运算)
    -减法运算
    *乘法运算
    /除法运算
    %取模(取余)运算(两数相除取余数)
    ++自增运算
    自减运算

    四则运算:

    /**
     * @author hgw
     * @date 2022年01月15日9:53
     **/
    public class Test {
        public static void main(String[] args) {
            int num1 = 10 ;
            int num2 = 5 ;
            System.out.println(num1 + " + " + num2 + " = " + (num1 + num2));
            System.out.println(num1 + " - " + num2 + " = " + (num1 - num2));
            System.out.println(num1 + " * " + num2 + " = " + (num1 * num2));
            //当运算的过程中不存在浮点(单精度或者双精度)的话就可以理解为是整除运算
            System.out.println(num1 + " / " + num2 + " = " + (num1 / num2));
            System.out.println(10 + " / " + 3 + " = " + (10 / 3));
            System.out.println(10.0 + " / " + 3 + " = " + (10.0 / 3));
            System.out.println(10 + " / " + 3.0 + " = " + (10 / 3.0));
            System.out.println(11   + " % " + num2 + " = " + (11 % num2));
            //++自增 自增运算符在右边可以理解为是 num1 = num1 + 1 ,就是10 + 1之后等于11,把得出的11再次通过赋值号= ,赋值给了 num1
            System.out.println(++num1);  //num1 = 11
            System.out.println(num1);    //num1 = 11
            System.out.println("======");
            //演示 ++在数值右边
            System.out.println(num2);   //num2 = 5
            System.out.println(num2++); //num2 = 5  这不相当于只对数值进行了加操作,没对其进行赋值操作
            System.out.println(num2);   //num2 = 6
          	//--的话同理,略嘻嘻嘻
        }
    }
    
  2. 关系(比较)运算符

    比较运算符,用于判断表达式中的两值之间的关系,结果为Boolean布尔值,true或false

    >大于
    <小于
    >=大于等于
    <=小于等于
    !=不等于
    ==等于(判断两值是否相等)

    代码演示:

    /**
     * @author hgw
     * @date 2022年01月15日11:01
     **/
    public class Test2 {
        public static void main(String[] args) {
            int x = 5 ;
            int y = 6 ;
            int z = 6 ;
            System.out.println(x + "是否大于" + y + ":" + (x > y));
            System.out.println(x + "是否小于" + y + ":" + (x < y));
            System.out.println(y + "是否大于等于" + z + ":" + (y >= z));
            System.out.println(x + "是否小于等于" + z + ":" + (x <= z));
            System.out.println(x + "不等于" + z + ":" + (x != z));
            System.out.println(y + "不等于" + z + ":" + (y == z));
        }
    }
    
  3. 逻辑运算符

    &and与,全为true,结果才为true
    &&短路与,当发现一个为false不进行后面表达式的判断
    |or或,一个为true则为true
    ||短路or,当发现一个结果为true的时候,结果直接为true,不进行后面其他值的判断
    not非,取反,值为false结果为true,值为true结果为false

    代码演示:

    /**
     * @author hgw
     * @date 2022年01月15日11:39
     **/
    public class Test3 {
        public static void main(String[] args) {
            int x = 3 ;
            int y = 4 ;
            int z = 5 ;
            // &        两个表达式全为true,则结果为true
            // &&        两个表达式全为true,则结果为true
            boolean flag = ((y > x) & (z >y));
            boolean flag2 = ((x > y) && (z >y));
            System.out.println(flag);
            System.out.println(flag2);
            System.out.println("=======");
            //|     一个表达式为true,则结果为true
            //||    当发现一个结果为true的时候,结果直接为true,不进行后面其他值的判断
            boolean flag3 = ((x > y) | (z >y));     // false | true 有一个为true 则结果为true
            boolean flag4 = ((y > x) || (z >y));    // 第一个表达式为true, 不进行后面的比较 ,结果直接为true
            System.out.println(flag3);
            System.out.println(flag4);
            System.out.println("=======");
            boolean flag5 = !(x > y);               //x > y 为false  取反,结果为true
            System.out.println(flag5);
        }
    }
    
  4. 赋值运算符

    =赋值
    +=加等于
    -=减等于
    *=乘等于
    /=除等于
    %=取余等于
    /**
     * @author hgw
     * @date 2022年01月15日13:08
     **/
    public class Test4 {
        public static void main(String[] args) {
            int count = 2 ;
            int sum = 0 ;
            // sum = sum + count ;
            System.out.println(sum + " + " + count + " = " +  (sum + count));   //count =2  sum = 0
            //   同理sum = sum + count ; ==     sum += count
            System.out.println(sum += count);       //count = 2 sum = 2
            System.out.println("=======");
            System.out.println(sum + " - " + count + " = " +  (sum - count));   // sum = 0 count = 0
            System.out.println(sum -= count);       //  -2  sum - count = sum
            //其余 *= /= %= 同上
        }
    }
    

  5. 三目运算符

    /**
     * @author hgw
     * @date 2022年01月15日13:46
     **/
    public class Test5 {
        public static void main(String[] args) {
            String userName = "admin";
            String password = "root";
            System.out.println("三目运算:");
            if (userName.equals("admin") && password.equals("root")) {
                System.out.println("用户名密码正确!");
            }
            System.out.println("========");
            //三目运算符可以减少如上面的判断逻辑编写
            // 数据类型 接收变量 = 关系判断 ? 符合判断条件(true):不符合判断条件
            System.out.println(userName =="admin" && password =="root" ? "用户名密码正确" : "用户名或者密码有误!");
        }
    }
    

  6. 位运算符

    Java 提供了 4 种位运算符

    位与运算符(bitwise and operator):&
    位或运算符(bitwise inclusive or operator):|
    位异或运算符(bitwise exclusive or operator):^
    位取反运算符(bitwise invert operator):~

    这些运算符是在二进制补码上进行操作

    示例

    
    public static void main(String[] args) {
    	byte a = 15;
    	byte b = -15;
    
    	System.out.println(a & b);
    	System.out.println(a | b);
    	System.out.println(a ^ b);
    	System.out.println(~a);
    	System.out.println(~b);
    }
    
  7. 运算符的优先级

    在运算的时候注意下优先级

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值