运算符

作者: 浑水泡面 | 来源:发表于2020-04-18 00:12 被阅读0次

    运算符:对常量或变量进行操作的符号,叫做运算符
    表达式:用运算符将多个常量或变量连起来的式子,叫做表达式


    运算符分类

    1. 算术运算符
    2. 赋值运算符
    3. 比较运算符
    4. 逻辑运算符

    算术运算符
    +、-、*、/

    public class Operator {
        public static void main(String[] args) {
            System.out.println(10 + 20);
            
            int x = 10;
            int y = 20;
            System.out.println(x - y);
            
            System.out.println(x * y);
            
            //Java当中整数除法,只看商,不看余数
            int a = 10;
            int b = 3;
            System.out.println(a / b);
            
            //如果计算当中有小数参与,那么结果一定是小数
            int m = 10;
            double n = 3.0;
            System.out.println(m + n);
        }
    
    }
    

    取模运算
    %
    注意,只有对整数进行取模运算,才有数学当中“余数”的意义

    public class Operator {
    
        public static void main(String[] args) {
            int a = 10;
            int b = 3;
            System.out.println(a / b);
            System.out.println(a % b);
        }
    }
    

    字符串连接
    算术运算符中的“+”对于字符串来说,是连接的功能
    注意事项:

    1. 任何数据类型和字符串进行连接操作,结果都一定是字符串
    2. 字符串连接的时候,要注意先后顺序,优先级问题
    public class OperatorStr {
    
        public static void main(String[] args) {
            String str1 = "Hello";
            
            String str2 = str1 + "World";
            System.out.println(str2);
            
            String str3 = "Hello" + "Java" + "!";
            System.out.println(str3);
            
            String str4 = "Hello" + 30;
            System.out.println(str4);
            
            String str5 = "Hello" + 10 + 20;
            System.out.println(str5);
            
            String str6 = "Hello" + (10 + 20);
            System.out.println(str6);
        }
    }
    

    自增自减运算符
    自增运算符:++ 在变量原有的基础上,累加一个1
    自减运算符:-- 在变量原有的基础上,累减一个1
    使用格式

    1. 变量前:++num
    2. 变量后:num++

    使用方式

    1. 单独使用:自己独立成为一个步骤语句,不和其他任何操作混合
    2. 混合使用:和其他操作一起混合

    使用前和后两个使用方式区别

    1. 单独的时候,前++和后++没有任何区别
    2. 混合使用的时候,前++和后++存在区别
    • 如果是前++,那么变量立刻+1,然后拿着结果进行使用
    • 如果是后++,那么首先使用变量当前的本来数据,然后再进行+1操作

    注意事项

    1. 自增运算符和自减运算符,只能用于变量,不能用于常量
    public class OperatorAdd {
    
        public static void main(String[] args) {
            int num1 = 10;
            ++num1;
            System.out.println(num1);
            
            num1++;
            System.out.println(num1);
            
            System.out.println("====================");
            
            int num2 = 20;
            System.out.println(++num2);
            System.out.println(num2);
            
            System.out.println("====================");
            
            int num3 = 30;
            System.out.println(num3++);
            System.out.println(num3);
            
            System.out.println("====================");
            
            int x = 10;
            int y = 20;
            
            int result1 = x++;
            System.out.println(result1);
            System.out.println(x);
            
            int result2 = ++y;
            System.out.println(result2);
            System.out.println(y);
            
            System.out.println("====================");
            
            int a = 10;
            int b = 20;
            int result3 = ++a + b--;
            System.out.println(result3);
            System.out.println(a);
            System.out.println(b);
        }
    }
    

    赋值运算符

    1. 基本赋值运算符:= 将右侧的数据交个左边的变量进行存储
    2. 复合赋值运算符:
      +=、-=、*=、/=、%=

    注意事项
    1.赋值运算符只能左侧是一个变量,左侧不能是常量,右侧无所谓

    public class OperatorText {
    
        public static void main(String[] args) {
            int num1 = 10;
            num1++;
            num1++;
            num1++;
            System.out.println(num1);
            
            int num2 = 20;
            num2 += 5;
            System.out.println(num2);
            
            int a = 10;
            a %= 3;
            System.out.println(a);
            
            int var1 = 100;
    //      200 = 100; //错误写法,左侧不能是常量
    //      200 = 200; //错误写法
            int var2 = var1;
            System.out.println(var2);
        }
    }
    

    比较运算符
    分为:>、<、>=、<=、==、!=
    比较运算符结果一定是一个boolean值:成立true,不成立false

        public static void main(String[] args) {
            System.out.println(4 > 3);
            System.out.println(4 < 3);
            
            System.out.println("==============");
            
            System.out.println(10 >= 6);
            System.out.println(10 >= 10);
            System.out.println(10 >= 20);
            
            System.out.println("==============");
            
            System.out.println(10 <= 20);
            System.out.println(20 <= 20);
            System.out.println(20 <= 3);
            
            System.out.println("==============");
            
    //      System.out.println(4 = 5); //错误写法
            System.out.println(4 == 5);
            System.out.println(4 == 4);
            
            System.out.println("==============");
            
            System.out.println(4 != 5);
            System.out.println(4 != 4);
            
            System.out.println("==============");
            
            int a = 10;
            int b = 20;
            System.out.println(a == b);
            System.out.println(a != b);
            System.out.println(a <= b);
        }
    

    逻辑运算符
    &、|、^、!
    注意事项:

    1. 逻辑运算符通常用来连接多个布尔值
    2. 如果是两个布尔值进行连接:布尔值A & 布尔值B
    3. 如果是多个布尔值进行连接:布尔值A & 布尔值B & 布尔值C
    4. 如果是取反运算符,那么只能用于一个布尔值身上:!布尔值
        public static void main(String[] args) {
            System.out.println(true & true);
            System.out.println(true & false);
            System.out.println(false & false);
            
            System.out.println("=============");
            
            boolean a = true;
            boolean b = false;
            System.out.println(a & b);
            System.out.println(4 > 3 & 10 < 20);
            
            System.out.println("=============");
            
            System.out.println(4 > 3 | 10 > 20);
            System.out.println(4 > 3 | 10 > 5);
            System.out.println(4 < 3 | 10 < 5);
            
            System.out.println("=============");
            
            System.out.println(true ^ true);
            System.out.println(false ^ false);
            System.out.println(true ^ false);
            System.out.println(false ^ true);
            
            System.out.println("=============");
            
            System.out.println(true);
            System.out.println(!true);
            System.out.println(!false);
        }
    

    短路与:&&
    短路或:||
    短路:如果左侧已经可以判断到最终的结果,那么右侧将不再执行

        public static void main(String[] args) {
            System.out.println(3 < 2 & 10 < 20);
            System.out.println(3 < 2 && 10 < 20);
            System.out.println("============");
            
            int num1 = 100;
            System.out.println(3 > 10 && ++num1 < 200);
            System.out.println(num1);
            System.out.println("============");
            
            int num2 = 20;
            System.out.println(3 < 10 || ++num2 > 3);
            System.out.println(num2);
            System.out.println("============");
            
            int num3 = 300;
            System.out.println(3 > 10 || ++num3 < 1000);
            System.out.println(num3);
        }
    

    相关文章

      网友评论

          本文标题:运算符

          本文链接:https://www.haomeiwen.com/subject/ukbpvhtx.html