运算符

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


运算符分类

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

你可能感兴趣的:(运算符)